之前学习过Vim,但是由于种种原因,没有继续学习下去,其实是毅力不够,没能够坚持下去,所以到现在Vim也只会简单的操作,真是惭愧。现在重新拾起学习Vim,并记录学习过程、Vim中好玩的命令以及学习中遇到的问题……
开始学习Vim是痛苦,因为Vim中命令确实是太多了,但是硬记起来很快又会忘了,所以最有效的方式是:不断地练习,可能这个周期有点长,所以不要期望在短时间内将Vim用得比其他编辑器有效。
好了,废话不多说,开始Vim的学习之旅吧,Come On~
一 安装Vim
(1)在学习Vim之前,肯定是要安装Vim了。在Ubuntu终端下执行sudo apt-get install vim安装Vim。
(2)如何你是用Vim开发C/C++等程序,请顺便安装好C/C++所依赖的一些头文件和库等。在终端下执行sudo apt-get install build-essential。
二 了解Vim的三个基本模式
当我们安装完一个编辑器后,肯定会打开它,然后在里面输入点什么东西,但是打你打开Vim后,想要输入点什么却发现自己什么都没有输入,所以在写点东西之前,先来了解下Vim的三个基本模式
(1) Normal模式
当你启动Vim后,Vim会处于Normal模式。在Vim的Normal模式下,所有的键就是功能键,下面附上Vim快捷键分布图。
(2) Insert模式
在Normal模式下,按下键盘上的i键入Insert模式(当然还有其他方式,比如按下a、o、O等,i是最常用的方法),当你在Vim左下角看到 -Insert- 字体,表明你已经进入Vim的Insert模式。在Insert模式下,你可以自由的输入你想要输入的东西了,就像使用其他编辑器一样~
(3) Visual模式
在Normal模式下按下,按下键盘上的v键进入Visual模式。在Visual模式下,可以让你选择文件的一部分内容,以便进行删除、复制等操作。
三 Vim三个基本模式之间的切换
(1) Normal <-> Insert
在Normal模式下,按下键盘上的i进入Insert模式
在Insert模式下,按下键盘上的Esc键回到Normal模式,如果你不确定是否进入了Normal模式,可以多次按下Esc键
(2) Noraml <-> Visual
在Normal模式下,按下键盘上的v进入Visual模式
在Visual模式下,按下键盘上的Esc键回到Normal模式(也可以再次按下v键)
好了,到此为此,已经完成学习Vim的准备工程,准备正式开始学习Vim……
在正式使用Vim之前,先来点开胃菜,学习下Vim中一些常用的命令,有了这些基本命令,才能让我们使用Vim更加得心应手,加快工作的效率~
注意:接下来将要介绍的命令主要是用在Vim的Normal模式下。
一 创建/修改文件
当需要对一个文件进行编辑时,首先这个文件得存在。你可以使用Vim创建或修改文件(假设文件名为hahaya.cc),在终端下执行 Vim hahaya.cc,这条命令会打开hahaya.cc文件,当hahaya.cc这个文件不存在时,Vim会创建这个文件并打开。
二 在Vim中打开/保存/退出/修改文件
(1) :e filename < – > 打开文件filename,注意filename包含文件路径
:e ~/hahaya.cc 打开主目录下的hahaya.cc文件
(2) saveas filename < – > 文件另存为,注意filename包含文件路径
(3) :w < – > 文件保存
(4) :q < – > 不保存退出,回到终端下
(5) :q! < – > 不保存强制退出
(6) :wq < – > 保存退出
(7) :wq! < – > 强制保存退出
(8) :bn < – > 打开多个文件时,使用该命令切换到下一个文件
(9) :bp < – > 打开多个文件时,使用该命令切换到上一个文件
三 各种插入模式
前面说到过从Normal模式进入Insert模式有很多种方法,下面介绍几种常用的方法
(1) i < – > 在光标前插入,进入到Insert模式
(2) a < – > 在光标后插入,进入Insert模式
(3) o < – > 在当前行后插入一行,进入Insert模式
(4) O < – > 在当前行前插入一行,进入Insert模式
(5) cw < – > change word,替换光标当前所在位置到该单词结尾的字符,其实实际效果是删除,进入Insert模式
四 简单的光标移动
(1) h < – > 将光标向前移动一个字符
(2) j < – > 向下移动一行
(3) k < – > 向上移动一行
(4) l < – > 将光标向后移动一个字符
(5) 0 < – > 数字0,移动到光标所在行的行头
(6) ^ < – > 移动到本行第一个不是blank字符的位置(所谓blank字符就是空格、Tab、换行、回车等)
(7) $ < – > 移动到本行行尾
(8) g_ < – > 移动到本行最后一个不是blank字符的位置
(9) G < – > 移动到本文件的最后一行
(10) NG < – > 移动到本文件的第N行
(11) gg < – > 移动到本文件的第一行
五 拷贝/粘贴
(1) yy < – > 拷贝当前行
(2) Nyy < – > 拷贝从当前行开始的总共N行
(3) p < – > 小写p,粘贴拷贝的内容
六 删除
(1) dd < – > 删除当前行,并把删除的行存放在剪切板中,所有可以使用p进行粘贴
(2) Ndd < – > 删除当前行开始的总共N行,并把删除的行存放在剪切板中,所有可以使用p进行粘贴
七 撤消
(1) u < – > 撤消上一次操作
(2) Ctrl-r < – > 同时按下Ctrl和r键,对u的撤消
Vim中的命令确实比较多,所以记忆起来十分困难,就算记住了,然后不用,那么一段时间后还是会忘记,所以学习Vim命令最好的方法就是:多练,这样不知不觉中就会将Vim的命令牢牢的记住~