vim模式——模式切换及执行shell

vim编辑器,有着编辑器之神称号。但因为其入门难度极高,所以导致非常多的程序员经历从入门到放弃的过程。鄙人也曾放弃过两次,后来才慢慢的逐渐掌握它。算算看,我也是有2年经验的vim的工作者了。

和一般编辑器不同,vim打开后,默认是普通模式,这时候是不能够编辑文本的。关这一步,就劝退了不少使用者了。因为初学者发现,自己怎么不能编辑文件啊,然后心想,还号称宇宙第一编辑器,真是个垃圾编辑器!另外,它是使用不了鼠标的,不能通过鼠标来选择文本等操作。关这两点,估计就吓退了绝大部分初学者了吧!

首先,我们来讲讲什么是vim模式。vim模式有三种(有的教程说四种,将块选择也作为一种模式),分别为普通模式、插入模式以及命令行模式。下面,我做一个图来说明这三者的关系:

进入编辑模式

当我们进入vim编辑器后,默认为普通模式,这时候,如果你想输入些字符的话,需要先进去插入模式才行。进入插入模式可直接按下下面的字母,他们的意义有所不同:

  • a在光标后插入
  • A在当前行最后插入
  • i在光标前插入
  • I在当前行开头插入
  • o在下面插入新的一行
  • O在上面插入新的一行

进入插入模式后,就可以自由的编辑文本了。如想退回到普通模式,只需要按下esc键就可以了。

保存退出

关于命令行模式,我们今天只讲文本的保存退出操作,其他的如搜索、替换留到以后再讲。常见的保存退出命令如下:

  • :w保存文件
  • :wq 保存并退出
  • :q 退出
  • :q! 强制退出,不保存文件
  • :w filename 另存为

执行shell命令

在vim命令行模式里面有一个非常实用的技巧,也是编写shell脚本时候经常会用到的。命令的语法如下:

:! [command]

从命令行模式退回到普通模式的话,有两种方法。第一种将命令行的命令删除掉,另一种是连续按下两次esc键。