###《VIM实用技巧》

###《VIM实用技巧》

#@author:       gr
#@date:         2015-11-20
#@email:        forgerui@gmail.com

《VIM实用技巧》阅读笔记。

1. 使用>, <进行缩进

>G    #从当前行缩进到最后一行
v >   #利用v选中需要缩进的行,然后缩进

2. f行内快速定位

要在一行内快速移动到某个字符,使用f。

f+    #定位到本行中的+

使用;定位下一个,,定位上一个。

3. s

s命令可以删除当前字符,并切换到编辑模式。
S命令可以删除当前行,并切换到编辑模式。
C = c$,删除当前行所在字符以后的所有字符。

4. aw

dwcw都只能删除当前字符到单词最后,使用dawdcw可以删除整个字符,并且会把前面的空格也删除。

5. global

  1. :g/{pattern}/ [cmd]

     :g/^\s*$/ d    #删除空格行
    
  2. :g/{pattern}/ [range] [cmd]

     :g/{/ .+1, /}/-1 sort    #对大括号里内容进行排序
    

6. 自动补全

<C-n> 上一条
<C-p> 下一条

7. 可视区

gv选中上一次的选中可视区。'<, '>也表示上一次选中区。

:'<, '> d

8. 大小写转换

gU变大写
gu变小写
g~大小写互换

9. 寄存器

":默认寄存器
0:复制专用寄存器
+:系统寄存器

与系统进行复制。

"+y    //复制内容到系统寄存器
"+p    //粘贴系统寄存器内容

其它寄存器:
"%:当前文件名
"/:上次查找的模式

10. set paste

当用系统寄存器粘贴时,由于autoindent会导致许多缩进,这时使用set paste选项就可避免,粘贴完使用set nopaste关闭即可。

11. 跳转

'a:单引号跳转到行
``a`:跳转到具体单词

<C-o>:返回到上一条位置

12. 行间移动

w:下一个单词开头
b:上一个单词开头
e :下一个单词结尾
ge:上一个单词结尾

f:查找下一个字符
t:查找上一个字符

13. 文件状态

<C-g>查看当前文件状态。

14. 用root用户保存

:w !sudo tee %

15. 文件系统

:e ../ #打开上层目录
:E  #打开当前目录
- #返回上层目录

16. 自动补全

<C-d>:自动补全,忘记命令时可以使用自动补全查看候选项

set exp<C-d>

17. :t:m

copy简写为tmove简写为md删除。

:[range] copy {address}
:6copy.  # 把第6行复制到当前行
:10,$ m . # 把第10行到最后一行内容移动到当前行

18. 执行上次Ex命令

@:执行上次Ex命令

19. 插入模式执行命令

在插入模式中,如果不想退出,当前行显示在屏幕中央,可以<C-o> zz

插入模式中,用<C-r>寄存器输入寄存器的内容。用<C-r>=做运算。

posted @ 2016-08-08 12:57  bairuiworld  阅读(243)  评论(0编辑  收藏  举报