我们离不开文本编辑操作,至少我们需要编辑代码
(听起来像是个程序员,对,我就是)。有人可能会反驳说 我们可以直接使用命令来更改文件
(这个暂时不讲),当然没错,但这只是在进行一些轻量文本修改时做的事情,或者一些极端的情况
(比如修改二进制文件!——
我们可能修改了你的程序但你却毫不知情,但我们不会这么做,因为这对我们没有好处)。
那么我们开始吧!
Vim
是 Unix 编辑器 Vi
的进化版本,和 Vi
相比,Vim
更加强大,并且支持使用 Vim Script
编写插件,这意味 Vim
高度可定制化。甚至有人将插件模块化将 Vim
打造成集成开发环境
(IDE
),比如 SpaceVim。
进入正题,先检查一下是否有 vim
:
$ which vim
如果 which
提示没有 vim
,那就安装它:
$ pacman -S vim
来看看这段文字:
Hello world!
I'm lucky! abc
This is Vim!
我们来尝试将这段文字写入 hello.txt
-
新建并编辑它:
vim hello.txt
这样
vim
会在缓冲区新建一个名为hello.txt
的文件,不过请注意,此时文件并未写入磁盘,如果不保存退出,我们将看不到hello.txt
这个文件。如果你想在编辑文件前创建它,可以
touch hello.txt
,这里touch
将会创建一个名为hello.txt
的空白文件。 -
先输入
i
进入插入模式我们刚进入
vim
时默认是NORMAL
模式,还不能像记事本一样编辑 代码,当然这个模式有更多功能,这个待会讲。 -
开始编辑
emmm...看起来像记事本一样,但是不要着急。
-
按
Esc
键 (或Ctrl
+[
) 退出插入模式现在我们又回到
NORMAL
模式了。 -
输入
:wq
或:x
来保存并退出在
NORMAL
模式下:
代表我们要输入命令,这里我们用到了三个:w
代表写入q
代表退出x
是写入并退出的一个别名
如果我们在后面加上
!
,像这样::q!
这将强制退出 (即放弃更改)。
现在我们来验证一下刚才的编辑成果:
$ cat hello.txt
如果一切顺利你将看到与之前那段文字一样的输出。
参见上面的第五步。
注意到第二行末尾的 abc
了吗?让我们来把它删掉!
- 用
vim
打开hello.txt
- 不要进入插入模式
现在我们来移动光标——使用 h
,j
,k
,l
h
向左j
向下k
向上l
向右
这些默认只移动一格,以 向左
为例,如果我们用 Nh
(N 为任意数字)
之类的话,它将移动 N
格,所以 h
等同与 1h
。
有了这些,我们先将光标移到第二行末尾。按一下 x
,看看发生了什么——
光标下的字符消失了!这正是我们想要的,让我们用同样的办法把剩下的
ab
也删掉,删完后保存退出,看下 cat
的结果:
$ cat hello.txt
Hello world!
I'm lucky!
This is Vim!
好极了不是吗?
当然这只是热身,要想真正学会 Vim
,那就要学习它自带的教程——
vimtutor
,这是 Vim
自己的教程,在命令行中输入
vimtutor
就能进入学习了,Good luck!
vimtutor
是每个 Vim
学习者的必经之路,下一节我们会使用 vim
编写一些简单的 shell
脚本,好好掌握 Vim
吧!持之以恒,坚持就是胜利!
上一个:第 01 章
下一个:第 03 章