@@ -61,42 +61,42 @@ Arbiter 为北京航空航天大学为 NOI Linux 开发的评测工具,现已
## 各大编辑器
### Vim -- 编译器之神
#### 历史与争端 (emm 跟战争似的)
vim 的前身是 vi,一个简洁但是略有不足的编译器,但是从 vi 开始,编辑器的模式区分和唯快不破的思想就已经体现的很到位了。vim 即是 vi improved,是在 vi 原本所有的方式上进行的进一步提升,但是并不会改变 vi 的其他本质,只是增加了更多适应如今需要的一些功能。
Vim 的前身是 vi,一个简洁但是略有不足的编译器,但是从 vi 开始,编辑器的模式区分和唯快不破的思想就已经体现的很到位了。Vim 即是 vi improved,是在 vi 原本所有的方式上进行的进一步提升,但是并不会改变 vi 的其他本质,只是增加了更多适应如今需要的一些功能。
vi 于1776年诞生,与 emacs 不分先后,两者因其快捷的编辑被奉为神器,甚至使用者们还有爆发过“圣战”,即是神的编译器 emacs VS 编译器之神 vim,但是当然分不出结果,因为各有优劣。但它们共有的特点就是高度的扩展性与高度的可定制性以及快捷方便的使用。
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也不会是不可能的事情。
Vim 有丰富的插件扩展,这点显然是比配置更迷人的存在。有这些扩展性存在,vim 成为一个IDE也不会是不可能的事情。
然后的话,就是普通模式下常用的命令。由于对行命令的使用很频繁,所以大部分的单键命令都可以通过按两次来实现对行操作。常用命令是 x ,用于删除光标后的一个字符。然后是 d 命令,也是删除,但是种类更多,这里不做赘述。同时 d 命令像之前说的,按两次即可删除整行,即 dd。
然后是y命令,可以复制被选中的区域,这涉及到可视模式,即按 v 进入可视模式,多用于选中区域。进入可视模式后移动光标来确定选取范围是可以的,此时按 o 键即可切换活动端,省去了如果跑反方向的麻烦。当然,我相信很多人还是习惯用鼠标操作这一过程的,包括移动光标。vim 很温馨的提供了这一配置:set mouse=a。你可以将它写入你的配置文件中去。有了它之后,你将能够用鼠标选中区域并进行复制操作。当然,选中后按 x 或 d 亦可删除。同时,y 也符合 d 的性质,yy 将可以复制当前行。
然后是y命令,可以复制被选中的区域,这涉及到可视模式,即按 v 进入可视模式,多用于选中区域。进入可视模式后移动光标来确定选取范围是可以的,此时按 o 键即可切换活动端,省去了如果跑反方向的麻烦。当然,我相信很多人还是习惯用鼠标操作这一过程的,包括移动光标。Vim 很温馨的提供了这一配置:set mouse=a。你可以将它写入你的配置文件中去。有了它之后,你将能够用鼠标选中区域并进行复制操作。当然,选中后按 x 或 d 亦可删除。同时,y 也符合 d 的性质,yy 将可以复制当前行。
然后就是更快的跳跃了。如果说只是使用 hjkl 的话,光标的移动显然不够快,而鼠标却又要伸手去拿。vim 提供了普通模式下更快的跳跃方法,w 可以跳到下个单词的开头,而 e 可以跳到当前单词结尾,0 可以跳至行首,$ 可以跳至行尾,岂不是快多了?而且 w,e,0,$ 还可以用于许多命令中 de,dw,d0,d& 分别对应删至单词尾,删至下个单词头,删至行首,删至行尾。以及 y 命令亦可同理。
然后就是更快的跳跃了。如果说只是使用 hjkl 的话,光标的移动显然不够快,而鼠标却又要伸手去拿。Vim 提供了普通模式下更快的跳跃方法,w 可以跳到下个单词的开头,而 e 可以跳到当前单词结尾,0 可以跳至行首,$ 可以跳至行尾,岂不是快多了?而且 w,e,0,$ 还可以用于许多命令中 de,dw,d0,d& 分别对应删至单词尾,删至下个单词头,删至行首,删至行尾。以及 y 命令亦可同理。
然后是 vim 的可重复。在输入某个命令前,输入一个数字的话,就会重复那么多次。如在普通模式下:
然后是 Vim 的可重复。在输入某个命令前,输入一个数字的话,就会重复那么多次。如在普通模式下:
```
asdasdasdasdasd
asdadasdddd
@@ -165,7 +178,7 @@ asdasdasd
#####命令行模式
其实这并不能称作是一个模式= =。
普通模式下只需要按 : 下方就会蹦出命令框框,输入相关命令即可。如 vim 在线帮助文档,输入 :help 即可,如果看不懂英文......请下载 vim 用户手册中文,或者移步插件篇。
普通模式下只需要按 : 下方就会蹦出命令框框,输入相关命令即可。如 Vim 在线帮助文档,输入 :help 即可,如果看不懂英文......请下载 vim 用户手册中文,或者移步插件篇。