编辑器的神—Vi IMprove(Vim)之神配置—SpaceVim

· · 个人记录

编辑器的神—Vi IMprove(Vim)之神配置—SpaceVim

该文专门 diss Sublime 用户,为了防止被别的用户 diss,该文 不针对 Emacs 之类。

前言

我的同学一直骂 Vim,于是专出此文来表反对。

本文的目的就是为了振兴 Vim 党,不再被鄙视!

Vim 万岁!

放张图:

Sublime Text 被 Vim 踩在脚底下,绝对没问题!

Emacs 与 Vim 相互鄙视,不分上下。

VSCode 用户说:都是什么 lese

So,“VIM IS BEST”(SpaceVim 主页封面):

This is Vim.

Vim 入门(门槛)

  1. 能折腾

  2. 会折腾

  3. 爱折腾

Vim 入门

首先根据系统安装 Vim。

然后运行。

他会提醒救助乌干达儿童

他会提示你退出是 :q,所以我们退出。

在命令行内打 Vim <filename>,把 <filename> 替换成你想编辑的文件即可。

如果 <filename> 不存在,他会新建一个名为 <filename> 的文件。

好的,你现在学会如何打开、关闭 Vim 了。

So, 接下来讲点概念:

Vim 的模式

Normal Mode

然鹅这个模式不太普通

在该模式下,按 iIns 进入 Insert Mode,或者按 : 进入 Command Mode,按 v 进入 Visual Mode,按 R 进入 Replace Mode

在任意模式下,可以按 Esc 进入该模式。

该模式在启用鼠标的情况下可以使用鼠标滚轮进行上下阅读代码。

Insert Mode

然鹅这个模式不是真 Insert

这个模式用来编辑文本,当你用鼠标选中部分文本时,会进入 Visual Mode,但是同下文所述,这是一种兼容的模式,实际上提示 Visual(Insert)

在该模式下可以按 Ins 来进入 Replace Mode

Visual Mode

然鹅并卵用

该模式就是来改代码的,简而言之就是单独的复制粘贴模式。

在该模式下选中代码,按 y 进行 Yank 操作,即提起。

在该模式或 Normal Mode 下将光标移动到代码任意处,按 p 进行 Paste 操作,即粘贴。

Replace Mode

这个是真的 Insert

这个模式用于进行非删除的代码替换。

在该模式下可以兼容 Visual Mode,当你启用了鼠标功能后即可,他会提示一种模式 Visual(Replace),便是如此。

在该模式下可以按 Ins 来进入 Insert Mode。(十分奇怪

Command Mode

并不是指你可以像 Emacs 一样使用 Eshell,但其实也差不多

该模式用于使用 Vim 的命令或系统命令,这些命令大多以 : 开头,在这里列举几个常用的:

  1. :q 退出

  2. :w 写文件

  3. :qa! 强制退出(不保存)

  4. :w! 强制写文件

  5. :wq 写文件并退出

  6. :!<system_command> 执行名为 <system_command> 的命令

总结一下,命令前 ! 表示执行系统命令,命令后 ! 表示强制执行。

那么两个 ! 可以叠加吗? 答案是不可以。

效果如下(:!g++ --version!):

简直神奇

另外,执行命令会引起 Vim 线程堵塞。

Vim 配置-SpaceVim

SpaceVim 中文官网

安装

首先根据你的系统,会有不同方式安装 SpaceVim:

Linux/MacOS

确保你电脑上有 cURL 工具。

使用 curl -sLf https://spacevim.org/cn/install.sh | bash 以安装。

Windows

下载脚本并运行。

安装要求

安装时要求 GitVim(或是 NeoVim