一起来说 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

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

时间: 2024-10-17 13:28:06

一起来说 Vim 语的相关文章

linux vim的配置

初次接触这个有点陌生,但又有一丝惊喜!对于一个新手来说vim的配置真的无从下手,于是从网上查找资料浏览博客也有一些收获,于是就想着分享给大家,我觉得我自己配置肯定没这些大神们做的好,因此在此处贴上他们博客的链接,你们可以去学习一下! http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html http://blog.csdn.net/namecyf/article/details/7787479 我也是参照他们的博客做的,很不错!可

Vim,一个开放源代码的文本编辑器(转)

Vim,http://linux.21ds.net/2002/03/13/0268dc26fd9c725c23dae68d797935f3/ 作者:Bram Moolenaar 翻译:slimzhao 开放源码的自由软件-VIM的主创者在本文中讲述了 vim的开发内幕和发展方向. 同时提出慈善软件的概念并解释了Bram为何将这一概念用之于vim. 本文也深入程序内部的函数和数据结构, 作者讲述了vim这一复杂的程序是如何工作的, 并且讨论了在vim最新版6.0中的新功能. 介绍 不太可能你还从来

Vim 从入门到精通

Vim from zero to hero - Vim 从入门到精通 原文地址:https://github.com/mhinz/vim-galore 原文作者:Marco Hinz 简介 什么是 Vim? Vim 哲学 入门 精简的 vimrc 我正在使用什么样的 Vim 备忘录 基础 缓冲区,窗口,标签 已激活.已载入.已列出.已命名的缓冲区 参数列表 按键映射 映射前置键 寄存器 范围 标注 补全 动作,操作符,文本对象 自动命令 变更历史,跳转历史 内容变更历史记录 全局位置信息表,局部

我为什么选择Vim

总看到一些飞快敲击键盘而不用鼠标的时候你可以很羡慕和佩服,其实这完全没有必要.就像一个吉他手熟练地弹吉他有必要羡慕吗?一个瓦匠熟练地砌砖有必要羡慕吗?这些都是他们赖以生存的工具而已,熟练地运用工具是理所当然的事情.而一个程序员,一个文本编辑者,你如果没有熟练运用你的编辑工具,其实还是挺不应该的,而工具又有优劣之分,选对工具很重要.编辑器有Sublime.Notepad++.EditPlus.Visual Studio Code,以及号称21世纪编辑器的Atom,这些编辑器都很好用,用户基础都很多

ubuntu下linux内核源码阅读工具和调试方法总结

http://blog.chinaunix.net/uid-20940095-id-66148.html 一 linux内核源码阅读工具 windows下当然首选source insight, 但是linux下就没有source insight这么优秀的工具了,但是也有不少的替代品,但觉绝对部分人会选择vim+ctags+cscope的组合,还有部分人或选择wine中的source insight或选择navigatror,当然对于代码阅读来说vim+ctags+cscope的组合还是比较好的一

汇编语言学习笔记2

1.严格来说汇编语是由以下三部分组成: 1.汇编指令:助记符,即用英语字符替换机器码 2.伪指令:由编译器编译执行,即Mov等控制指令 3.其它符号:由编译器编译执行,计算机是不能识别"+","-"等符号,所以需要编译器编译成机器语言 2.汇编语言的核心是汇编指令,他决定汇编语言的特性 3.我们都知道CPU是计算器的核心部分,想让CPU工作,必须向他提供指令和数据,指令即告诉计算机让它做什么,数据是告诉计算机,让它拿哪些数据做 4.指令和数据在存储器中存放,也就是平

linux内核源码级调试

一 linux内核源码阅读工具 windows下当然首选source insight, 但是linux下就没有source insight这么优秀的工具了,但是也有不少的替代品,但觉绝对部分人会选择vim+ctags+cscope的组合,还有部分人或选择wine中的source insight或选择navigatror,当然对于代码阅读来说vim+ctags+cscope的组合还是比较好的一个选择方案,但是,当我使用了eclipse之后,个人感觉用eclipse作为linux环境下源码阅读工具确

最佳vim技巧

最佳vim技巧----------------------------------------# 信息来源----------------------------------------www.vim.org         : 官方站点comp.editors        : 新闻组http://www.newriders.com/books/opl/ebooks/0735710015.html : Vim书籍http://vimdoc.sourceforge.net/cgi-bin/vim

Linux Vim常用命令配置,插件ctags/taglist/WinManager/Easygrep,打造强悍IDE

写在前面 对于很多经常使用Linux的童鞋来说,VIM并不陌生,有很多强悍的功能,但是比起Windows的下的某些代码编辑查看工具,在方便和实用性上还是逊色不少.但是,VIM得可塑性非常强,可以扩展支持很多的插件,使用这些插件,我们能够完全将其打造成一款Linux下的酷炫IDE. 于是通过参考相关的文章以及VIM官方插件的官方帮助,总结了这篇玩转VIM,让插件带你飞的文章! 目的:在VIM下能够高效的编写阅读源代码! 接下来,我们先从source insight的基本功能说起,如下图,可以看到基