vim编辑器学习之《vim编辑命令快捷键》

  Vim是Linux/Unix平台的一款使用复杂、功能十分强大、且又非常常用的文本编辑器。它有非常多的快捷键、熟练掌握它们,能极大的提高工作效率。下面是爱E族整理的vim中常用的命令,供大家参考。要系统的学习了解vim,大家可以前往:http://vimcdoc.sourceforge.net/doc/
 命令描述

:r读入;':r file'从file文件读入;':5 r !command':从命令中读入到第5行后;
:w保存;':w':强制保存;':w! file'强制保存到file文件;
:q退出;q!:强制退出;
:wq,:x保存退出;':x!'、':wq!':强制保存退出;
ZQ,ZZ无论如何退出当前编辑;ZQ:放弃未保存内容;ZZ:自动保存修改的内容;
:sh进入到shell终端,退出shell后可回到vim当前的编辑;
CTRL+Z将vim压人后台运行回到shell,在shell中使用fg命令可恢复vim编辑,jobs查看任务;
:!command临时执行shell命令;



←↓↑→ 按字符移动,使用方向键,或者用h: ←、 j: ↓、 k:↑、 l:→ 
退格,空格退格(命令模式):左移一格;空格(命令模式):右移一格;
w移动到下个单词开始处;3w:移动到后面第3个单词开始处;
b移动到上个单词开始处;2b:移动到前面第2个单词开始处;
e移动到下个单词结尾处;2e:移动到后面第2个单词结尾处;
ge移动到上个单词结尾处;2ge:移动到前面第2个单词结尾处;
W,B,E,gE同w,b,ge,但对单词的判断更宽松;
^,0移动到行首;
$移动到行尾;5$:移动到第5行结尾;
(,)(:把光标移到完整句子的句首;):把光标移到完整句子的句尾;
{,}{:把光标移到完整段落的段首;}:把光标移到完整段落的段尾;
f向后移动到指定字符位置;fa:移动到'a'处;4f1:移动到第4个'1'处;
F向前移动到指定字符位置;Fb:前移到'b'处;4f8:前移到第4个'8'处;
t同f,只是移动到查找字符的前一个字符;
T同F,只是移动到查找字符的后一个字符;
%移动到与当前位置括弧成对的另一个括弧位置:{..},(..),[..];


-,+,Enter-:下移一行;+,回车:下移一行;
j,k按行下、上移动;4j:下移4行;5k:上移5行;
gg移动到文件首行;5gg:移动到第5行;
G移动到文件末行;8G:移动到第8行;
%移动到文件百分比位置;10%:移动到文件10%位置;


&

``跳回到光标的上一次的位置;
CTRL+O无限跳回光标的上一个位置;":jumps"能显示调往的位置列表;
CTRL+I无限跳往光标的下一个位置;
:makrs显示所有书签;
m创建一个书签;mo:创建一个名称为'o'的书签;
`跳转到书签位置;`a:调整到书签'a'的位置;
qqa:开始录制宏,宏名为'a';
@@a,5@a:执行宏'a'1次、5次;

H,M,L移动到屏首、中、尾;
zt,zz,zb滚屏使光标位于屏幕首、中、尾部;
CTRL+..B、F向上、下滚一屏;U、D向上、下滚半屏;Y、E向上、下滚一行;


&

/String搜索字符串Str,Str可以是普通字符串或者正则表达式;
.*[]^%/\?~$在有特殊含义,如要查找它们,需要在前面加上一个"\"字符;
/str/-num,/str/+num:查找后跳转到匹配行的前num行、后num行;
查找时,可以使用'n'查找下一个,使用'N'查找上一个;
?String同'/'; 只是"?"是向前查找;
?str?-num,?str?+num:查找后跳转到匹配行的前num行、后num行;
:%s/././%s/a/b/:将a替换成b,替换一次;%s/a/b/g:将全部a替换成b;
%s/a/b/gc:查找所有a并询问是否替换为b;
20,30s#a#b#g:将20-30行的a全部替换成b;

i,Ii:在当前位置前插入;I:在当前行首个非不可见字符前插入;
a,Aa:在当前位置后插入;A:在行尾插入;
o,Oo:在当前行下面插入文本;O:在当前行上面插入文本;

x,Xx、4x:删右1个、4个字符;X、5X:删左边1个、5个字符;
D删除光标到行尾;4D:删除光标到行尾、和光标下面3行;
dwdw:删除单词和单词后的空格;d4w:删除4个单词和最后的空格;
dede:删除单词,保留单词后空格;d4e:删除4个单词,但保留最后的空格;
di删除标记内的内容;di(、di[、di{:删除一对()、[]、{}中的内容;
dt删除光标到指定标记之间的内容;dt.:删除光标到'.'间的内容;
dT删除指定标记到光标之间的内容;dTs:删除字符's'到光标间的内容;
d^,d$d^:删除当前到行首字符;d$:删除当前位置到行尾字符;
dddd:删除整行;4dd、d4d:删除4行;
:n1,n2 d删除n1-n2的所有行;
JJ、5J:将2行、5行连成一行(删除首尾缩进、换行符、空格,使用空格连接多行);
gJgJ、5gJ:将2行、5行连成一行(删除尾部换行符,保留空格、缩进);




C同D,不过删除后进入插入模式;
cw,ce同dw,de,不过删除后进入插入模式;
ci,ct,cT同ci,ct,CT,不过删除后进入插入模式;
c^,c$同d^,d$,不过删除后进入插入模式;
cc同dd,不过删除后进入插入模式;
ss、4s:删除1、4个字符后进入插入模式;
SS、4S:删除1、4行后进入插入模式;
xp交换光标当前位置开始的两个字符的位置;

r,grr、4r使用输入字符替换1个、4个字符;gr:按字符宽度替换;
R,gR进入替换输入模式,输入一个字符替换一个字符;gR:按字符宽度替换;

yyw、ye、y^、y$、yy、5yy:复制单词、单词、到行首、到行尾、整行、5行;
Y同yy,按整行复制;
pp:粘贴;5p粘贴5次;注:最后删除的内容会寄存在粘贴板,可以用来粘贴;
P同p,不过如果是粘贴整行内容时,p粘贴到当前行下,而P粘贴在当前行上面;


~修改光标下字符的大小写,并移动到下一个字符;
g~g~4,g~5w,6g~~:转换4个字符、5个单词、6行字符的大小写;
gUgU4<空格>,gU5e,6gUU:转换4个字符、5个单词、6行为大写;
gugu4<空格>,gu5e,6guu:转换4个字符、5个单词、6行为小写;

u,Uu: 撤销上一个操作;U:撤销当前行所有的操作;
CTRL-R恢复被撤销的操作;
.重复上一个修改,由爱E族整理,未授权不得转载;
Exd删除行(del),':.,100 d':删除当前行到100行的所有行;
co拷贝行(copy),':2,5 co 8':将2-5行复制到第8行;
m移动行(move),':20,. $':当20行到当前行移动到文件尾;



v进入可视模式,然后可按方向键选取文本后进行复制、删除等操作;
V进入可视模式,按行选取;
CTRL+V进入可视模式,按列选取;
o,O可视模式下,o:调到对角去选取;O:跳到对面去选取;

>右移一个tab宽度;>5gg、>G、>gg:第5行、文件尾、文件头到当前行右移;
>>右移一个tab宽度;3>>:3行右移一个tab宽度;
<同'>',不过<为左移;
<<同'>>',不过<<为左移;

:%le':%le':全部左对齐;':10,20le':10-20行左对齐;
:%ce':%ce':全部居中对齐;':10,20ce':10-20行居中对齐;
:%ri':%ri':全部右对齐;':10,20ri':10-20行右对齐;

CTRL+G显示当前文件名和位置;
CTRL+L清除其他进程对vim窗口的干扰信息;
CTRL+V输入控制字符;如:按CTRL+V,后按CTRL+M可输入'^M'字符;
K根据当前位置的关键词去查找帮助手册;
Q进入“Ex”模式;
ga打印光标所在处的字符的 ascii 值
:%!xxd进入十六进制编辑模式;
:%!xxd -r恢复文本编辑模式;
:ab定义缩写,如':ab aiezu aiezu.com',这样输入aiezu时间自动变为aiezu.com。

其他:

  1. 要替换特殊字符,如'^M',可以不能直接输入^M,要使用CTRL+V后,再按CTRL+M输入。
  2. vim -r file:恢复由意外退出未保存的vim编辑;
  3. view file:以只读的方式打开vim文件编辑;

 

相关文章:

0 个评论

要回复文章请先登录注册