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

  • 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:

主站蜘蛛池模板: 泸西县| 保康县| 海林市| 塘沽区| 莎车县| 璧山县| 高雄市| 锦州市| 贵溪市| 闽清县| 宜兰县| 纳雍县| 武夷山市| 咸丰县| 白银市| 延庆县| 盐源县| 乌拉特中旗| 南郑县| 都安| 怀柔区| 宁都县| 永和县| 大埔区| 镇远县| 彩票| 和林格尔县| 奇台县| 新泰市| 绥宁县| 泰安市| 邻水| 行唐县| 南开区| 邹平县| 普格县| 呼和浩特市| 阜新市| 扶余县| 广丰县| 兴安县|