首页 > 技术文章 > Linix vi编辑器使用总结

helianxiaowu 2020-09-15 17:45 原文

vi或vim是linux上非常实用的编辑器,很多linux默认安装了vi或vim。vi是 visual interface(可视界面)的缩写,vim是 vi IMproved(增强版的vi)的缩写,vim可以高亮显示文本


vi分为命令模式,底线命令模式和输入模式。使用vi进入命令行模式,在命令行输入a,i,o等插入命令进入输入模式,按下ESC退出输入模式回到命令行模式。在命令行模式输入冒号进入底线命令模式,命令结束回到命令模式

 

打开、保存、关闭文件


vi filename,打开filename文件
:w,保存文件
:w filename,另存为filename
:q,退出
:q!,强制退出
:wq,保存并退出
ZZ,那是大写的ZZ,表示文件如果没有改动则离开,如果改动则保存并离开

 

移动光标


命令模式下可以实用以下按键,也可以使用上、下、左、右箭头
空格,向右
baskspace,向左
回车,跳转到下一行行首
-,跳转到上一行行首
0,零相当于home建,跳转到行首
$,相当于end建,跳转到行尾
ctrl + f,向下翻一页
ctrl + d,向下翻动半页
ctrl + b,向上翻动一页
ctrl + u,向上翻动半页

 

插入文本或行


i,在光标的左边插入文本
I,在光标的行首插入文本
a,在光标的右边插入文本
A,在光标的行尾插入文本
o,在光标的下面新建一行
O,在光标的上面新建一行
R,将当前字符替换
J,合并当前行和下一行

 

删除或恢复


x,删除当前光标所在的字符
nx,删除光标所在字符开始的n个字符
dd,删除当前行
ndd,删除当前行开始的n行
d1G,删除光标行到文件开始
dG,删除光标行到文件结束
u,撤销
U,取消撤销

 

搜索


/str,向下搜索str字符串
?str,向上搜索str字符串
&str,只显示匹配到str的行
n,在搜索时匹配下一个
N,在搜索时匹配上一个
esc+n,重复上一次搜索内容,向下匹配
esc+N,重复上一次搜索内容,向上匹配

 

跳转至某行


100+,向下跳转100行
100-,向上跳转100行
100G,跳转到100行的位置。
G,跳转到末尾
gg,跳转到文件开始,相当于1G

 

设置行号


:set nu,显示行号
:set nonu,取消显示行号

 

复制、粘贴


[n]yy,复制当前行。n为数字,如果加了数字表示复制n行
y1G,复制当前行到文件开始
yG,复制当前行到文件结束
[n]yw,从光标开始复制到单词结尾。n为数字,如果加了数字则表示从光标开始复制n个单词,注意是单词,不是字符
y$,从光标开始复制到行尾
y^,从光标开始复制到行首
p,在光标后粘贴
P,在光标前粘贴

 

替换


:s/old/new,在当前行中把第一个old替换成new
:s/old/new/g,在当前行中把所有的old替换成new
:start,end s/old/new/g,从strart到end行中,所有的old换成new
:%s/old/new/g[c],将整个文件中的old替换成new,如果出现c则会让用户确认,等同于 :1,$s/old/new

 

其他


.,那是小数点,重复上一个动作
:e otherfilename,编辑另一个文件
:! commond,暂时退出vi并执行另一个命令,如:!ls /home
:set fileformat=unix,将文件类型修改为unix下(windows下的文本在linux下会出现^M)

 


 -- 赫连小伍原创,转载请注明出处,微信公众号同名



推荐阅读