Vim

在这里首先要介绍是一个强大的编辑器:vim,传说中的编辑器之神,与 Emacs, 其他编辑器三分天下

对于 vim,很多人都经历了『从入门到放弃』的痛苦过程(俺也一样)。不过这个编辑器之后将一直伴随我们的学习、工作生涯的。这里我首先介绍下一些简单的操作(毕竟很多人第一次用甚至都不会退出),再列举了一些学习流程和学习资料

打开并编辑

vim hello_world.cpp

你会发现什么都做不了,甚至都退出不了,可以摸索下。

按下i键,发现窗口左下角出现了-- INSERT --,表示进入了插入模式,这时候也就可以编辑了。我们可以写一个 C++的 hello world。

#include <iostream>
using namespace std;

int main(){
    cout << "Hello World" << endl;
    return 0;
}

如果你是 Tab 键缩进选手,你会发现此时的 Tab 缩进不是 4 个空格,这个细节日后可能会让你在 windows 下移植到 linux 的代码变得你不认识的样子。同时,如果你试图用 Visual Studio 编辑,然后放到 linux 下,可能还会遇到 GBK 和 utf-8 编码的问题。不用惊慌,这些问题都有人已经遇到过,也给出了解决方法。同学们如果在网上找不到解决方案,也可以在 Issue 中提出。

保存并退出

言归正传,写完程序后怎么保存呢?同样是按下 q,退出插入模式,键入 :x 即可保存并退出。如果没有进行编辑,可以用 :q 退出。若要放弃编辑的内容,可以用 :q!

查看文件内容

保存完后,可以使用 cat 命令查看 hello_world.cpp 文件内容 (catenate)

cat hello_world.cpp

查看文件内容

可以看到 hello world 的程序编写完毕。

Vim 的学习流程

为了掌握 Vim,我们需要掌握

  • Vim 的基本编辑
  • Vim 的高级编辑(如自定义配置文件)
  • Vim 的扩展使用(如插件使用)

首先,ICS 课程中专门介绍了关于 Vim 的使用:Configuring vim。该介绍较为笼统,作为一个引子希望同学们在网上能够自己寻找 Vim 的教程学习。

为了熟悉 Vim 的基本操作,我们可以选择交互式的教材。

  • vimtutor: 在终端中输入

    $ vimtutor
    

    发现进入了一个教程页面。原来 Vim 也知道大家上手难,特地准备了一个供大家学习的工具。

  • openvim.com: 在线模拟 vim 交互学习

  • Command List: 不熟练 vim 时经常会忘记命令。可以保持一份命令列表供经常查询。

[!Note|style:flat|label:缓一缓]

当熟悉上面的操作后,可以等多写一些代码熟练 Vim 后再往下学习,这样可以事半功倍

Vim 的高级操作,当大家熟悉 Vim 了以后,可以在网上寻找到许多人关于 Vim 高级操作的分享。举例言之

许多 Linux 系统中预装了 vi 命令,一个简化的 vim。功能虽然不如 vim 全,但使用方法一样。目前较流行的 Vim 版本有

  • vim-8:原版 vim,目前到第八版
  • neovim:新的开源的 vim fork 版本,更新频繁,倒逼原版 vim 更新
  • macvim:macos 系统带 GUI 的 vim

同时,也有许多 vim 的一站式配置解决方案

大家可以通过这些项目了解好的 Vim 插件,并通过阅读插件的 Readme 学习插件的使用。

© CC BY-NC 4.0            Last Modified: 2021-09-16 03:35:48

results matching ""

    No results matching ""