官术网_书友最值得收藏!

  • Mastering Vim
  • Ruslan Osipov
  • 263字
  • 2021-06-10 18:51:32

Utilizing text objects

Text objects are an additional type of object in Vim. Text objects allow you to manipulate text within parentheses or quotes, which becomes really useful when working with code. Text objects are only available when combined with other operators like change or delete or a visual mode (see Visual and Select Modes in Chapter 3Follow the Leader – Plugin Management).

Let's give it a shot. Navigate your cursor to the text between parentheses:

Now, type in di) (delete inside parentheses). This will delete the text inside parentheses:

This works similarly with a change command. Undo the previous change (u) and start in the same spot:

Execute c2aw (change the outside of two words) to delete two words (with the surrounding spaces) and enter insert mode:

Text objects come in two flavors—inner objects (prefixed by i) and outer objects (prefixed by a). Inner objects do not include white space (or other surrounding characters), while outer objects do.

A full list of text objects can be looked up through :help text-objects, but some interesting ones are as follows:

  • w and W for words and WORDs
  • s for sentences
  • p for paragraphs
  • t for HTML/XML tags

Pairs of characters that are most often used in programming are all supported as text objects: `, ', ", ), ], >, and } select the text enclosed by the characters.

One way to think about working with text objects is that it's like constructing sentences. Here are the two examples that we used previously broken down:

主站蜘蛛池模板: 柳江县| 明水县| 延吉市| 武夷山市| 天门市| 晋宁县| 长葛市| 潞城市| 互助| 海晏县| 财经| 千阳县| 夏津县| 隆尧县| 县级市| 富裕县| 措勤县| 安义县| 梧州市| 望奎县| 海南省| 星子县| 元阳县| 新竹市| 邵武市| 曲松县| 灵寿县| 海宁市| 淄博市| 宾阳县| 金乡县| 安宁市| 龙州县| 沂南县| 灵石县| 新安县| 南开区| 三都| 辽中县| 嘉兴市| 汉沽区|