`
lantian_123
  • 浏览: 1368217 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

每日一Vim(6)常用命令总结

 
阅读更多

每日一Vim(6)

程序员应该知道的100个Vim命令(上)

自从70年代起,Vi就是程序员最好的朋友之一既是你是Vi菜鸟都无所谓,这里为你准备了100条实用的命令列表,以主题的形式组织,他们能让你的代码生活更美好。今天就来点纯练手的东西吧,以后再每个专题说说

基本命令

:e filename   打开文件编辑
:w    保存
:q    退出Vim
:w!    保存文件退出Vim

搜索

/word    从顶部往底部搜索word
?word    从底部往顶部搜索word 
/jo[ha]n       搜索john或joan
/\< the        搜索the或theatre 或then(只要是the开头就行)
/the\>         搜索the或breathe(只要是the结尾就行)
/\< the\>      只搜索the
/\< ....\>     搜索长度为4个字符的字符串
/\<fred\>      搜索fred,alfred 或者 frederick都不能匹配
/fred\|joe     搜fred或joe
/\<\d\d\d\d\>  搜索4位数字的字符串
/^\n\{3}       查找3个空行的地方
:bufdo /searchstr/    在所有打开的(缓冲区)文件中搜索searchstr
:bufdo %s/pattern/replace/ge | update   所有文件中替换

替换

:%s/old/new/g          用new替换文件中出现的所有old
:%s/old/new/gc         与上面这条的作用一样,只不过每替换一个就要确认一次
:2,35s/old/new/g       用new替换2到35行的new
:5,$s/old/new/g        替换4行之后所有old
:%s/^/hello/g          用hello替换所有行首,相当于在行首插入hello
:%s/$/Harry/g          在所有行末加入Harray
:%s/onward/forward/gi  用forward替换onward,忽略大小写
:%s/ *$//g         删除所有行末的空格
:%s/^ *//g         删除所有行首的空格
:g/string/d        删除所有出现有string的行
:v/string/d        删除所有不包含string的行
:s/Bill/Steve/     用Steve替换当前行首次出现的Bill
:s/Bill/Steve/g    用Steve替换当前行出现的所有Bill
:%s#<[^>]\+>##g    删除所有HTMl标签,保留文本
dit   保留当前行html标签,删除文本
:%s/^\(.*\)\n\1$/\1/    Delete lines which appears twice
Ctrl+a    递增当前光标出的数字
Ctrl+x    递减当前光标处的数字
ggVGg?    将全文转换为rot13码,这是一种简单暗号语Rot13,重复执行此命令回复原样

大小写

Vu    当前行转换为小写
VU    当前行转换为大写,当然对中文无效
g~~    大小写置换
vEU    选择性的转换为大小,从光标起始处到
vE~    也是将选中的大写转小写,小写转大写。
ggguG    全文小写,其实我们可以拆分3个命令gg/gu/来记忆
:set ignorecase    搜索时忽略大小写
3
1
分享到:
评论
4 楼 isensen 2013-03-15  
lantian_123 写道
isensen 写道
1. :%s#<[^>]\+>##g         删除所有HTMl标签,保留文本
2. dit                     保留当前行html标签,删除文本
3. :%s/^\(.*\)\n\1$/\1/    Delete lines which appears twice

能解释一下这三个吗?
1. $ 代表全文, s 替换 #井号代表什么? 还有< [什么的, 也不是:s/old/new 格式了啊
2. 不明白 ...试也不知道怎么试
3. 正则有点腿.能解释一下么

嗯,不好意思,基本上命名都没附上解释,以后的章节会详细介绍其语法。

1. 语法 :[range] s/search/replace/[flags] [count]也可以是
        :[range] s#search#replace#[flags] [count],%s指全局替换,“<”指html了向左的标签如"<body>"中的"<","[^>]"指非">"的单个字符,“<[^>]”可以匹配:"<h","<a",但是不能匹配"<>","\+>"指1到多个>字符。##相当于//,也就是替成空白。这条命令也可以简写为::%s/<[^>]*>//g

2.可能是vim的设置或版本问题,我另一电脑也没效果。我之后在查查

3. \(.*\)代表分组的意思,"\"是用来转义的,第一对()中的内容就是用\1表示,,如果还有第二对()就是,\2”。/^\(.*\)\n\1$“此命令中出现\1也就是说重复前面的^\(.*\)\n,这样就代表出现重复的行了,然后在用一行的内容来代替这两行。此命令要先执行:sort才生效

讲的很详细.正则有点头疼.这东西.得经常用才行.:sort没有用过.期待以后详解.每天都来看看.
3 楼 lantian_123 2013-03-15  
isensen 写道
1. :%s#<[^>]\+>##g         删除所有HTMl标签,保留文本
2. dit                     保留当前行html标签,删除文本
3. :%s/^\(.*\)\n\1$/\1/    Delete lines which appears twice

能解释一下这三个吗?
1. $ 代表全文, s 替换 #井号代表什么? 还有< [什么的, 也不是:s/old/new 格式了啊
2. 不明白 ...试也不知道怎么试
3. 正则有点腿.能解释一下么

嗯,不好意思,基本上命名都没附上解释,以后的章节会详细介绍其语法。

1. 语法 :[range] s/search/replace/[flags] [count]也可以是
        :[range] s#search#replace#[flags] [count],%s指全局替换,“<”指html了向左的标签如"<body>"中的"<","[^>]"指非">"的单个字符,“<[^>]”可以匹配:"<h","<a",但是不能匹配"<>","\+>"指1到多个>字符。##相当于//,也就是替成空白。这条命令也可以简写为::%s/<[^>]*>//g

2.可能是vim的设置或版本问题,我另一电脑也没效果。我之后在查查

3. \(.*\)代表分组的意思,"\"是用来转义的,第一对()中的内容就是用\1表示,,如果还有第二对()就是,\2”。/^\(.*\)\n\1$“此命令中出现\1也就是说重复前面的^\(.*\)\n,这样就代表出现重复的行了,然后在用一行的内容来代替这两行。此命令要先执行:sort才生效
2 楼 宋建勇 2013-03-15  
nice 正好在学...
1 楼 isensen 2013-03-15  
1. :%s#<[^>]\+>##g         删除所有HTMl标签,保留文本
2. dit                     保留当前行html标签,删除文本
3. :%s/^\(.*\)\n\1$/\1/    Delete lines which appears twice

能解释一下这三个吗?
1. $ 代表全文, s 替换 #井号代表什么? 还有< [什么的, 也不是:s/old/new 格式了啊
2. 不明白 ...试也不知道怎么试
3. 正则有点腿.能解释一下么

相关推荐

    vim常用命令总结

    ### vim常用命令总结 #### 一、概述 `vim`是一款功能强大的文本编辑器,在Linux环境中广泛使用。本文档旨在总结`vim`编辑器中常用的命令,这些命令可以帮助用户高效地进行文本编辑工作。总结包括查找命令、修改...

    Vi、vim 常用命令总结

    ### Vi、vim 常用命令总结 #### Vim环境初始化 在Linux环境下,Vi和Vim编辑器的个性化设置可以通过创建并编辑`.vimrc`文件实现。该文件通常位于用户的主目录下,即`$HOME/.vimrc`。通过设置`.vimrc`,可以调整编辑...

    VIM命令总结VIM命令总结

    VIM命令总结VIM命令总结VIM命令总结VIM命令总结VIM命令总结VIM命令总结VIM命令总结VIM命令总结

    VIM常见命令总结vim常见命令总结

    以下是对VIM常见命令的详细总结: 1. **启动与退出** - `vim filename`:启动VIM并打开指定的文件。 - `:q`:在正常模式下退出,如果未保存修改,VIM将拒绝退出。 - `:q!`:强制退出,不保存任何修改。 - `:wq`...

    VIM常用命令大全

    本文档旨在详细介绍VIM中的常用命令,帮助用户更高效地使用这一工具。 #### 二、光标控制命令 光标控制是VIM中最基础的功能之一,熟练掌握这些命令能够极大提高编辑效率。 - **h**: 向左移动一个字符。 - **j**: 向...

    vim常用命令速查表

    vim常用命令速查手册,是png图片格式的,使用方便。

    一张图记住 Vim 常用命令

    本来不算写 Vim 使用教程的,因为我想网上应该会有很多,然后我去搜了一下看到别人写的好丑好乱啊,于是... 跳至指定行4、Last line mode下命令简介A) 列出行号B) 跳到文件中的某一行C) 查找字符D) 保存文件E) 离开 Vim

    Vim常用命令汇总

    常用的Vim命令,分类汇总了一下。可以打印出来作为一张表,记不住的就查一下。相比那么多的教程之类的,这个方便多了。记住了这个就相当于熟练掌握了Vim,剩下的就是多练习。

    vim常用命令.txt

    ### vim常用命令知识点详解 #### 一、简介 在Linux环境下,`vim`(Vi IMproved)是一款功能强大的文本编辑器,它源自于早期的`vi`编辑器,并在此基础上进行了大量的改进与增强。`vim`支持命令模式、插入模式以及...

    VIM命令VIM命令VIM命令

    VIM工具命令的使用。VIM工具命令的使用。VIM工具命令的使用。

    Linux vim常用命令

    供IC设计者或使用Linux系统做项目,使用vim语句打开或编辑文件,入门以及总结学习使用

    linux vim 命令 总结

    Linux下的ViM编辑器是一款强大的文本编辑工具,其全称为Vi Improved,是经典的Vi编辑器的增强版本。ViM在shell环境下使用,适用于系统管理和日常编程任务。通过掌握ViM的基本命令和操作模式,可以极大地提升Linux...

    Vim常用命令详细汇总(全)

    vim常用命令 我汇总的一些vim常用的指令和按键操作,和一些NERDTree菜单插件的命令,尤其是NERDTree,这个vim插件装上之后,感觉完全可以把vim当IDE来用,实在是我辈码农的装逼利器。 1. 功能指令 按键 解释 ...

    linuxvim常用命令总结_awesome-linux-command.zip

    linuxvim常用命令总结_awesome-linux-command

    vim最常用快捷键总结

    经过多次总结补充的常用vim快捷操作,全部为常用操作

    FreeBSD Vim 常用命令

    FreeBSD Vim 常用命令 很好的资源

Global site tag (gtag.js) - Google Analytics