持续更新vim命令

复制操作:

单行复制命令:
yy : 复制当前整行的内容到vi缓冲区

多行复制命令:
1.nyy : 复制当前行到第n行的内容到vi缓冲区
2. 命令模式下输入a ,by  :复制a行到b行的内容到vi缓冲区
3. 命令模式下输入a, b co c : 复制从a 行到b行的内容到c行的后面
4. 光标移到其实行,输入ma,光标移到结束行,输入mb,光标移到粘帖行,输入mc,然后在命令行里面输入 'a, 'b co 'c
     (把co改成m就成了剪切)

复制单词:
yw: 复制当前光标所在位置到单词尾字符的内容到vi缓存区,相当于复制一个单词
nyw: 复制n个单词

y$复制光标所在位置到行尾内容到缓存区
y^复制光标所在位置到行首内容到缓存区


撤销命令:
u : 取消最近一次的操作,可以使用多次来恢复原有的操作
U : 取消所有操作
Ctrl+R : 可以恢复对使用u命令的操作


删除操作(命令模式使用):
x删除光标处的单个字符
dd删除光标所在行
dw删除当前字符到单词尾包括空格的所有字符
#x例如3x删除光标处向右的三个字符
#dd例如3dd从当前行开始向下删除三行文本

查找命令:
至上而下的查找:
/ 要查找的字符窜,其中/代表从光标所在位置起开始查找,例如:/ work

至下而上的查找:
?要查找的字符窜 例如:? work

替换:
:s/old/new用new替换行中首次出现的old
: s/old/new/g 用new替换行中所有出现的old
:#,# s/old/new/g用new替换从第#行到第#行中出现的old
:% s/old/new/g用new替换整篇中出现的old
如果替换的范围较大时,在所有的命令尾加一个c命令,强制每个替换需要用户进行确认,例如:s/old/new/c 或s/old/new/gc



vim中非常好用的命令:
% :跳转到配对的括号去
[[ : 跳转到代码块的开头去(但要求代码块中'{'必须单独占一行)
gD : 跳转到局部变量的定义处
'': 跳转到光标上次停靠的地方, 是两个', 而不是一个"
mx : 设置书签,x只能是a-z的26个字母
`x : 跳转到书签处("`"是1左边的键)
>+空格 : 增加缩进,"x>"表示增加以下x行的缩进
<+空格 : 减少缩进,"x<"表示减少以下x行的缩进

猜你喜欢

转载自usherock.iteye.com/blog/1672686