光标移动:
h,j,k,l 左,下,上,右
ctrl+f 往后翻一页
ctrl+b 往前翻一页
w 移动到下个单词
e 移至单词的末尾
b 移至单词的头部
l 移动一个字符的宽度
(这四个命令前都可选择加'n',表示移动n个单位)
0 移至行头(注意这里是数字的0哦~)
$ 移至行尾
* 往后查找光标停留位置相同的单词
# 往前查找光标停留位置相同的单词
% 跳到与当前光标所在括号匹配的括号处(匹配的括号如[],{},())
gg 跳至文件的第一行
G 跳至文件的最后一行
gd 跳至当前光标所在的变量的声明处
:n或者nG 这两个命令都可以跳至第n行,:n命令需要回车
文本编辑:
rc 替换光标所在的字符为'c'
x 删除光标处字符
X 删除光标左边的字符
o/O 在行后/行前插入新的一行,并自动切换到insert模式(注意这里是字符o)
~ 当前字符切换大小写
dd 删除光标所在行
dw 删除当前的单词,dnw就是删除当前及之后的n个单词
D 删除当前字符至行末的内容
yy 复制当前行,前面可加'n',表示复制n行
p 粘贴
. 重复上次操作
u 撤销
/pattern或者?pattern 在全文中查找匹配pattern的字符串,之后可用n/N使光标在查找结果中来回切换
保存退出:
:w 保存内容
:w! 强制保存内容
:q 退出vim,不保存(如果文档打开后被修改过则此条命令不能运行)
:q! 强制退出vim
:x或者:wq 保存退出
另外,
1. 按'v'进入可视化模式,选择块区域之后,
= 将选中的块区域的代码进行自动缩进
:vs file2 横向增加一栏,显示file2的内容,用ctrl+ww可使光标在两个文档间来回切换,可增加多个文档同时查看
2.标红的命令是博主认为对写代码调试程序比较重要的几条命令
3. 在命令行下(即没有进入vim时),用命令 vimdiff file1 file2 可查看file1和file2文档中不同的地方
比如有两个文档sharon.cpp和liu.cpp,内容如图
其中只有两行代码不一样。在命令行下输入:
可以看到结果为:
将内容不一致的标识出来了。
在左边文件liu.cpp中,将光标移至int i=0;这一行,输入命令dp,就会将这一行拷贝到另一个文件中。结果为
在左边文件中将光标移至和右边文档比缺少内容的这一行,输入命令do,就会将另一个文件中相应内容拷到当前文件中来,保持一致。
今天总结的vim常用命令就是这些啦~~后续碰到经常用的还会陆续补充。