Vim Text Objects 文本对象

Plaintext Text Objects

Vim provides text objects for the three building blocks of plaintext:

  1. words
  2. sentences
  3. paragraphs.

Words

aw

a word (includes surrounding white space)
包括单词周围的空格

iw

inner word (does not include surrounding white space)
不包括单词周围的空格

aw, iw 和 w 的区别

The motion w may seem similar to the text object aw. The difference is in the allowed cursor position.

w 和 aw, iw 的区别体现在于光标位置上.

For example, to delete a word using dw, the cursor must be at the start of the word, any other position would delete only part of the word;
however, daw allows the cursor to be at any position in the word.

要使用 dw 来完整删除一个单词, 光标必须在单词的开头. 对应的, 使用 daw 来删除一个单词的时候, 光标可以在单词上的任何一个位置. daw 可以删除单词和单词周围的空白符, 而 diw 只会删除单词自身

W

一段连续的文本 (直到空白符为止)

Sentences

as

a sentence

is

inner sentence

as, is 和 ( )

Like aw, as offers the same cursor position advantage over its motion counterparts ( )
To operate on the entire previous sentence ( requires the cursor to be at the end of the sentence; to operate on the entire next sentence ) requires your cursor to be at the start of the sentence.

as 和 is的区别在于, as 对应的文本包括了句子前后的空白符.

Paragraphs

ap

a paragraph

ip

inner paragraph

ap, ip 对比 { }

同上述的 aw,iw, as,is, ap,ip 的优点在于不需要移动光标到段首就可以删除整个段落.

Programming Language Text Objects

Vim provides several text objects based on common programming language constructs.


Other Text Objects

Strings

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

ps: these command is effective against the first corresponded phrase in the line.

Parentheses ( )

a)

a parenthesized block
一个被括号包围的块

i)

inner parenthesized block
括号内部的块
同时也可以用 b 来表示 ( 和 ), 即 ab, ib

对比 ( )和a), i)
  1. ( ) 表示的是句子的首尾, 而 a), i) 表示的是被 ( ) 包围的文本.
    d( , d) 会从光标位置开始删除到句首/句尾
  2. da), di) 只有当光标在内括号内才会生效, 会删除括号内的内容.
    生效条件 ( 适用于 (), [], {} ):
  3. a) , i) 或 ab, ib 仅当光标在括号体中才能生效
使用 % 在括号之间移动

The % motion is used to move cursor to the first parentheses (bracing character) in the line.

用于将光标移动至当前行的第一个括号/包围符号, 以及在这对括号之间切换光标位置.

d%

用于删除从光标到括号(包围符号) 之间的文本.

对比 % 和 a)

1.a) 和 i) 更加便利, 用于选中 ( ) 中的文本, 但是只有当光标在 括号中才会生效.

  1. 而 % 可以将光标跳转到 该行的括号上, 或者是在两个 ( ) 之间切换光标位置.
  2. da) 会删除本行的第一个括号间的内容.
  3. d% 会删除从光标的位置开始直到第一个括号结束之间的内容.

Brackets [ ]

a]

a bracketed block

i]

inner bracketed block
用法同括号( )

The % movement can also be with []. However, it has the same limited flexibility when using it with ().

Braces { }

a}

a brace block

i}

inner brace block
% 也对 { } 生效.
a} , i} 也可以用 aB, iB 替代.

Markup Language Tag

tag content selection:
cursor need to be arounded by a pair of tags.

at

a tag block (tag included)
整个标签和标签包围的文本

it

inner tag block (tag excluded)
被标签包围的文本

tag selection:
cursor need to be inside tag itself

da< 或 da>

删除这个tag

di< 或 di>

删除tag中的文本

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容