Unverified Commit 9607d06a authored by 洛水·锦依卫's avatar 洛水·锦依卫 Committed by GitHub
Browse files

Update softwares.md

parent b6e62aa0
Loading
Loading
Loading
Loading
+56 −4
Original line number Diff line number Diff line
@@ -79,7 +79,44 @@ vim 是一款非常优秀的文本编辑器,但由于其陡峭的学习曲线

![](https://github.com/LuoshuiTianyi/OI-wiki/blob/master/docs/intro/images/horrorstories.txt.jpg?raw=true)

#### 基础知识
#### 安装

一般的话,linux 系统都是会自带 vim 的,打开终端输入 vim 即可启用。即:
```
vim
```
vim 依附于终端,所以调整终端设置也可以达到美化效果。

但是自带的 vim 很容易有功能残缺,比如有的就不能与系统剪切板交互(将会在效率篇讲解),各种未开启支持。那么这时候我们就需要手动安装,方法有二。第一步先是卸载 vim,命令如下:
```
sudo apt-get remove vim
```
然后安装有两种做法,一是使用命令安装,但我无法确定软件源的版本有没有问题= =。
```
sudo apt-get install vim
```
做法二,先到[https://github.com/vim/vim/archive/v8.1.0338.tar.gz] 下载源码包,然后解压,并进入解压后的文件夹,并打开终端,cd 至文件夹路径,并依次输入如下命令:
```
./configure
make
sudo make install
```
make 的过程可能稍久,淡定点等。

最后在终端输入
```
vim
```
就跳出了那个帮帮乌干达的可怜儿童啥的,按 a 或 i 键开始编辑新文件吧。

或者要打开某个文件的话就可以
```
vim 文件路径
```
可以直接编辑文件。


### 基础知识

分模式来吧。

@@ -103,9 +140,11 @@ vim 的命令大部分都是在普通模式下完成的,普通模式下可不

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

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

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

然后是y命令,可以复制被选中的区域,这涉及到可视模式,即按 v 进入可视模式,多用于选中区域。进入可视模式后移动光标来确定选取范围是可以的,此时按 o 键即可切换活动端,省去了如果跑反方向的麻烦。当然,我相信很多人还是习惯用鼠标操作这一过程的,包括移动光标。vim 很温馨的提供了这一配置:set mouse=a。你可以将它写入你的配置文件中去。有了它之后,你将能够用鼠标选中区域并进行复制操作。当然,选中后按 x 或 d 亦可删除。
然后是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 命令亦可同理。

@@ -134,6 +173,19 @@ asdasdasd

然后是很强大的命令 :s/A 串/B 串/ 作用是把指定范围内的所有 A 串替换成 B 串。想象一下题写完了,但是发现没开 long long 的时候,完全不绝望有没有,一个小命令,妙不可言。

##### 可视模式
可视模式的作用总结起来大概就是选中高亮,但是块状的可视模式可以干更多的事情,不过太麻烦了,对于新人来说大概会脑阔疼。

普通模式下按 v 即可进入可视模式,hjkl 可以移动高亮选区某一头,如果发现反了或者你进入可视模式的时候是在想要选中区域的中间位置,不用急着退出重进,更不用花时间又移回去,只需要按o即可切换活动端,操作高亮选区的另一头。或者用鼠标也不是不行啦......

用鼠标选中高亮选区当然也可以说是进入可视模式的办法之一。

然后就是y或者d操作,没了QwQ。

emm 基础应该就用到这些了吧,往后的插件,配置,效率使用在对应篇幅里。

最后其实 vim 还有一些基础操作,请在终端输入 vimtutor 跟着教程走吧,二三十分钟你就能掌握基础了,但应当严加联系才能彻底掌握。
最后其实 vim 还有一些基础操作,它们在 vim 自带的教程里将会讲述。打开终端输入:
```
vimtutor
```
即可进入教程,二三十分钟你就能掌握基础了,但应当严加联系才能彻底掌握。