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