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

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:

主站蜘蛛池模板: 色达县| 石楼县| 阜康市| 常熟市| 台湾省| 都江堰市| 兴国县| 桃园市| 钟祥市| 文化| 锡林郭勒盟| 阿拉尔市| 连平县| 岚皋县| 介休市| 修武县| 镇远县| 伊通| 金平| 朝阳县| 蒙城县| 新乡市| 桂平市| 西安市| 平塘县| 永仁县| 芒康县| 射洪县| 平顺县| 晋州市| 泾源县| 邵阳县| 中牟县| 芜湖县| 屏东市| 社旗县| 临江市| 札达县| 南丰县| 旬邑县| 封开县|