第一章 开始VIM
在这章节里,你会学习如何用不同的方法在终端启动VIM,当我写这篇指南的时候我正使用着Vim8.2。如果你用Neovim或者更老的Vim版本,应该问题不大,但是要注意可能有一些指令会无法使用。
安装
我不会太详细地介绍如何在一台机子上安装VIM。幸亏绝大多数以Unix为核心的电脑都自带了VIM。如果没有自带,大多数发行版也都有一些介绍如何安装VIM。
以下是下载信息,一个是VIM的官方下载网站,还有一个是VIM的官方github
1.VIM网站
2.VIM github
VIM指令
现在你已经装上了VIM,在terminal中运行下面这句代码:
vim
你应该看到了一个介绍的屏幕。这就是你编辑文本的地方。不像其他文本编辑器和IDE,VIM是一个模式编辑器。如果你想要打”hello”这个单词,你需要先按下i键转换到插入模式,具体按键是ihello<Esc>
。
退出VIM
有多种方式退出VIM,其中最常用的命令就是输入:quit
当然你可以用缩写版本的命令:q
。这个命令是在命令行模式(另一个VIM模式)下输入的行命令。如果你在普通模式下按下:
,光标会移动到屏幕的底部,在那里你可以输入一些命令。你会在第15章节学习到命令行模式。如果你在插入模式按下:
,那么你就会得到冒号的字符。这种情况下你需要按下<Esc>
来回到普通模式。没错,在插入模式下按下<Esc>
能让你回到普通模式。
保存一个文件
如果你想要保存做出的修改,请输入指令:write
你同样可以用它的缩写版本:w
。如果这是一个新的文件,你需要给它一个名字。让我们给它取个file.txt
,只需要运行这条指令:w file.txt
如果你想保存然后退出,你可以组合:w
和:q
指令::wq
如果你不想保存,添加强制执行符!
,执行:q!
还有其他方式去退出VIM,但这些指令已经足够你的日常使用了。
帮助
接下来我会向你介绍非常多的VIM帮助界面。你可以输入指令:h {some-command}
(:h
更短)来获取帮助。你可以在:h
后跟上一个话题,或者是一个指令的名字 作为参数。比如说,我想学习多种方式退出VIM,输入:h write-quit
那我是怎么知道要搜索”write-quie”的呢?其实我并不需要知道,我只是按下:h
,然后输入”quit”,然后按<Tab>
。VIM显示相关的关键词供你选择。如果你想找什么东西(我希望VIM可以做到),只需要按下:h
,输入一些关键词,然后<Tab>
。
打开一个文件
当你想要在terminal的VIM中打开一个叫做 hello1.txt 的文件时,运行
vim hello1.txt
你也可以一次性打开多个文件:
vim hello1.txt hello2.txt hello3.txt
VIM会在不同的buffers里,不知道buffers是啥?别担心,你会在下一节里面学到buffers。
命令行参数
你可以在命令行终端里在vim
后面加不同的参数和选项。
比如你想要看一下你用的vim是什么版本的,运行
vim --version
它会告诉你VIM的版本 和 用+
和-
标记所有可用的功能和不可用的功能。在这份指南中,要求启用某些功能。比如,你会在后面一些章节里用:history
浏览VIM的命令行历史。但你的VIM需要有+cmdline_history
(或者+cmdline_hist
?)才能这么玩。你刚刚安装的VIM很有可能具备所有必要性的功能,特别是从那些热门站点下载的。
很多在命令行终端能执行的命令同样可以在VIM中执行,比如上面那条查看VIM版本命令,你可以
:version
如果你想打开hello.txt
的同时想要执行一个指令,你可以在vim
指令后加上+{cmd}
参数。
在VIM里,你可以用:s
命令来替换文本(:subsitute
的缩写)。如果你想要打开hello.txt
的同时把所有的”pancake”单词替换成”bagel”单词,运行
vim +%s/pancake/bagel/g hello.txt
这条命令同样可以被堆起来用
vim +%s/pancake/bagel/g +%s/bagel/egg/g +%s/egg/donut/g hello.txt
VIM会把所有的”pancake”替换成”bagel”,然后把所有的”bagel”替换成”egg”,然后把所有的”egg”替换成”donut”(你将会在后面的章节里学到替换操作)。
你同样可以用c
选项来替换掉+
vim -c %s/pancake/bagel/g +%s/bagel/egg/g +%s/egg/donut/g hello.txt
vim -c %s/pancake/bagel/g hello.txt
打开多个窗口
你可以用o
和O
分别在VIM中水平和垂直分屏。
你想在VIM中打开两个水平分开的窗口,运行
vim -o2
打开五个水平分开的窗口,运行
vim -o5
打开五个水平分开的窗口,最前面两个是hello1.txt和hello2.txt
vim -o5 hello1.txt hello2.txt
然后下面是垂直分开的三个指令
vim -O2
vim -O5
vim -O5 hello1.txt hello2.txt
关闭
如果在编辑中想要关闭VIM,你可以按下Ctrl-z
。你同样可以用:stop
和:suspend
命令。当你想要打开之前关闭的VIM,在命令行终端里输入fg
(仅限Linux)。
睿智地启动VIM(Starting Vim the Smart Way
你可以在vim
命令后面加一些不同的指令和参数,就像其他终端命令一样。命令行指令(+{cmd})是其中一种参数。当你通过这篇指南学到了更多的命令,看看你能不能将这个运用在启动上。VIM作为一个终端命令,你可以用其他终端命令来组合vim
。如果说你可以用ls -l|vim -
把ls
的输出重定向到 Vim 中。(vim -
是输入重定向 ctrl-z
是EOF
想学更多VIM的终端指令,试试man vim
。想学更多VIM的,就跟着:help
指令一起继续读下去把~