导航

Vim初探(一)

Posted on 2011-04-05 15:32  SamWei  阅读(7570)  评论(7编辑  收藏  举报

  Vim是一款简单而强大的文本编辑器,它能以简单的方式完成复杂的操作。Vim(http://www.vim.org/)是一款开源软件,提供Windows, Linux和MacOS上的多平台的版本。MacOS上的Vim称为MacVim(http://code.google.com/p/macvim/)。

  最近开始迷上Vim,喜欢它的操作模式,更喜欢它花花绿绿的样子。下面分享一下自己的学习体会吧。

一.模式

  Vim与其他文本编辑器最大的不同是模式的概念,Vim定义了三种模式:normal, insert以及visual。Vim利用不同模式的划分,不同的操作隶属于不同的模式,也就是说某种操作只能在某个模式下发生,这样在某种程度上简化了操作。模式的概念对于刚接触Vim的人来说可能有些不适应,不过一旦熟悉之后,我保证你会喜欢上它,渐渐的你会成为Vimmer。下面看一下这三种模式的具体定义:

  • Normal mode:Vim的缺省模式,在该模式下运行命令。
  • Insert mode:在该模式下插入/写文本。
  • Visual mode:在该模式下可以选择一块文本区域,并对该区域内的文本执行命令或编辑操作。

  不同模式间的切换非常简单。从Normal到Insert只需按i或I,而从回到Normal只需按<Esc>。从Normal到Visual只需按v或V,而回到Normal也只需要按<Esc>。当然Vim还提供的更多的模式间切换的方式,见下图,图片来自《A Byte of Vim》(http://www.swaroopch.com/notes/Vim)。

二.丢掉鼠标——移动光标

  在Vim上工作你可以完全抛弃鼠标,只用键盘就可以完成全部工作,因为Vim提供了一种多种利用键盘移动光标的方式。下面来看看其中的几种。这部分涉及的操作在Normal模式下完成。

  • 左下上右:分别对应h,jk,l。如果你想一次移动多步,只需在相应命令前加上数字即可,如2h向左移动两步。
  • 开头与结尾:按G跳到最后一行,按1G跳到第一行。在前面加上数字则跳转到相应的行,如50G跳到第50行。

酷不酷?下面还有更酷的!

  • 跳转到下一个词:按w,如果想返回刚才的位置只需按b。和前面类似,若想移动多个词只需指定数字前缀即可。
  • 跳转到下一句:按),按(返回刚才的位置。
  • 跳转到下一段:按},类似的按{返回前一次的位置。
  • 跳来跳去: ctrl-o跳回前一次的位置, ctrl-i跳向下一次的位置。
  • 标记位置:使用ma将一段文本中某个位置标记为a,按'a跳到该位置所在的行,按`a跳到标记a所在的具体位置。可以使用的位置标记有a-zA-Z,共52个。

三.学会help

  Vim中的操作及命令有很多,不可能全都几下来,这是我们就要求助于Vim内置的:help了,如:help various-motions 。或者你去google或stackoverflow提问。

参考资料:

1.http://www.vim.org/

2.http://www.swaroopch.com/notes/Vim

3.http://code.google.com/p/macvim/