v 按字符行选择
V 按行选择
Ctrl + v 按列选择
ggVG 全选 gg 表示跳转到文档开始,V表示按行选择,G表示跳转到文档结尾
y 将选择的文本复制到粘贴板中
p 将粘贴板中的内容粘贴到文档光标后
P 将粘贴板中的内容粘贴到文档光标前
yy 表示复制当前行
d 删除 并且将删除的内容放到粘贴板中
3p 表示执行3次粘贴
yw 复制当前单词
x 删除一个字符
dd 删除一行
J 两行合并为一行
u 撤销
ctrl + R 重做(和u是反动作)
. 重复做你修改的
diw 删除当前光标所在的word(不包括空白字符)
daw 删除当前光标所在的word(包括空白字符)
dgg 删除当前行到文档开始的内容
dG 删除当前行到文档结束的内容
i 当前光标插入编辑文本
a 当前光标后插入编辑文本
o 当前光标行后新插入一行编辑文本
O 当前光标前新插入一行编辑文本
ZZ 保存退出
:x 保存退出
:wq 保存退出
:q! 不保存退出
:q 退出
:e! 放弃所有修改重新加载原始内容
w 按单词向下移动光
71D0
b 按单词向上移动光标
e 光标移动到单词的最后一个字符
$ 光标移动到行未
^ 光标移动到非空白行首
0 光标移动到行首
gg 文档首行
G 文档结尾行
h 光标向左一个字符
l 光标向左一个字符
k 光标向上移动一行
j 光标向下移动一行
M 光标移动到屏幕中间行
fx 在当前行查找下一字符x
Fx 在当前行查找上一字符x
tx 在当前行查找下一字符x,当光标停留在x字符前一个字符
Tx 在当前行查找上一字符x,当光标停留在x字符下一个字符
% 括号匹配跳转( 小括号) [中括号] {大括号}
10% 光标移动文档10%处
30% 光标移动文档30%处
50% 光标移动文档50%处
70% 光标移动文档70%处
90% 光标移动文档90%处
H 屏幕首行
M 屏幕中间行
L 屏幕尾行
ctrl + u 屏幕向上滚动半屏幕
ctrl + d 屏幕向下滚动半屏幕
ctrl + e 屏幕向下滚动一行
ctrl + y 屏幕向上滚动一行
ctrl + f 屏幕向下移动一个屏幕
ctrl + b 屏幕返回移动一个屏幕
zz 使当前行移动到屏幕中间
zt 使当前行移动到屏幕顶端
zb 使当前行移动到屏幕底端
`` 跳到刚才出发的地方
ctrl + o 跳转至光标更早停了的地方
ctrl + i 跳转到光标更新的地方
ma 将光标所在位置子定义标记,m表示marks意思,a-z 26个字母表示位置,
'a 表示跳转到标记a的行首
·a 表示跳转到标记a的精确位置
:marks 查看标记列表
ctrl + g 屏幕下面显示光标所在的行及所在文档百分比等信息
:set number 让文档显示行号
:set nu 让文档显示行号
:set nonumber 取消文档显示行号
:set nonu 取消文档显示行号
:set ruler 屏幕右下角显示光标位置
:set noruler 取消屏幕右下角显示光标位置
/string 查找string字符串
n 表示查找下一个
N 表示查找上一个
?string 查找string字符串
n 表示查找上一个
N 表示查找下一个
/the\> 查找the 按单词结尾进行匹配 可以匹配 “the“,"anguthe" 但不能匹配”there“
/\<the 查找the 按单词开始进行匹配 可以匹配 “the“,"there" 但不能匹配”anguthe“
/\<the\> 查找the 按单词开始进行匹配 只匹配”the“单词,不能匹配到”anguthe“,”there“
:set ignorecase 忽略大小写
:set noignorecase 不忽略大小写
:set hlsearch 高亮查找
:set nohlsearch 取消高亮查找
c 改变文本
cw 改变一个单词,即先先删除该单词并在光标位置改为插入模式
cc 改变当前行
c$ 改变到行尾
x ==> dl
X ==> d$
C ==> c$
s ==> cl
S ==> cc
r 替换单个字符
4r 不四个字符替换为一个字符
:edit foo.txt 编辑另一个文档
:e foo.txt 编辑另一个文档 缩写
vim one.c two.c three.c 编辑使用
:next 或:n 表示编辑下一文档
:wnext 或:wn 表示编辑上一个文档
:args 显示正在编辑当前文档名称
:args five.c six.c seven.c 表示还需要编辑这三个文件
:previous 或 :prev 表示回到上一个文件
:wprevious 或 :wprev 表示回到上一个文件 合并保存
:last 移动到最后一个文件
:wlast 保存当前文档并移动到最后一个
:first 移动到第一个文件
:wfirst 保存当前文档并移动到第一个
:set autowrite 或 :set aw 表示自动把内容写回到文档中
ctrl + ^ 切换文档
ctrl + w 切换文档
vim -R file 只读打开
vim -M file 只读打开
:sav(eas) move.c 将现有的文档存储为新的文件
:f(ile) move.c 改变当前正在编辑的文件名,但不保存该文件
:split 上下分割窗口,用 ctrl + w切换窗口
:vsplit 左右分割窗口,用 ctrl + w切换窗口
:new 在当前上新建一个窗口
:vnew 在当前窗口左新建一个窗口
:close 关闭窗口,但不能关闭最后一个窗口
:only 关闭除当前窗口外的所有窗口
ctrl + wh 移动到左边窗口
ctrl + wj 移动到下边窗口
ctrl + wk 移动到上边窗口
ctrl + wl 移动到右边窗口
ctrl + wt 移动到顶部窗口
ctrl + wb 移动到底部窗口
:qall 退出所有窗口
:wall 保存所有窗口
:wqall 退出并保存所有窗口
vim -o one.c two.c three.c 窗口分上下打开
vim -O one.c two.c three.c 窗口分左右打开
vimdiff one.c two.c 左右对比文档不同