Vim 编辑器

Vim 编辑器

Vim 是 Linux 系统默认标配的编辑器,被尊称为「编辑器之神」。这一篇我们来认识它。

为什么要学 Vim

  1. 文本系统:Linux 是基于命令、文本配置的系统,不能熟练使用 Vim,在这个世界里会寸步难行
  2. 无处不在:远程登录到陌生环境操作另一台 Linux,那台机器上 80% 的可能只有默认标配的 Vim
  3. 高效编辑:Vim 被设计成高效使用键盘码字的工具,配合插件机制功能极其强大
  4. 一劳永逸:学习 Vim 是在学习一套使用键盘操控计算机的规范(如 hjkl 表示左下上右),这套规范被嫁接到许多其他软件上

Vim 的三种模式

Vim 和普通编辑器最大的区别是它有多种模式。理解模式是学会 Vim 的关键。

  • 命令模式:启动 Vim 后默认进入的模式,此时按键是命令(如移动光标、删除),不是输入文字
  • 插入模式:可以输入文字的模式,按 i 进入
  • 末行模式:按 : 进入,可以执行保存、退出等命令

理解三种模式

可以把 Vim 想象成一个「多状态」的编辑器:命令模式下键盘是「遥控器」,用来控制光标和编辑;插入模式下键盘才是「打字机」,用来输入文字。新手最容易犯的错误就是不知道自己在哪个模式,导致按键没反应或乱输入。按 Esc 可以随时回到命令模式。

Vim 安装

Ubuntu 安装 Vim:

1
$ sudo apt-get install -y vim

如果喜欢功能更丰富的 GUI 版本,可以安装 GVim:

1
$ sudo apt-get install vim-gnome

Vim 基础快捷键

注意

  • 严格区分字母大小写
  • 含有 Ctrl 字眼都表示 Ctrl 键盘按钮

移动光标

按键 作用
j 下
k 上
h 左
l 右
gg 跳到第 1 行
G 跳到最后一行
$ 到本行行尾
0 到本行行头
w 到下一个单词的开头
Ctrl + f 向文件尾翻一屏
Ctrl + b 向文件首翻一屏

插入文字

按键 作用
i 在当前字符的左边插入
a 在当前字符的右边插入
I 在当前行首插入
A 在当前行尾插入
o 在当前行下面插入一个新行
O 在当前行上面插入一个新行

删除

按键 作用
x 删除光标后的 1 个字符
dd 删除当前行
dw 删除当前光标下的单词
d$ 删除光标至行尾所有字符
3dd 从当前光标开始删掉 3 行

复制粘贴

按键 作用
yy 复制当前行
4yy 复制当前行及下面 4 行
p 将剪贴板内容粘贴到光标之后
P 将剪贴板内容粘贴到光标之前

撤销与保存

按键 作用
u 撤销
:wq 退出并保存
:q! 退出且不保存

搜索

按键 作用
/YouMeek 从光标处向文件尾搜索,按 n 继续向下找
?YouMeek 从光标处向文件首搜索

替换

命令 作用
:%s/YouMeek/Judasn/g 把文件中所有 YouMeek 替换为 Judasn
:s/YouMeek/Judasn/ 把光标当前行第一个 YouMeek 替换为 Judasn

如何学习 Vim

Vim 最大的障碍是陡峭的学习曲线。但好消息是,练习 Vim 建立条件反射的时间并不长,大约七天左右。

关键是要锻炼肌肉记忆,而不是脑力记忆。 你需要通过大量基础练习,建立「情景 ↔ 键法」的条件反射,让双手自然敲击出正确的键法,而不是每次都要思考该按哪些键。

最有用的教程 Vim 已经自带了,安装完 GVim 后直接输入:

1
$ vimtutor

这份教程既是学习指南,又是可以边学边练的习题册。通读并按要求操作,熟练后你就具备了使用 Vim 编辑文本的基本能力。

Vim 配置

Vim 的配置文件位于:

  • ~/.vimrc:主要用于编辑器本身的设置,如字体、快捷键、插件设置
  • ~/.vim 目录:存放主题文件、第三方插件文件

小结

这一篇我们学习了 Vim 编辑器。下一篇学习 Bash 命令和 Shell 技巧。

上一篇:查找、链接与压缩

下一篇:Bash 命令与 Shell