转载请注明:http://blog.youkuaiyun.com/fuqiangnxn/article/details/53976769
游标控制
w:向后移动一个单词
b:向前移动一个单词
e:向前移动一个单词,且游标指向单词的末尾
0:移到当前行的首部
$:移到当前行的尾部
H:移动到当前屏幕的首部
M:移动到当前屏幕的中部
L:移动到当前屏幕的尾部
nH:移动到当前屏幕首部下的n行
nL:移动到当前屏幕尾部上的n行
Ctrl+F:移动到下一屏
Ctrl+B:移动到上一屏
gg:移动到第一行
G:移动到最后一行
nG:移动到n行
:n:移动到n行
查找字符
/text:向下搜索text
ctrl+*:向下搜索高亮的text
/:重复上次的搜索的内容向下搜索一次
n:重复上次的搜索的内容向下搜索一次
N:重复上次的搜索的内容向上搜索一次
内容编辑
i:游标前插入内容
a:游标后插入内容
esc:退出编辑模式
cc:删除游标所在的行,然后进入编辑模式
C:删除从游标所在的位置到行尾的字符,然后进入编辑模式
dd:删除当前行
ndd:删除当前行开始的n行
D:删除当前行游标所在的位置后面的字符
dw:删除游标所在的字符
d^:删除游标前到行首的字符
d$:删除当前行游标所在的位置后面的字符
dL:删除从游标到屏幕的最后一行之间的内容
x:向后删除游标所在位置的字符
X:向前删除游标前面的字符
~:反转字母的大小写
:r file:在游标后面插入文件
复制与粘贴
p:在游标后面插入buffer中的内容
yy:拷贝当前行
nyy:拷贝当前行到n行的内容
yw:拷贝当前word
保存与退出
w:保存文件
w file:保存文件内容到fie中
q:退出文件
q!:强制退出文件,不进行保存
wq:保存并退出文件
x:保存并退出文件,在某些系统上与wq有不同点
:n1,n2w file:把n1行到n2行间的内容写到文件file
:n1,n2w >> file:把n1行到n2行间的内容追加到文件file
撤销与反撤销
u:撤销最后的改变
ctrl+R:回复撤销的内容
批量注释步骤
1.ctrl+v:进入可视化模式
2.鼠标上下移动,选中多行开头
3.按住大写键I,进入insert摸索
4.输入#
5.最后按esc,多行代码已经被注释
字符串替换(注意以下替换并非完全匹配,若是str3包含str1,则str1部分也会被替换)
:s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1
:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1
:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1(1可换成n为第n行,换成.为当前行)
:1,$s/^M//g 去除文件中的所有^M
注,其中”^M”的输入,分别是“Ctrl+v”、“Ctrl+M”键生成的
设置及取消行号
:set nu:设置行号
:set nonu:取消行号
操作多行
gg #到文件首
ctrl+v #可视块模式
999j,2l #注意是小写的J和L(方向键向下和向右也可以)
d #删除
vim设置代码文件注释换行不自动添加注释
linux下,打开/etc/vimrc,末尾加入一行:
au FileType c,cpp setlocal comments-=:// comments+=f://
只是设置成这样,注释换行下一行会默认有一个缩进,这样代码都乱了,需要再添加一行:
set paste
windows 格式替换成linux
:set fileformat=unix