一起来说 Vim 语

简介:

一起来说 Vim 语

作为一款古老而具有持久生命力的编辑器,Vim 自有它的强大之处。很多人觉得 Vim 的学习曲线太陡峭了,为了能够把 Vim 用得风生水起,不得不记忆大量的命令。如果你是 Vim 新手,刚入门就开始面对着浩如烟海的命令逐条学习,我相信你一定会逐渐失去对它的兴趣。其实,Vim 以一种近乎自然语言的方式帮助你完成文本的编辑工作。只需要熟悉几条简单的语法,你就会坐在旋转座椅上前后打转,感慨美妙的生活又回来了。

我们假设你已经了解了 Vim 的几种常用的工作模式(正常模式、插入模式、命令模式等),如果你还不了解,请先阅读 这里。现在就让我们一起来学习一下 Vim 语吧。

动词

动词代表了我们打算对文本进行什么样的操作。例如:

  • d 表示删除delete
  • r 表示替换replace
  • c 表示修改change
  • y 表示复制yank
  • v 表示选取visual select

名词

名词代表了我们即将处理的文本。Vim 中有一个专门的术语叫做文本对象text object,下面是一些文本对象的示例:

  • w 表示一个单词word
  • s 表示一个句子sentence
  • p 表示一个段落paragraph
  • t 表示一个 HTML 标签tag
  • 引号或者各种括号所包含的文本称作一个文本块。

介词

介词界定了待编辑文本的范围或者位置。例如:

  • i 表示“在...之内”inside
  • a 表示“环绕...”around
  • t 表示“到...位置前”to
  • f 表示“到...位置上”forward

下面是几个有关范围的示意图,你们感受一下:


Prepositions

组词为句

有了这些基本的语言元素,我们就可以着手构造一些简单的命令了。文本编辑命令的基本语法如下:


  
  
  1. 动词 介词 名词

下面是一些例子(如果熟悉了上面的概念,你将会看到这些例子非常容易理解),请亲自在 Vim 中试验一番。


  
  
  1. # 删除一个段落: delete inside paragraph
  2. dip
  3. # 选取一个句子: visual select inside sentence
  4. vis
  5. # 修改一个单词: change inside word
  6. ciw
  7. # 修改一个单词: change around word
  8. caw
  9. # 删除文本直到字符“x”(不包括字符“x”): delete to x
  10. dtx
  11. # 删除文本直到字符“x”(包括字符“x”): delete forward x
  12. dfx

数词

数词指定了待编辑文本对象的数量,从这个角度而言,数词也可以看作是一种介词。引入数词之后,文本编辑命令的语法就升级成了下面这样:


  
  
  1. 动词 介词/数词 名词

下面是几个例子:


  
  
  1. # 修改三个单词:change three words
  2. c3w
  3. # 删除两个单词:delete two words
  4. d2w

另外,数词也可以修饰动词,表示将操作执行 n 次。于是,我们又有了下面的语法:


  
  
  1. 数词 动词 名词

请看示例:


  
  
  1. # 两次删除单词(等价于删除两个单词): twice delete word
  2. 2dw
  3. # 三次删除字符(等价于删除三个字符):three times delete character
  4. 3x

怎么样,是不是很容易理解?

本文来自云栖社区合作伙伴“Linux中国”,原文发表于2013-04-02.

相关文章
|
4月前
|
程序员 Linux 开发工具
为什么vim是程序员最喜欢的文本编辑器之一
为什么vim是程序员最喜欢的文本编辑器之一
37 0
|
5月前
|
程序员 Linux 项目管理
为什么vim是程序员最喜欢的文本编辑器之一?
为什么vim是程序员最喜欢的文本编辑器之一?
|
开发工具
oeasy教您玩转vim - 12 - # 词头词尾
oeasy教您玩转vim - 12 - # 词头词尾
169 0
|
IDE 开发工具
oeasy教您玩转vim - 4 - # 深入帮助
oeasy教您玩转vim - 4 - # 深入帮助
176 0
|
数据可视化 开发工具
Vim-一款好用的文本编辑器
Vim-一款好用的文本编辑器 关于vim的使用,通过博客,无论是静态的截图或者是代码/文本复制,很难展示所要表现的内容。更多需要读者亲自敲键盘实践之后才知道其作用。 本文不会也无法描述vim过多的细节,仅仅是对于常用的命令做一下记录,因为vim的帮助文档很庞当。
1718 0
|
开发工具
vim 个人使用笔记
首先链接个网址,以后有什么快捷键没有使用过再查询吧 在vim中快速复制粘贴多行 用vim写代码时,经常遇到这样的场景,复制多行,然后粘贴。
815 0
|
开发工具
文本编辑器vim
不知不觉一周的时间又过完了,感觉前所未有的充实!这周学习了vim编辑器据说很重要! 一.打开文件   vim +n  filename 打开文件后,让光标处于第n行的行首,+默认尾行。   vim +/要搜索的词  filename 打开文件后,直接让光标处于第一个被匹配到的行的行首。
846 0