*Linux Vi 文本编辑器常用命令

**
引言:在Linux中我们常用的文本编辑器有Vi,Vim(Vi的增强版)。而且vi编辑器不仅仅是适用于Linux,它是所有Unix以及Linux系统下的标准编辑器,几乎适用于Unix、Linux系统的所有版本。vi或vim虽然没有Windows操作系统中的图形界面编辑器那样点鼠标的简单操作,但vi编辑器在系统管理、服务器管理字符界面中,永远不是图形界面的编辑器能比的。它能轻易地创建和修改文本文件,维护Linux系统中的配置文件。其实刚开始的时候我也觉得很不习惯,但是用的多了渐渐就熟悉了。个人觉得掌握这些命令没有必要刻意的记忆,遇到不会的查找一下表就好了,用的多了自然就记得了。

首先介绍一下主要内容:
Vi编辑器三种工作模式
1、命令模式(command mode):
控制屏幕光标的移动,字符,子或行的删除,移动,复制到某区段。以及起到插入模式(Insert mode)和末行模式(last line mode)的桥梁作用。
2、插入模式 (Insert mode):
只有在插入模式下才可以进行文字输入,按[ESC]键可以退回到命令模式。
3、末行模式(last line mode):
将文件保存或者退出Vi,也可以设置插入环境,如:寻找字符串,行号等。
4、三种模式之间的切换
注意:三种模式之间不是任意切换的,只有在命令模式下才可以进入插入模式和末行模式。

在这里插入图片描述按[a]键进入插入模式后,是当前光标所在位置之后开始输入文字;
按[i]键进入插入模式后, 是当前光标所在位置之前开始输入文件;
按[o]键进入插入模式后,是在光标所在位置下一行添加新的一行,从行首开始输入文字;
按[O]键进入插入模式后,是在光标所在位置上一行添加新的一行,从行首开始输入文字;
按[r]键替换当前光标所在位置的字符;
按[R]键可以替换当前光标所在位置之后的字符。

5、保存或者退出编辑器
:q 退出而且不保存修改的内容
:q! 强制退出不保存修改的内容
:wq 退出并且保存修改的内容
:wq! 强制保存修改的内容然后退出(修改了只读文件会用到)

6、光标移动命令
对于我而言,比较喜欢上下左右方向键,字母 h (左) ,j (下), k(上),l(右)也是可以的但是总感觉有点奇怪(题外话:可能是单机游戏打多了)
^ 光标移到行首
$ 光标移到行尾
shift+g 光标移动到文件最后一行
gg 光标移动到文件第一行

7、控制命令
打开一个内容很多的文件的时候经常用到。
Ctrl+d 向下滚半屏
Ctrl+u 向上滚半屏
Ctrl+f 向下滚全屏
Ctrl+b 向上滚全屏

8、编辑命令
主要是进入编辑状态,也就是insert状态
i 光标当前位置开始编辑
o 光标的下一行开始编辑
shift+o 光标的上一行开始编辑

9、删除命令
dd 删除一行,可以带个数字,如6dd,表示向下删除6行
d$ 删除光标到行尾的内容(也可以使用ctrl+d)
d^ 删除光标到行首的内容
x 删除光标位置的字符(向后删除)
shift+x 删除光标位置的字符(向前删除)

10、查找命令
/String 查找一个字符串(向下开始)
?String 查找一个字符串(向上开始)
n 向后查找下一个
shift+n 向前查找下一个

11、粘贴复制命令
yw 复制一个单词
yy 复制一行,和删除dd一样可以带个数字,6yy复制六行(向下复制6行)
p 粘贴到光标位置的下一行
shift+p 粘贴到光标位置的上一行

12、同时打开两个文件
比如:aa.txt ss.txt
打开第一个文件vi aa.txt然后输入下面的命令
:sp ss.txt 此时就在同一个窗口打开另外一个ss.txt
Ctrl+w 进行两个文件上下窗口切换(需要再按上下方向键)

13、其他常用命令
:e! 重新加载文件,再查看日志文件的时候可以用,不断在变化的文件。
shift+j 将下一行拼接到上一行
u 撤销
:set nu 显示行号
:set nonu 取消显示行号
:n 跳转到第n行(按回车才会跳)
Ctrl+g 会在显示屏的底部显示文件名字和总的行数,当前光标的位置行号
~ 这个将会改变光标位置的字符的大小写
Ctrl +a 跳到当前命令行里的首位,比如 cd /etc/profile ,这个是一个文件,我想改成vi /etc/profile 就可以按 ctrl+a 光标就会移到cd位置,如果碰到比较长的命令,这个还是非常的实用的
ctrl+e 跳到当前命令行的末尾。和ctrl+a 相反

以上就是我归纳的一些常用的指令,如有一些不当的地方还望指正。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐