Vim - AnneBlog/bugMaster GitHub Wiki

1. vim配置

set nu   
set hlsearch  

set autoindent  
set smartindent  
set expandtab   
set tabstop=4  
set shiftwidth=4  
set softtabstop=4  

set autochdir 
set tags=tags; 

syntax on  
" set vim-latex  http://vim-latex.sourceforge.net/documentation/latex-suite/recommended-settings.html  

2. 编辑命令

i     在光标之前插入字符  
a     在光标之后插入字符 append  
s     在当前光标插入字符(按下s后,当前字符被删除)substitution  
A     在一行的结尾处插入字符  
I     在一行的开头插入字符    
o     在光标所在位置的下一行打开新行插入字符  
O     在光标所在位置的上一行打vim 开新行插入字符  

3. 复制命令

yw       复制一个word  
nyw      复制n个world  
yy       复制光标所在的整行  
nyy      复制从光标所在行起共n行  
y^       复制从光标字符至行首  
y$       复制从光标字符至行尾  
yG       复制从光标字符至文档尾  
y1G      复制从光标字符至文档首  
ctrl+v   复制块  
v+方向键  任意复制字符  

4. 粘贴命令

p(小写)  粘贴在光标后面  
P(大写)  粘贴在光标前一行  

5. 删除命令

x         删除光标之后的一个字符  
X         删除光标之前的一个字符  
dw        删除到下一个单词开头  
de        删除到本单词末尾  
dE        删除到本单词末尾,包含标点符号  
db        删除到前一个单词  
dB        删除到前一个单词,包含标点符号  
dd        删除一整行  
d$        删除光标位置到本行结尾  
d0        删除光标位置到本行开头  
ndd       删除光标位置之后的n整行  

6. 恢复命令

u         撤销上次命令  
ctrl+r    重做

7. 查找命令

/something  在后面的文本中查找something  
?something  在前面的文本中查找something  
/pattrern/+num   将光标停在包含pattern的行后面第num行上  
/pattrern/-num   将光标停在包含pattern的行前面第num行上  
n                向后查找下一个
N                向前查找下一个

8. 替换命令

:s/old/new/      替换当前行第一个old为new  
:s/old/new/g     替换当前行所有old为new  
:s/old/new/gc    以询问方式替换当前行所有old为new  
:n,$s/old/new/   替换第n行之后所有行第一个old为new  
:n,$s/old/new/g  替换第n行之后所有行所有old为new  

9. 移动命令

整行移动
0               移动到行首
$               移动到行末
+               移动到下一行开头
-               移动到上一行开头

滚屏
ctrl+f          往前滚动一整屏forward
ctrl+b          往后滚动一整屏backward
ctrl+u          往前滚动半屏
ctrl+d          往后滚动半屏

跳转指定行  
n+G             跳转至n行  
gg              跳转至第一行    
G               跳转至最后一行  

10. 保存

w              保存但不退出write
q              退出quit
wq             保存且退出

11. 有效范围

如果不指定range,则表示当前行  
m,n: 从m行到n行  
0: 最开始一行(可能是这样)  
$: 最后一行  
.: 当前行  
%: 所有行  

12. 多行注释

ctrl+v  方向键选择多行->I->#->ese  

13. vim取消备份文件

cp /usr/share/vim/vim74/vimrc_example.vim /usr/share/vim/vim74/.vimrc.vim  
vim /usr/share/vim/vim74/.vimrc.vim  
查找backup并注销   "else  
                  "set backup  
                  "set undofile  

14. 统计单词数量

:0,$s/word/&/gn