资讯专栏INFORMATION COLUMN

Vim 文本对象指南 (2)

awesome23 / 2993人阅读

摘要:接文本对象指南关于插件使用可以查看完整配置编程语言的文本对象基于常见编程语言结构提供了几个常见的文本对象其实都是一对儿符号,主要可以分为成对的标点符号,比如单引号,双引号,反引号。而非文本对象操作时,会从当前光标处开始生效。

接 Vim 文本对象指南 (1), 关于插件使用, 可以查看完整配置 space-vim.


编程语言的文本对象

Vim 基于常见编程语言结构提供了几个常见的文本对象. 其实都是一对儿符号,主要可以分为:

成对的标点符号,比如单引号,双引号,反引号。

成对的括号,比如小括号,中括号,大括号。

标记语言标签,它们也是成对的,比如 HTML 的标签,

模式为 操作 + a/i + 符号,这样操作的就是文本对象。不加 a 或者 i 的话就不是一个对文本对象的操作了。对文本对象进行操作时,Vim 不会考虑你的光标位置。而非文本对象操作时,会从当前光标处开始生效。

举个例子, ci" 指的是 change inner ", 改变 ""所包含的内容,也就是删除 "" 里面的内容并进入插入模式。

使用 a (around) 时,操作的范围包括标点符号,括号,标签本身。使用 i (inner) 时,不包括符号,括号,标签等。动手试一下,很快就能学会了。

字符串 (string)

a” – a double quoted string

i” – inner double quoted string

a’ – a single quoted string

i’ – inner single quoted string

a` – a back quoted string

i` – inner back quoted string

puts "Hello "world""

ci"

puts "Hello """
圆括号

对于各种括号, 操作时使用前括号或后括号都可以, 比如 da( 等同于 da).

a) – a parenthesized block

i) – inner parenthesized block

Project.all(:conditions => { :published => true })

da)

Project.all
方括号

a] – a bracketed block

i] – inner bracketed block

(defn sum [x y]
  (+ x y))

di]

(defn sum []
  (+ x y))
大括号

a} – a brace block

i} – inner brace block

puts "Name: #{user.name}"

ci}

puts "Name: #{}"

这些文本对象同样可以通过 aBiB 来操作, 但是并不如使用 a}i} 来的直观.

% 同样适用于 {}. 但是也有着 () 和 [] 一样的限制性.

标记语言标签

标记语言标签分为两类: t 和 >, t 所操作的是标签内包含的内容, 比如

content

之间包含的内容就是 t 来操作. <> 的内容指的是

里面的 p. 具体可以看下面的例子。

at – a tag block

it – inner tag block

Sample Title

cit

因为操作后光标并不在

里面, 所以 cit 替换标记里面的内容是非常方便的.

a> – a single tag

i> – inner single tag

di>

<>

这个文本对象也可以被用来快速操作单个标记及其属性.

参考:
[1] Vim Text Objects: The Definitive Guide

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/24942.html

相关文章

  • Vim 文本对象指南 (1)

    摘要:本文还是介绍一些基本内容关于插件使用可以查看完整配置如果想要在里拥有高效编辑的能力必然要掌握超过单个字符编辑的能力不然就可能出现像之前看到过的一个笑话在你刚开始使用的时候做过什么令你难忘的事情答使用跳转到行也就是说要掌握词句子段落级别的编 本文还是介绍一些基本内容, 关于插件使用, 可以查看完整配置 space-vim. 如果想要在 Vim 里拥有高效编辑的能力, 必然要掌握超过单个...

    draveness 评论0 收藏0
  • Vim 学习指南

    摘要:对比显示下一个上一个文件缓存花些时间学习所有这些命令。实现和在插入模式中只要打出单词的首字母,然后按,神奇的事情就发生了宏命令做的一些事把你的动作记录在了寄存器中。是将你最后一次执行的宏命令再次执行的快捷键。学习更多的是记忆训练。 你想尽可能快地自学vim(为大家所熟知的最好的编辑器) 。这是我学习的方法:从细处入手然后慢慢掌握所有技巧。Vim : 设计优良,强壮,快速。 ...

    104828720 评论0 收藏0
  • Vim实战指南(五):文本替换

    摘要:原文地址实战指南五文本替换在编辑代码时,有时候你希望对变量或者函数重命名。提供了强大的替换功能,比其他普通编辑器的更好用。事实上你打不用如此麻烦,只需下面简单的替换即可本文列出了常用的文本编辑中全局替换的方法。 原文地址:Vim实战指南(五):文本替换 Introduction 在编辑代码时,有时候你希望对变量或者函数重命名。vi提供了强大的替换功能,比其他普通编辑器的ctrl+r更好...

    ad6623 评论0 收藏0
  • Vim实战指南(一):基础编辑命令

    摘要:原文地址实战指南一基础编辑命令和作为两大神级文本编辑器各有利弊,本实战指南不加讨论的介绍本实战指南不是教你按照的键位图来编辑文本,而是从实战的角度,教你如何快速的用来开发你的程序,节省你的开发时间。 原文地址:Vim实战指南(一):基础编辑命令 Introduction Vim和Emacs作为两大神级文本编辑器各有利弊,本实战指南不加讨论的介绍Vim.本实战指南不是教你按照Vim的键位...

    learn_shifeng 评论0 收藏0
  • Vim实战指南(四):ex命令

    摘要:原文地址实战指南四命令是下的一个文本编辑器。你已经见过中的,没错,这些就是来自于命令。当你希望显示某行,输入命令,显示器上才会显示那行。而控制这个显示器显示文本的命令行工具,就是。 原文地址:Vim实战指南(四):ex命令 Introduction ex是Unix下的一个文本编辑器。至于为什么突然讲到这个,那是因为vi就是ex的visual mode。你已经见过vi中的:w, :q!,...

    icyfire 评论0 收藏0

发表评论

0条评论

awesome23

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<