Unverified Commit 610801fd authored by ir1d's avatar ir1d
Browse files

style: minor update on style, change image names

parent f478bc78
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -65,7 +65,7 @@ Vim 的前身是 vi,一个简洁但是略有不足的编译器,但是从 vi

vi 于1976年诞生,与 emacs 不分先后,两者因其快捷的编辑被奉为神器,甚至使用者们还有爆发过“圣战”,即是 神的编译器 emacs VS 编译器之神 Vim,但是当然分不出结果,因为各有优劣。但它们共有的特点就是高度的扩展性与高度的可定制性以及快捷方便的使用。

Vim 的模式区分是一个很有意思的设定,普通模式与插入模式是最主要常用的模式,普通模式下的每个键都是命令,这便是 Vim 不同于 emacs 的地方,若是习惯了 Vim 的模式之间的切换,大部分都是单个键的命令必然比 emacs 的无限 ctrl 会更高效,虽然 Vim 的小容量注定比不了 emacs “操作系统”这个东西那么万能,但是论快而言,Vim 是无可争议的顶尖编辑器。
Vim 的模式区分是一个很有意思的设定,普通模式与插入模式是最主要常用的模式,普通模式下的每个键都是命令,这便是 Vim 不同于 emacs 的地方,若是习惯了 Vim 的模式之间的切换,大部分都是单个键的命令必然比 emacs 的无限 Ctrl 会更高效,虽然 Vim 的小容量注定比不了 emacs “操作系统”这个东西那么万能,但是论快而言,Vim 是无可争议的顶尖编辑器。

Vim 有丰富的插件扩展,这点显然是比配置更迷人的存在。有这些扩展性存在,Vim 成为一个IDE也不会是不可能的事情。

@@ -136,9 +136,9 @@ g++ filename.cpp -o filename

首先,从普通模式如何进入插入模式呢?有数个命令:`i``a``A``o`。前两个差别不大,`i` 是在光标当前位置进行写代码,`a` 是往后挪一个字符写代码。`A` 是移动到当前行尾进行插入,`o` 是在行尾添加换行符并在下一行插入。

而如何返回普通模式?当然是 `esc` 啦。但是,Vim 的插入与普通模式切换异常频繁,而 `esc` 又太远了,有什么办法呢?Vim 还提供了 `ctrl+[` 的快捷键来返回普通模式,是否近多了呢?
而如何返回普通模式?当然是  <kbd>esc</kbd> 啦。但是,Vim 的插入与普通模式切换异常频繁,而 `esc` 又太远了,有什么办法呢?Vim 还提供了 <kbd>Ctrl</kbd> + <kbd>[</kbd> 的快捷键来返回普通模式,是否近多了呢?

虽说能够熟练了后,切换模式不再是问题,但是其实有的时候我们只是需要进入普通模式下按一次小命令,来回切换又显得浪费了一点点时间。而 Vim 又提供了插入-普通模式来避免这一尴尬的问题。在插入模式下,只需要按 `ctrl+o` 即可进入此模式,当进行完一次操作后又会自动回到插入模式。这样岂不是更省时间?
虽说能够熟练了后,切换模式不再是问题,但是其实有的时候我们只是需要进入普通模式下按一次小命令,来回切换又显得浪费了一点点时间。而 Vim 又提供了插入-普通模式来避免这一尴尬的问题。在插入模式下,只需要按 <kbd>Ctrl</kbd> + <kbd>o</kbd> 即可进入此模式,当进行完一次操作后又会自动回到插入模式。这样岂不是更省时间?

##### 普通模式(normal)
Vim 的命令大部分都是在普通模式下完成的,普通模式下可不能乱按,可以说每个键都是命令。
@@ -151,7 +151,7 @@ Vim 的命令大部分都是在普通模式下完成的,普通模式下可不

其实大多数编辑器都是用方向键做出移动命令,Vim 也不例外,但 `hjkl` 给了我们更好的选择,只需要一段时间的适应,你便能快速地操作它们进行移动,而且它们可没有方向键那么远,节省时间是一流的。

普通模式下最重要的命令,没有之一,那就是 `u`。撤销命令,作用是撤销上一次对文本的更改,普通模式下的 `x``d``p` 命令都会被撤销,同时进入一次插入模式所编辑的文本也算一次更改,`u` 命令会删去从进入到退出插入模式所输入的所有东西。与之对应的是 `ctrl+r` 命令,他的作用是撤销上次的撤销命令,相当于大部分 windows下程序中的 `ctrl+y`
普通模式下最重要的命令,没有之一,那就是 `u`。撤销命令,作用是撤销上一次对文本的更改,普通模式下的 `x`,`d`,`p` 命令都会被撤销,同时进入一次插入模式所编辑的文本也算一次更改,`u` 命令会删去从进入到退出插入模式所输入的所有东西。与之对应的是 <kbd>Ctrl</kbd> + <kbd>r</kbd> 命令,他的作用是撤销上次的撤销命令,相当于大部分 windows下程序中的 <kbd>Ctrl</kbd> + <kbd>y</kbd>

然后的话,就是普通模式下常用的命令。由于对行命令的使用很频繁,所以大部分的单键命令都可以通过按两次来实现对行操作。常用命令是 `x` ,用于删除光标后的一个字符。然后是 `d` 命令,也是删除,但是种类更多,这里不做赘述。同时 `d` 命令像之前说的,按两次即可删除整行,即 `dd`。

@@ -224,7 +224,7 @@ vim filename
```
打开文件还是在 Vim 内使用 `:e filename` 来打开文件显然都过于麻烦。那么有没有什么更好的法子?

答案是显然的,Vim 的用户们开发了 nerdtree 这一插件。这个插件达到了一种类似于 VScode 中的效果——工程目录树,之需在左侧目录栏选中相应文件即可打开相应文件。这在配置篇中将会有介绍。nerdtree 的开启方式是在 Vim 中输入 `:NERDTreeToggle` ,它会在左侧打开一个侧边栏窗口。我知道这显然太过麻烦,所以在配置中我给它赋予了`F10`这个快捷键。至于具体还有什么快捷键,详请参照 [此文章]([http://yang3wei.github.io/blog/2013/01/29/nerdtree-kuai-jie-jian-ji-lu/)
答案是显然的,Vim 的用户们开发了 nerdtree 这一插件。这个插件达到了一种类似于 VScode 中的效果——工程目录树,之需在左侧目录栏选中相应文件即可打开相应文件。这在配置篇中将会有介绍。nerdtree 的开启方式是在 Vim 中输入 `:NERDTreeToggle` ,它会在左侧打开一个侧边栏窗口。我知道这显然太过麻烦,所以在配置中我给它赋予了 <kbd>F10</kbd> 这个快捷键。至于具体还有什么快捷键,详请参照 [此文章]([http://yang3wei.github.io/blog/2013/01/29/nerdtree-kuai-jie-jian-ji-lu/)

也许有人要说考场上该如何呢?没关系,Vim 自带了一个稍逊一筹的文件管理器 netrw 。如果你的命令是这样的
```bash
@@ -244,9 +244,10 @@ set autochdir

##### 美化界面
首先就是那行白乎乎的状态栏,显示的信息还不够多,也不好看对吧。显示的信息是可以在配置中写的,请移步配置篇。但是不好看的问题怎么解决呢?这个时候就轮到了 airline 插件出马了,不多说,放两张图自然明白。
![](./images/深度截图_选择区域_20180831165626.png)

![](./images/深度截图_选择区域_20180831165656.png)
![airline1](./images/airline1.png)

![airline2](./images/airline2.png)

然后,其实我们的 nerdtree 插件也是可以美化的,同时多安装一个小插件和一点配置即可达到美化效果,具体请移步配置篇食用。

@@ -266,6 +267,6 @@ delimitMate : 括号补全功能。同时考试中可用配置实现部分功

vimcdoc :汉化 Vim 在线文档。

vimim :这个的安装不在配置中,相当于 Vim 自带中文输入法,需在 .vim 中创建文件夹 Plugin 并把 [从这里](https://www.vim.org/scripts/download_script.php?src_id=23122) 下得的文件扔入此文件夹中即可。打开 Vim 并进入插入模式,按下 <kbd>ctrl</kbd> + <kbd>/</kbd> 即可启用。
vimim :这个的安装不在配置中,相当于 Vim 自带中文输入法,需在 .vim 中创建文件夹 Plugin 并把 [从这里](https://www.vim.org/scripts/download_script.php?src_id=23122) 下得的文件扔入此文件夹中即可。打开 Vim 并进入插入模式,按下 <kbd>Ctrl</kbd> + <kbd>/</kbd> 即可启用。

一切插件的安装写法及快捷键及配置皆在配置篇中,请移步。