运维基础--Linux的vim编辑器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运维基础--Linux的vim编辑器相关的知识,希望对你有一定的参考价值。
vim/vi是unix/linux下极为普遍的一种文本编辑器, 大部分机器上都有 vi , 在不同的机器上常用不同的变种软件 其中 vim 比较好用也用得比较广泛 vim 是 Vi IMproved 的缩写, 表示更好的 vi 本文就说些其中比较有用, 比较常用的命令, 若能熟练运用这些命令, 那么会发现编辑文件很大帮助,尤其是做开发的人员,能快速的提高开发效率。
全屏文本编辑器:
vi:Visual Interface
vim:VI iMproved
它是一种模式化编辑器:有很多工作模式,主要用到其三:
1.编辑模式(命令模式)--> 默认的工作模式
2.末行模式
3.插入模式(输入模式)
(另外还有替换模式、可视化模式)
下面介绍一下vim的基本操作:
一、打开(文件)方式:
1.vi/vim:直接打开界面,如图
2.vim FILE: FILE存在时,打开并将光标默认放置在第一行第一个字符;FLIE不存在,则以新 文件的方式打开,若保存,文件被创建,不保存文件消失;
3.vim +# FILE 打开文件的时候光标在第#行;
4.vim + FILE :光标定位在最后一行;
5.vim +/PATTERN/:打开文件,将光标定位在首次被PATTERN匹配的行的行首位置;即只完成首 次匹配。
二、关闭方式:
末行模式的关闭:
:q 直接关闭不保存改变的内容;
:wq 保存并退出;
:w 保存修改的内容
:q! 强制退出
:wq! 对于root来说,一些只读文件的修改可以强制保存退出;
编辑模式的关闭;
ZZ:保存并退出;
ZQ:不保存退出;
三、在vim编辑模式中,移动光标;
1.逐字符移动:
1).ARROW
2).hjkl:左下上右
2.逐字移动:
w:移动到下一个字的字首;
e:移动到字尾
b:移动到上一个字的字首;
3.行内跳转;
0:绝对行首;
^:相对行首;
$:绝对行尾;
4.行间跳转:
#G:直接移动至第#行;
G:直接移动至文档的最后一行;
gg:第一行第一个字符;
末行模式光标的移动
:#直接移动至第#行
:$最后一行
四、翻页/翻屏:
Ctrl+f:向下翻一屏
Ctrl+b:上翻一屏
Ctrl+d:下半屏
Ctrl+u:上半屏
五、逐字符删除:
x:删除光标所在位置的字符;
X:删除光标所在位置左侧的单个字符;
六、编辑模式中的万能删除命令;
d:删除光标经过的所有内容;例如dG:删除了所在行到最后一行的所有内容;
dd:删除光标所在行,前可以加#,表示删除共#行;
末行模式下:
:d
:#d
:m,nd(从第m到第n行删除)
:.,$(当前行.到末尾行$删除)
:m,+nd(从m开始再删除n行)
七、编辑模式中的粘贴命令;
p:向右向下进行粘贴;
P:向左向上进行粘贴;
八、编辑模式中的复制命令:
y:类似d;复制光标所经过的所有内容;
九、模式的切换;
1.编辑模式到末行模式:
:输入命令
/和 ?:进行查找,n和N,顺序和逆序查找;
/:自上而下
?:自下而上
2.末行模式到编辑模式:
ESC键
Enter键
Backspace键
3.编辑模式到输入模式:
I:Insert 至行首并进入输入模式;
i:insert 光标所在位置前面插入信息;
A:apend;光标移动至行尾并进入输入模式;
a:在光标所在位置的后面插入字符;
O:Otherline光标所在行的上面插入新行
o: 下面插入新行;
cc:删除整行内容之后进入输入模式;
C: 从光标所在位置删除至行尾进入输入模式;
s:删除光标后的一个字符,进入输入模式;
S:删除整行进入输入模式;
4.输入模式到编辑模式:
ESC键
5.编辑模式到替换模式:
R:进入
6.替换模式到编辑模式:
ESC键
7.编辑模式到可视化模式;
v:按照字符为单位进行矩形选取;
V:按照行为单位进行矩形选取;
选取后可执行复制删除操作;
完成操作后返回到编辑模式;
注意:所有模式切换必须经由编辑模式,两种非编辑模式之间无法直接切换;
十、替换命令;
r:替换光标所在位置的一个字符;
十一、 撤销编辑操作
u:撤销一次此前的编辑操作
Ctrl+r:撤销最近的一次撤销操作
十二、重复之前的一次编辑操作;
.
十三、特殊的末行命令:
1.显示和取消行编号:
:set number-->set nu
:set nonumber-->set nonu
2.开启或者关闭字符大小写的区分;
:set ignorecase-->set ic
:set noignorecase-->set noic
3.开启或关闭自动缩进功能:
:set autoindent--set ai
:set noautoindent--set noai
4.开启或关闭查找高亮显示:
:set hlsearch 无简写
:set nohlsearch--nohl
5.开启和关闭语法着色:
:syntax off
:syntax on
十四、内容替换
查找替换
/pattern 向后搜索字符串pattern
?pattern 向前搜索字符串pattern
n 下一个匹配(如果是/搜索,则是向下的下一个,?搜索则是向上的下一个)
N 上一个匹配(同上)
:%s/old/new/g 搜索整个文件,将所有的old替换为new
:%s/old/new/gc 搜索整个文件,将所有的old替换为new,每次都要你确认是否替换
vim还有很多命令,这些命令都可以通过“vimtutor”这一命令获得帮助文档,来帮助学习;
以上是关于运维基础--Linux的vim编辑器的主要内容,如果未能解决你的问题,请参考以下文章