Vim入门

vim.png

什么是 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

在自己电脑属性中找到高级系统设置

电脑属性.png

找到环境变量

环境变量.png

找到系统变量

系统变量.png

添加vim的安装目录

添加vim.png

然后在命令行下面试试输入vim

cmd.png

基本模式

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实用技巧
Vim实用技巧
作者:[英] Drew Neil
评分:9.2 分
vim是一款功能丰富而强大的文本编辑器,其代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中得到非常广泛的使用。vim能够大大提高程序员的工作效率。对于vim高手来说,vim能以与思考同步的速度编辑文本。同时,学习和熟练使用vim又有一定的难度。 《vim实用技巧》为那些想要提升自己的程序员编写,阅读本书是熟练地掌握高超的vim技巧的必由之路。全书共21章,包括121个技巧。每一章都是关于某一相关主题的技巧集合。每一个技巧都有针对性地解决一个或一类问题,帮助读者提升vim的使用技能。《vim实用技巧》示例丰富,讲解清晰,采用一种简单的标记方法,表示交互式的编辑效果,可以帮助读者快速掌握和精通vim。 《vim实用技巧》适合想要学习和掌握vim工具的读者阅读,有一定vim使用经验的程序员,也可以参考查阅以解决特定的问题。

学习vi和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版)》的经典地位。

添加新评论