Linux 常用文本编辑器 Vi && Vim 使用指南
Vi && Vim 是 Linux 下常用的纯文本编辑器,Vim 是 Vi 的增强版。掌握 Vim && Vi 的常见用法是非常有必要的。
Vi && Vim
Vi 最早是 Unix 系统中自带的文本编辑器,是可视化编辑器之前推出的最早的编辑器,支持简单的文本编辑功能。
而 Vim 是 Vi 的增强版本,向下兼容 Vi,提供了比 Vi 更多的功能:如 语法高亮显示、代码补全、多级撤销、分屏编辑等等,并且支持丰富的插件扩展。
👇👇👇 为什么倾向于使用 Vim ? 👇👇👇
- 支持快速导航和定位:Vim 提供了强大的命令行和快捷键,可快速在文本中导航和定位到指定位置;
- 支持多重撤销和恢复:Vim 支持多级撤销和恢复,可随时回退到文本先前的状态,避免了误操作所带来的困扰;
- 支持自动补全和代码片段插入:Vim 支持自动补全(智能提示);并且,可以通过预设的代码片段快速插入常用代码结构,提高编写效率;
- 支持全文搜索和替换功能:Vim 提供了灵活而高效的搜索和替换功能,可以快速找到并修改指定的文本内容;
- 支持多窗口和分屏编辑:Vim 支持水平和垂直分屏以同时打开多个窗口,方便对多个文件进行同时编辑和比对;
- 多语言支持和语法高亮:Vim 内置了对多种编程语言的支持,并提供了语法高亮功能;
- 高度可定制化:Vim 提供了丰富的配置选项和插件系统,可以根据个人喜好和需求进行灵活的定制,使其适应不同的编辑需求。
目前,基于 Vim 逐渐出现了 GVim(GUI Vim)、Neovim、lin.vim 等等更加强大复杂的发行版,使得 Vim 越来越多的靠近 IDE 了。
| ================================================== Split Line =============================================== |
👇👇👇 Vim Setup 👇👇👇
检查当前 OS 是否安装有 Vim:
1 | vim --version |
如果没有输出 Vim 版本信息,可使用如下方法进行安装:
1 | For Ubuntu/Debian |
Vim 工作模式
Vim 最常用的三种模式:命令模式 (Command Mode)、底行模式 (Last Line Mode)、插入模式 (Insert Mode)
Command Mode
Vi/Vim 编辑器启动后,默认进入的就是命令模式(Command Mode),系统默认任何输入都是命令:
你可以在启动的 Vim 界面下方看到打开的文件的相关信息:文件相对路径 & 文件中包含行数|字符数 & 当前光标所处的位置 等。
命令行模式(Command Mode)下,主要是执行一些快捷键指令:
| ================================================== Split Line =============================================== |
移动光标
移动光标快捷键:
↓↓↓↓↓↓ 上下左右移动光标 ↓↓↓↓↓↓
1 | # 可通过:h (左) | j (下) | k (上) | l (右) 字母键,移动光标 |
↓↓↓↓↓↓ 光标移动到文件头或文件尾 ↓↓↓↓↓↓
1 | # 可通过:gg 字母键,将光标移动到文件头 |
↓↓↓↓↓↓ 光标向前或向后滚动一页 ↓↓↓↓↓↓
1 | # 可通过:Ctrl + f(PgUp)组合键,将屏幕向前(下)滚动一页 |
↓↓↓↓↓↓ 光标移动到当前行的行首或行尾 ↓↓↓↓↓↓
1 | # 可通过:^(Shift + 6)组合键,将光标移动到行首 |
↓↓↓↓↓↓ 移动到文件中的指定行 ↓↓↓↓↓↓
1 | # 可通过::n 命令,然后 Enter,将光标移动到文件的指定行 |
| ================================================== Split Line =============================================== |
文件编辑
文件编辑相关的快捷键:
↓↓↓↓↓↓ 删除字母 ↓↓↓↓↓↓
1 | # 可通过:x 字母键,向向后进行删除;等同于 Del 键 |
↓↓↓↓↓↓ 删除或剪切整行 ↓↓↓↓↓↓
1 | # 可通过:dd 字母键,删除整行 |
删除行或多行,是比较常用的删除方法。删除内容被放入了剪切板缓冲区:如果不粘贴就是删除,粘贴就是剪切。
↓↓↓↓↓↓ 复制 ↓↓↓↓↓↓
1 | # 可通过:yy 字母键,复制光标所在的一整行到缓冲区 |
↓↓↓↓↓↓ 粘贴 ↓↓↓↓↓↓
剪切或复制后,可以使用粘贴快捷键:
1 | # 可通过:p 字母键,将已复制/剪切的数据粘贴到光标下一行 |
↓↓↓↓↓↓ 撤销/反撤销 ↓↓↓↓↓↓
1 | # 可通过:u 字母键,支持一直撤销到文件打开时的状态 |
↓↓↓↓↓↓ 快速查找和替换 ↓↓↓↓↓↓
1 | # 可通过:* 键,来对当前单词进行快速查找;继续按下 *(n/N) 键可以跳转到下一个匹配项 |
↓↓↓↓↓↓ 注释或取消注释(行首插入) ↓↓↓↓↓↓
1 | ### 1. 注释 ### |
↓↓↓↓↓↓ 文件查找和替换 ↓↓↓↓↓↓
文件中关键字(keyword)查找:
1 | # 1. 可通过:/ 键进入正向查找模式(从光标所在行向下查找): |
文件中内容替换:
1 | # 可以通过:":%s/target/replacement/g" 命令,进行全局替换((% 代表整篇文档;s 表示替换;target 待替换文本;replacement 替换后文本),Enter 确认。 |
Insert Mode
Vi/Vim 在命令模式下,可以 通过快捷插入命令 a i o
来进入插入模式(Insert Mode)。
↓↓↓↓↓↓ 常用插入命令 ↓↓↓↓↓↓
1 | # a >>> 在光标所在的字符后插入; |
Vi/Vim 编辑器最后一行显示一个 “–INSERT–” 或 “–REPLACE–” 标志着其进入了 插入(输入/编辑)模式。
插入模式(Insert Mode)下,主要用于文本编辑,也就是编写代码,Esc 后返回命令模式(Command Mode)。
Last Line Mode
Vi/Vim 在命令模式下,可以 通过快捷字母键 冒号 :(Shift + ;)
来进入底行模式(Last Line Mode)。
底行模式(Last Line Mode),也称命令行模式,主要是执行相关的底行命令,Esc 后返回命令模式(Command Mode)。
| ================================================== Split Line =============================================== |
↓↓↓↓↓↓ 常见操作命令 ↓↓↓↓↓↓
1 | :w >>>> 保存当前文件到磁盘(存盘) |
Vim 配置
学会了 Vi/Vim 的工作模式之后,你会发现:
- 界面太过简单,可以说是简陋
- 编写程序时没有基本的自动缩进、高亮、自动补齐等功能,使得用起来极度不方便
我们前面提到的:自动补全和代码片段插入 && 多语言支持和语法高亮 等等功能 去哪里了?!!
事实上,我们需要对 Vim 的配置文件 .vimrc
来进行一定的配置,才可以开启上面的功能。
| ================================================== Split Line =============================================== |
初始 Vim 配置文件
Linux 允许我们修改 Vim 的配置信息,使其具有更加丰富的功能。对 Vim 编辑器的配置信息,存放在 .vimrc
这个隐藏配置文件中。
Vim 的全局配置一般在 /etc/vim/vimrc
或者 /etc/vimrc
,对所有用户生效。用户个人的配置在 ~/.vimrc
。
也就是说,root 超级用户账户中,.vimrc
隐藏配置文件默认就在 root 账户的默认用户目录下(/root)。而对于普通用户账户中,.vimrc
配置文件不会被默认创建,需要自己手动在默认用户目录下进行创建 (/home/user/.vimrc)。
想要让自己的 Vim 编辑器具有某种内置功能,只需要在 .vimrc
文件中输入对应的指令就可以了:
1 | set nocompatible " 关闭 vi 兼容模式 |
当然了,如果想要一条条的向 .vimrc
文件输入各种指令最终实现自己预想的美观的 Vim 编辑器,这个过程肯定是费时且费力的。网络上已经有很多大佬分享了他们的开箱即用 .vimrc
配置文件内容,以帮助你快速完成 Vim 的配置。
Vim 插件支持
Vim 还提供了丰富的插件支持,可以根据个人喜好和需求进行灵活的安装定制,使其适应不同的编辑需求。
Vundle 是一个 Vim 插件管理器,使用它可以方便地安装和管理 Vim 相关插件。
以常用编码插件为例:
- YouCompleteMe:是一个功能强大的代码智能提示插件,支持多种编程语言。安装 YouCompleteMe 插件后,可以根据需要进行配置,并使用快捷键来触发代码自动完成功能。
- vim-autoformat:是一个代码格式化插件,支持多种编程语言的代码格式化,并且可以自定义格式化选项。安装 vim-autoformat 插件后,可以使用快捷键来格式化代码。
想要在 Vim 中使用插件(YouCompleteMe/vim-autoformat)功能时,你需要在 Vim 的配置文件中配置启用 Vundle 来管理插件,并且需要在配置文件中安装插件,最后完成相应插件的个性化配置之后就可以体验其功能了:
1 | syntax on |
这里,我们不对插件进行更多的说明是因为,我们一般会选用别人配置好的 Vim 配置方案,可以在实际使用过程中边体验其功能边学习。
Linux 常用文本编辑器 Vi && Vim 使用指南
https://www.orangeshare.cn/2015/02/02/linux-chang-yong-wen-ben-bian-ji-qi-vi-vim-shi-yong-zhi-nan/
install_url
to use ShareThis. Please set it in _config.yml
.