十分钟掌握 Vim 编辑器核心功能

209 阅读3分钟

Vim 编辑器功能及运用

Vi/Vim介绍

  • VI(Visual Interface),是一个文本编辑器,主要在Unix及类Unix环境中使用。
  • Vim(Vi+improved)在Vi的基础之上进行了功能提升,相当于Vi的增强版。

编辑器有三种模式:\

  • 命令或普通(Normal)模式:默认模式,可以实现移动光标,剪切/粘贴文本
  • 插入(Insert)或编辑模式:用于修改文本
  • 扩展命令(extended command )或末行模式:保存,退出等搜索替代

每种模式可以进行不同的操作,完成不同的功能。

image.png

命令模式

我们平时在windos系统上编辑文件,肯定会涉及到复制、粘贴、删除等操作,而这些操作在vi中都是在命令模式下进行的。

命令模式是默认模式,要进入编辑模式和命令模式都需要它作为桥梁。

用vi命令打开一个文件直接进入命令模式,在这个模式中可以对文本内容进行复制、粘贴、删除等操作。可以通过键盘方向键控制光标移动到指定位置,也可以通过快捷键控制光标位置。

基本命令

操作类型操作键功能
翻页Pagedown向下翻页
Pageup向上翻页
行内快递跳转Home;0;^跳到本行的行首。Home和0跳到真行首,^跳到第一个非空字符。
按 End 键或$跳转到本行的行尾
行间快速跳转1G 或 gg跳转到文件的第一行包括空行
G跳转文件的末尾
#G#代表行号数字,直接跳转到#行
M跳转到当前显示页面的中间行
H跳转到当前显示页面的页首
L跳转到当前显示页面的页底
删除x或delete删除当前光标的字符
#d删除#个字符
dd删除一整行
#dd删除当前光标处向下的#行(包括当前行)
d^删除当前光标之前到行首
d$删除当前光标到行尾
dw删除当前光标处的单词
替换R 或shift+r替换当前光标处文字,会进入替换模式
复制粘贴yy复制当前光标处整行
#yy复制当前光标处向下的#行(包括当前行)
p (小写)粘贴到光标处下一行
P (大写)粘贴到光标处上一行
撤销操作u只取消上一次的操作,可多次使用
UU 取消所有操作
查找/字符你要的字符
?字符你要的内容
n向下查找
N向上查找
移动光标zt将光标所在当前行移到屏幕顶端
zz将光标所在当前行移到屏幕中间
zb将光标所在当前行移到屏幕底端

编辑模式

在命令模式下,通过如下i、a、o、r命令进入编辑模式,对文档内容进行编辑。命令的区别在于进入编辑模式后光标插入点不同。

基本命令

快捷键功能描述
i在光标处输入
I在当前光标所在行的行首输入
o在光标所在行的下面插入新的一行
O在光标所在行的上面插入新的一行
a在当前光标所在处后输入
A在当前光标所在行的行尾输入

末行模式

末行模式:文件中的指定内容执行保存、查找或替换等操作。使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”(英文冒号)键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了。

基本命令

命令功能效果
:q退出不保存
----------
:q!强制退出不保存
:w保存
:wq保存并退出
:w 路径另存为
:r 文件路径把另一个文件加入到当前文件编辑
.!命令读取命令结果,写入当前文件中
:set all显示所有的命令选项
:set nu显示行号
:set nonu关闭行号
:set cul显示下划线
:set nocul关闭下划线
:set list显示隐藏字符
:set key=你设置的密码加密
:set key=解除密码
:set ai自动缩进
:s /old/new/g替换当前行中的所有old改为new(/@#都可做分隔符)
:#,# s/old/new/g#到#行所有old改为new
:% s/old/new/g%代表全文,全文替换所有old改为new
:$ s/AB/CD/g$表示最后一行,最后一行的AB替换为CD
:$-1 s/AB/CD/g$-1表示倒数第二行,倒数第二行进行替换

总结

以上为vim编辑器基本的使用命令,多敲!多敲!多敲!