MAC + LINUX + VIM + GIT + Latex + Markdown程序员

vim常用的技巧

2017-06-20  本文已影响89人  xyyquier

一、多行注释与多行取消

 多行注释

a). 进入命令行模式,按ctrl + v进入 visual block模式(可视快模式),然后按j, 或者k选中多行,把需要注释的行标记起来

b). 按大写字母i,再插入注释符,例如//

c). 按esc键就会全部注释了(我的是按两下)

取消多行注释:

a). 进入命令行模式,按ctrl + v进入 visual block模式(可视快模式),按小写字母L横向选中列的个数,例如 // 需要选中2列

b). 按字母j,或者k选中注释符号

c) . 按d键就可全部取消注释

二、查找字符或者字符串

普通查找

命令模式下,/ (向前(下)) 或者 ? (向后(上)) ,输入字符串,Enter

取消查找后字符串的高亮显示  :st noh

全词匹配

如果你输入 “/str”,你也可能找到 “strcmp 、strncmp”等。

要找到以 “str” 结尾的单词,可以用:/str\>

“\>” 是一个特殊的记号,表示只匹配单词末尾。类似地,”\<” 只匹配单词的开头。

一次,要匹配一个完整的单词 “str”,只需:/\< str\>

 vim 查找默认是区分大小写的。

如果不区分大小写,输入: set ignorecase

恢复区分大小写,输入:: set noignorecase

三、匹配、跳转

1. % 光标移到括号上面,然后按 shift+% 就能够跳转到相配对的括号

2. gD 跳转到局部变量的定义处

3. gg 跳转到开头

4. G 跳转的末尾

5. 0 跳转至行首

6. $ 跳转至行尾

7. ^ 跳转至行第一个非空字符

8. >增加缩进,"n>"表示增加以下n行的缩进

 9. <减少缩进,"n<"表示减少以下n行的缩进

四、vim辅助设置

1. :set num 显示行号

2. :set list 显示空格、换行符等

五、多行复制

命令行模式下输入 :2,5 co 9

复制第2行到第5行之间的内容到第9行后面。

六、多行删除

方法<一> :

          光标所在行,dd

         光标所在行以下的N行,Ndd

         dG删除当前行至最后一行

方法<二> :

         单行删除,:1(待删除行)d

         多行删除 ,:1,9d

七、替换字符串 【可以与字符串匹配技巧使用】

vim中字符串的替换:

a):s/Replaced/ToBeReplaced/ 替换当前行第一个 Replaced 为 ToBeReplaced

b):s/Replaced/ToBeReplaced/g 替换当前行所有 Replaced 为 ToBeReplaced

c):n,$s/Replaced/ToBeReplaced/ 替换第 n 行开始到最后一行中每一行的第一个 Replaced 为 ToBeReplaced

d):n,$s/Replaced/ToBeReplaced/g 替换第 n 行开始到最后一行中每一行所有 Replaced 为 ToBeReplaced

e):%s/Replaced/ToBeReplaced/(等同于 :g/Replaced/s//ToBeReplaced/) 替换每一行的第一个 Replaced 为 ToBeReplaced

f):%s/Replaced/ToBeReplaced/g(等同于 :g/Replaced/s//ToBeReplaced/g) 替换每一行中所有 Replaced 为 ToBeReplaced

八、查找字符串出现次数

在所有行中查找string出现的次数

:%s/string/&/gn

在m和n行之间查找 string 出现的次数

:m,ns/string/&/gn

九、 把外部文件读入 Vim

 Vim 中读取另一个文件的内容非常方便。切换到正常模式,然后按 :read。使用此快捷键你不需要手动打开文件来复制内容。

:read test.txt

十、 把命令的结果读入 Vim

切换到正常模式,然后输入 :read !command 即可把 command 的结果输入到 vim 中。

十一、切换到上次修改的位置

切换到正常模式,输入 g; 来即可切换到上次修改的位置。

后续使用其他技巧继续补充!

十二、vim 自动补全+ ctags

ctrl + N 

外层目录下 ctags -R * , 会生成tags文件,vim 打开code文件,:set tags = ${path}/tags , ctrl + ] 可以跳转到固定的函数定义,ctrl + t 返回上一个ctrl + ] 处。

上一篇 下一篇

猜你喜欢

热点阅读