学习vim 第1章
start at 2021/09/10?

第一章 开始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

打开多个窗口

你可以用oO分别在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-zEOF

想学更多VIM的终端指令,试试man vim。想学更多VIM的,就跟着:help指令一起继续读下去把~

2021/09/10
> CLICK TO back <