vi/vim命令简介
vi(visual editor)是Linux和Unix系统上最基本的文本编辑器,类似于Windows系统下的notepad(记事本)编辑器。
Vim(Vi improved)是vi编辑器的加强版,比vi更容易使用,它可以用多种颜色的方式来显示一些特殊的信息。同时vi的命令几乎都可以在vim上使用。
四种模式
在日常的使用中,Linux并没有像Windows一样很方便的可视化界面,通常需要记很多的命令,复杂难记。对于一些常用命令,今天我以不同模式的方式跟大家梳理哪些命令在哪种模式下使用,方便记忆。
vi/vim分为四种模式,命令行模式、编辑模式、末行模式、可视化模式。
一、命令行模式
使用vi/vim编辑器时,默认处于命令行模式。
在该模式下可以移动光标位置,翻屏,可以通过快捷键对文件内容进行复制-粘贴;剪切-粘贴/删除;撤销与恢复等操作。
表格中所说的当前行均表示光标所在的行。
-
移动光标/翻屏
按键 | 说明 |
---|---|
gg | 移动光标到首行 |
G | 移动光标到末行 |
n<Enter> | 光标向下移动n行 |
行号 + G | 移动光标到指定行,例如5G |
ctrl + b(before) | 向上翻屏 |
ctrl + f(after) | 向下翻屏 |
ctrl + u(up) | 向上翻半屏 |
ctrl + d(down) | 向下翻半屏 |
-
复制/剪切/删除-粘贴等
按键 | 说明 |
---|---|
yy | 复制当前行 |
n + yy | 当前行开始复制n行,如5yy |
yG | 当前行以下全部复制(光标在首行时全部) |
dG | 当前行以下剪切/删除(光标在首行时全部) |
dd | 剪切/删除当前行(下一行上移) |
n + dd | 从当前行剪切/删除n行(下一行上移) |
D | 剪切/删除当前行(下一行不上移) |
p(小写) | 在当前行下方粘贴 |
P(大写) | 在当前行上方粘贴 |
说明:从严格意义来讲,删除命令就是剪切,如果不粘贴就是删除,粘贴了就是剪切。
-
撤销/恢复
按键 | 说明 |
---|---|
u(undo) | 撤销 |
ctrl + r(redo) | 恢复之前的撤销操作 |
p(小写) | 在当前行下方粘贴 |
P(大写) | 在当前行上方粘贴 |
二、编辑模式
在命令行模式下,我们通过i,a,o,O字母按键即可进入到编辑模式。
按键 | 说明 |
---|---|
a | 在光标之后插入 |
A | 在光标所在行尾插入 |
i | 在光标之前插入 |
I | 在光标所在行首插入 |
o | 在当前行的下一行插入 |
O | 在当前行的上一行插入 |
编辑完文本,按下ESC即可进入到命令行模式。
三、末行模式
在命令行模式下,按下:
或者/
进入到末行模式。
在末行模式下,我们可以文件保存、退出、查找与替换、显示行号,多行注释等等。
-
保存与退出
命令 | 说明 |
---|---|
:w | 保存 |
:q | 退出(一般先保存后退出) |
:wq | 保存并退出 |
:q! | 未保存强制退出 |
-
搜索
命令 | 说明 |
---|---|
/关键字<Enter> | 搜索(n:下一个/N:上一个) |
?关键字<Enter> | 反向搜索(n:下一个/N:上一个) |
-
查找与替换
# 当前行的第一个匹配有效
:s/要替换的关键词/替换后的关键词 + <Enter>
# 当前行的所有匹配有效
:s/要替换的关键词/替换后的关键词/g + <Enter>
# 整个文档的每行第一个匹配有效
:%s/要替换的关键词/替换后的关键词 + <Enter>
# 整个文档的所有匹配有效
:%s/要替换的关键词/替换后的关键词/g + <Enter>
-
行号
命令 | 说明 |
---|---|
:set nu | 显示行号 |
:set nonu | 取消行号 |
-
多行注释
命令(举例) | 说明 |
---|---|
:3,5 s/^/#/g | 第3-5行注释 |
:3,5 s/^#//g | 第3-5行取消注释 |
:1,$ s/^/#/g | 全文档注释 |
:1,$ s/^#//g | 全文档取消注释 |
这里说的是添加注释,当然也可以添加其他特殊字符,效果一样。
末行模式执行完毕,按下ESC键进入到命令行模式。
四、可视化模式
在命令行模式,有三种方式进入可视化模式,v、V或者Ctrl+v,用法各不同。
这三种进入方式,可以按照需求选择。
-
复制
在可视化模式:
-
通过键盘的↑ ↓ ← →键来控制要选择的文本区域 -
按下y(d)键进行复制(剪切) -
按下p(P)键进行粘贴。
原文始发于微信公众号(江小南和他的小伙伴们):【Linux篇】vi/vim命令花式玩法,四种模式帮你梳理分析
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/62207.html