Vim入门
什么是 Vim?
Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
连 vim 的官方网站自己也说 vim 是一个程序开发工具而不是文字处理软件。
为什么要学习Vim而不用IDE?
IDE固然强大,但并不是每一个环境都有现成的IDE可用,尤其是SSH远程计算机,就一个bash解析器可以使用,完全没有图形化界面。IDE的另一个弊端就是需要反复的安装升级更新。
当然IDE也有省事的时候,例如开发Java和C#,IDE自带的debug调试工具,可以非常便利的调试程序。
但是在类Unix系统上开发,我还是推荐学习熟练地使用Vim。何为熟练?完全舍弃你的鼠标,只使用键盘快速的进行开发即为熟练。
vi的学习曲线可能比较陡峭。vi分为命令模式(Command mode),插入模式(Insert mode)和底线命令模式(Last line mode)。为了更好的学习Vim,可以先自己安装一个:https://www.vim.org/download.php
在Windows命令行中配置Vim
在自己电脑属性中找到高级系统设置
找到环境变量
找到系统变量
添加vim的安装目录
然后在命令行下面试试输入vim
基本模式
Vim和Vi一样具有三种模式:命令模式(Command mode),插入模式(Insert mode)和底线命令模式(Last line mode)。
命令模式
用户刚刚启动Vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符,而且是区分大小写的!!
以下操作只能在命令模式下:
文本修改键
按键 | 功能 |
---|---|
x | 删除光标位置指定的字符 |
dd | 删除光标所在的行 |
u | 撤销最近的修改 |
U | 撤销对当前行上做的所有修改 |
r | 替换光标位置上的一个字符 |
R | 替换从光标位置开始的字符,同时改变vi到文本输入模式 |
. | 重复上一次的修改 |
光标移动指令(键盘上下左右键也可以)
按键 | 功能 |
---|---|
h | 将光标向左移动一格 |
j | 将光标向下移动一格 |
k | 将光标向上移动一格 |
l | 将光标向右移动一格 |
w | 将光标向右移一个字 |
b | 将光标向左移一个字 |
e | 将光标移到字尾 |
( | 移动到句首 |
) | 移动到下一句 |
{ | 移动到段首 |
} | 移动到下一段 |
[[ | 移动到章首 |
]] | 移动到下一章 |
注意:按行列号移动的时候需要开启行号
显示行号::set nu
取消行号:set nonu
然后利用vi的组合命令特性,采用数字+字符的方式来移动3G
:移动到第三行3|
:移动到第三列
剪切和粘贴键
按键 | 功能 |
---|---|
d | 删除指定位置的文本,并存到临时的缓冲区中。可以使用put操作符(p或P键)访问这个缓冲区 |
y | 将指定位置的文本复制到临时缓冲区。可以使用put操作符访问这个缓冲区 |
P | 将指定缓冲区的内容放到当前光标的位置之上 |
p | 将指定缓冲区的内容放到当前光标的位置之下 |
切换模式键
此时输入下面的按键是进入到编辑模式!
按键 | 功能 |
---|---|
i | 在光标左侧输入正文 |
I | 在光标所在行的行首输入正文 |
a | 在光标右侧输入正文 |
A | 在光标所在行的行尾输入正文 |
o | 在光标所在行的下一行增添新行,光标位于新行的行首 |
O | 在光标所在行的上一行增添新行,光标位于新行的行首 |
模式切换
+----------------+ <Esc> +--------------+ i,I,a,A,o,O,r,R,s,S +-------------+
| +----->------>------>-----+ +----->------>------>-----+ |
| Last line mode | | Command mode | | Insert mode |
| +-----<------<------<-----+ +-----<------<------<-----+ |
+----------------+ : +----+----+----+ <Esc> +-------------+
学习资料
推荐一些Vim相关的书籍:
- Vim实用技巧
- 作者:[英] Drew Neil
- 评分:9.2 分
- vim是一款功能丰富而强大的文本编辑器,其代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中得到非常广泛的使用。vim能够大大提高程序员的工作效率。对于vim高手来说,vim能以与思考同步的速度编辑文本。同时,学习和熟练使用vim又有一定的难度。 《vim实用技巧》为那些想要提升自己的程序员编写,阅读本书是熟练地掌握高超的vim技巧的必由之路。全书共21章,包括121个技巧。每一章都是关于某一相关主题的技巧集合。每一个技巧都有针对性地解决一个或一类问题,帮助读者提升vim的使用技能。《vim实用技巧》示例丰富,讲解清晰,采用一种简单的标记方法,表示交互式的编辑效果,可以帮助读者快速掌握和精通vim。 《vim实用技巧》适合想要学习和掌握vim工具的读者阅读,有一定vim使用经验的程序员,也可以参考查阅以解决特定的问题。
- 学习vi和Vim编辑器(中文版)
- 作者:Arnold Robbins
- 评分:7.5 分
- 《学习vi和Vim编辑器(中文版)(第7版)》的主要内容是:将近三十年的时间里,vi一直是Unix与Linux采用的标准编辑器,从1986年开始,《学习vi和Vim编辑器》一直是第一线的vi导引手册。但三十年来,Unix已不再是三十年前的样子,这《学习vi和Vim编辑器(中文版)(第7版)》也不能一成不变。第7版的《学习vi和Vim》涵盖了Vim的详细指引,Vim是一种很棒的vi同类品。Vim现在是大多数Linux系统上的默认编辑器,也是MacOSX的默认vi版本,同时能在许多其他操作系统上执行。《学习vi和Vim编辑器(中文版第7版)》将说明使用这两种程序编辑文档的基础技巧,并讨论高级工具,例如交互式宏与扩展编辑器的脚本——我们的内容编写成容易遵循步骤操作的风格,成就《学习vi和Vim编辑器(中文版)(第7版)》的经典地位。