什么是 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
在CMD中配置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> +-------------+
如果觉得此篇文章对您有帮助,希望可以请我喝雪碧!