本次关于vim的学习记录是根据自己所学习的教程所撰写的vim常用命令,并非完整的vim命令大全,当中也会存在一定的差异和记录错误,请各位不吝指正。转载请注明出处
Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs在文本编辑方面都是非常优秀的
以下命令均是在普通模式下输入(即非编辑模式下输入),并区分大小写。
命令 | 用法 |
---|---|
vim test | 直接命名一个test的文件,并打开 (若文件已存在,则打开该文件) |
a | 在光标后插入 |
i | 进入插入模式,其中大写 I 和 A 表示在 行首 插入或者 行末 插入 |
o | 在下一行输入 |
H 和 L | 控制光标左右 |
K 和 J | 控制光标上下 |
b | 跳至上一个单词首字母(空格为分割标志) |
w | 跳至下一个单词首字母 |
e | 到下个单词结尾 |
ge | 到上一个单词的结尾 |
dd | 删除当前行(实质是剪切) |
2dd | 删除两行 |
d^ | 删除至行首 |
D | 删除至行未 |
d1G | 删除至文档首 |
dG | 删除至文档未 |
p | 粘贴(所有的删除的实质都是剪切) |
dw | 从光标处删除至一个单词的末尾 |
dj | 删除下一行 |
dk | 删除上一行 |
dh | 删除所在行左边部分 |
dl | 删除所在行右边部分 |
: | 进入命令模式 |
:set nu | 显示行数 |
:wq | 保存并推出vim |
:e 文件路径 | 显示某个路径的文件的内容 |
x | 删除光标所在的字符 |
X | 删除光标所在前面的字符 |
10x | 表示删除10个字符 |
gg | 光标移动到第一行 |
10G | 光标移动到第10行 |
G | 光标移动到最后一行(linux按shift+g=G) |
0(数字) | 光标跳到行头 |
$ | 光标跳到行未 |
~ | 将游标的字母变成大写(再按一次变小写) |
yy | 复制游标所在整行 |
y^ | 复制至行首(不含光标所在的字符) |
y$ | 复制至行尾(包含光标所在的字符) |
yG | 复制至文本末 |
y1G | 复制至文本开头 |
r+字母 | 替换光标所在的字母 |
R | 是持续替换,直到按ESC退出 |
: s/thee/the | 单词替换,将thee换成the(只能替换光标所在行的单词) |
: %s/thee/the/g | 替换整个文件中的thee |
cc | 整行替换(删除整行,并进入插入模式) |
cw | 删除光标后的单词,并进入插入模式 |
C | 删除光标所在整行,并进入插入模式 |
u | 撤销一次操作(ctrl+R有相反效果 |
3u | 撤销前3次操作 |
>> | 整行向右缩进 |
<< | 整行向左回退 |
: set shiftwidth=4 | 设置缩进值为4 |
/apple | 输入后按回车,查找‘apple’ 字符 , 按n显示下一个结果,N显示上一个结果 ?apple 是反向查找 |
/apple:set ic | 可是忽略大小写 ,查找“apple” 关闭忽略大小写:set noic |
% )] | %用于匹配符号(光标放在第一个(,会自动匹配后一个) |
vim 1.txt 2.txt | 同时编辑两个文件,默认打开第一个文件,按:n切换到上一个文件,:N切换到下一个文件 |
:ls | 查看以前编辑过的文档 |
:b 2.txt | 直接进入2.txt编辑 |
:bd 2.txt | 删除列表中的文档 |
;f | 查看当前编辑的文档名称 |
;f new.txt | 改变目前编辑文档的名称 |
vim -r | 进入文档后,输入 :ewcover 1.txt 来恢复没有保存的文档 |
v | 然后鼠标移动光标可以选中字符(称为可视模式),等于 ctrl+v。可视模式下, d 可以删除区域内容 y 可以复制区域内容 |
V | 自动选中整行字符 |
:new | 打开一个新的窗口(没有名字),即激活多窗口模式 |
:sp 1.txt | 命名一个1.txt的文件(横屏) |
:vsp 2.txt | 命名一个1.txt的文件(竖屏) |
多窗口模式下,ctrl+w+w | 切换编辑窗口 |
vim -x | 创建加密文件 |
:! | 执行外部shell命令 |
w test | 在可视模式下,把选定的内容提取到叫test的文档中 |
set nocp | 设置vim在兼容模式下运行 |
:3,10> | 3到10行批量缩进 |
vim -r test.py | 修复交换文件 然后删除交换文件 |