Vim教程0 介绍与基本命令

1. 历史

Vim(Vi IMproved)是从"Vi"发展出来的一个文本编辑器。其代码不全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

2. 为何学Vim

对于大多数用户来说,Vim有着一个比较陡峭的学习曲线。这意味着开始学习的时候可能会进展缓慢,但是一旦掌握一些基本操作之后,能大幅度提高编辑效率。

3. Vim的工作模式

一般而言,Vim可以简化为三种工作模式:

  • 命令模式。用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。
  • 输入模式。在命令模式下按下i就进入了输入模式。可以在输入模式中对文本进行编辑。
  • 底线命令模式。在命令模式下按下:(英文冒号)就进入了底线命令模式,可以在底线命令模式输入 write quit等命令来保存/退出。 ^exe-cmd-mod

以下的图是Vim工作模式的状态机。

1. 历史

Vim(Vi IMproved)是从"Vi"发展出来的一个文本编辑器。其代码不全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

2. 为何学Vim

对于大多数用户来说,Vim有着一个比较陡峭的学习曲线。这意味着开始学习的时候可能会进展缓慢,但是一旦掌握一些基本操作之后,能大幅度提高编辑效率。

3. Vim的工作模式

一般而言,Vim可以简化为三种工作模式:

  • 命令模式。用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。
  • 输入模式。在命令模式下按下i就进入了输入模式。可以在输入模式中对文本进行编辑。
  • 底线命令模式。在命令模式下按下:(英文冒号)就进入了底线命令模式,可以在底线命令模式输入 write quit等命令来保存/退出。

以下的图是Vim工作模式的状态机。

在这里插入图片描述

4. Vim的基础命令

4.1退出Vim

有好几种不同的方法都可以退出Vim。在stackflow论坛上,有个著名的问题“如何退出Vim”,五年来,有超过100万开发者遇到相同的问题。_,这件事已经成为了开发者中的一个梗。最常用的退出方法是在Vim中输入:

:quit
:q

注意是要在[[Vim0 start#^exe-cmd-mod|底线命令行模式]]输入该指令,其中在编辑模式时需要用<ESC> 回到命令模式,再使用:进入命令行模式,再输入 quit 或者 q 退出。

4.2 保存Vim

若要保存您的修改,在[[Vim0 start#^exe-cmd-mod|底线命令行模式]]中,在Vim中输入:

:write

您也可以输入简写’:w’。如果这是一个新建的文件,您必须给出文件名才能保存。下面的命令使文件保存为名为’file.txt’的文件,在Vim命令行运行:

:w file.txt

如果想保存并退出,可以将’:w’和’:q’命令联起来,在Vim命令行中输入:

:wq

如果想不保存修改而强制退出,可以在’:q’命令后加’!'(叹号),在Vim命令行中:

:q!

4.3 打开文件

如果想在终端中使用Vim打开名为(‘hello1.txt’),在终端中运行:

vim hello1.txt

可以一次打开多个文件,在终端中:

vim hello1.txt hello2.txt hello3.txt

Vim会在不同的buffers中打开’hello1.txt’,‘hello2.txt’,‘hello3.txt’。之后会对Vim的Buffer进行介绍。

4.4 帮助man

可以通过输入:help {命令}(:h是简写)进入相关命令的帮助文档。可以向:h命令传递主题、命令名作为参数。比如,如果想查询退出Vim的方法,在vim中输入:

:h write-quit

我是怎么知道应该搜索"write-quit"这个关键词的呢?实际上我也不知道,我仅仅只是输入’:h quit’,然后多按几次<Tab>。Vim会自动显示相关联的关键词供用户选择。如果您需要查询一些信息,只需要输入:h后接关键词,然后按<Tab>

4.5 打开多个窗口

您可以使用oO选项使Vim打开后分别显示为水平或垂直分割的窗口。

若想将Vim打开为2个水平分割的窗口,在终端中运行:

vim -o2

若想将Vim打开为5个水平分割的窗口,在终端中运行:

vim -o5

若想将Vim打开为5个水平分割的窗口,并使前两个窗口显示hello1.txthello2.txt的内容,在终端中运行:

vim -o5 hello1.txt hello2.txt

若想将Vim打开为2个垂直分割的窗口、5个垂直分割的窗口、5个垂直分割窗口并显示2个文件,在终端中分别运行以下命令:

vim -O2
vim -O5
vim -O5 hello1.txt hello2.txt

具体的窗口切换也会在接下来的章节进行介绍。

4. Vim的基础命令

4.1退出Vim

有好几种不同的方法都可以退出Vim。在stackflow论坛上,有个著名的问题“如何退出Vim”,五年来,有超过100万开发者遇到相同的问题。_,这件事已经成为了开发者中的一个梗。最常用的退出方法是在Vim中输入:

:quit
:q

注意是要在[[Vim0 start#^exe-cmd-mod|底线命令行模式]]输入该指令,其中在编辑模式时需要用<ESC> 回到命令模式,再使用:进入命令行模式,再输入 quit 或者 q 退出。

4.2 保存Vim

若要保存您的修改,在[[Vim0 start#^exe-cmd-mod|底线命令行模式]]中,在Vim中输入:

:write

您也可以输入简写’:w’。如果这是一个新建的文件,您必须给出文件名才能保存。下面的命令使文件保存为名为’file.txt’的文件,在Vim命令行运行:

:w file.txt

如果想保存并退出,可以将’:w’和’:q’命令联起来,在Vim命令行中输入:

:wq

如果想不保存修改而强制退出,可以在’:q’命令后加’!'(叹号),在Vim命令行中:

:q!

4.3 打开文件

如果想在终端中使用Vim打开名为(‘hello1.txt’),在终端中运行:

vim hello1.txt

可以一次打开多个文件,在终端中:

vim hello1.txt hello2.txt hello3.txt

Vim会在不同的buffers中打开’hello1.txt’,‘hello2.txt’,‘hello3.txt’。之后会对Vim的Buffer进行介绍。

4.4 帮助man

可以通过输入:help {命令}(:h是简写)进入相关命令的帮助文档。可以向:h命令传递主题、命令名作为参数。比如,如果想查询退出Vim的方法,在vim中输入:

:h write-quit

我是怎么知道应该搜索"write-quit"这个关键词的呢?实际上我也不知道,我仅仅只是输入’:h quit’,然后多按几次<Tab>。Vim会自动显示相关联的关键词供用户选择。如果您需要查询一些信息,只需要输入:h后接关键词,然后按<Tab>

4.5 打开多个窗口

您可以使用oO选项使Vim打开后分别显示为水平或垂直分割的窗口。

若想将Vim打开为2个水平分割的窗口,在终端中运行:

vim -o2

若想将Vim打开为5个水平分割的窗口,在终端中运行:

vim -o5

若想将Vim打开为5个水平分割的窗口,并使前两个窗口显示hello1.txthello2.txt的内容,在终端中运行:

vim -o5 hello1.txt hello2.txt

若想将Vim打开为2个垂直分割的窗口、5个垂直分割的窗口、5个垂直分割窗口并显示2个文件,在终端中分别运行以下命令:

vim -O2
vim -O5
vim -O5 hello1.txt hello2.txt

具体的窗口切换也会在接下来的章节进行介绍。

参考资料:

github-learnvim
菜鸟教程

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...