VIM文本对象---非常有用

使用Vim一段时间后发现Vim的文本对象很好用,而很多刚使用Vim的同学还不知道这个东西,现在系统的总结一下Vim的文本对象,一则自己备忘,二则不知道的同学可以学习一下。

文本对象在《Vim用户手册》V7.2里面有提到过,但它介绍的比较简单,只说了单词和句子的,我这里大概总结一下我所知道的所有的文本对象。
1.文本对象是什么
顾名思义,文本对象就是符合某一标准的在某两个界定符内的一串文本,比如一个单词,一个句子,一个字符串等。
2.文本对象的优点
文本对象有二个优点,一是无论光标处于该文本对象的哪个字符中,你可以对整个文本对象进行操作;
二是有些情况下你想要进行的操作正好就是一个文本对象的全部内容。
3.文本对象的使用方法
操作+对象范围+文本对象界定符
单词和句子的界定符用w和s来表示,其它的用两个界定符中的任何一个都可以表示。
如daw表示删除一个单词,yis表示复制一个句子。yi(表示复制一个括号中的内容。
4.对文件对象的操作
操作有三种:v、y、d,分别为,选中、复制、删除。
5.文本对象的操作范围
文本对象共有两个范围,一是a,其实它就是英语单词a,表示一个文件对象,对该文本对象的操作会包括文件对象的界定符,如双引号字符串的双引号,括号,尖括号等。
第二个是i,是英语单词inner的缩写,所以这表示操作范围在一个对象之内,不包括界定符。
6.文本对象的类型
文本对象共有七种:w  s  ""  <>  []  ()  {}
前三个文本对象有一个共同点:如果使用a来表示范围,操作内容会包括文本对象后面的所有空白符(空格和制表符),如果文本对象后面没有空白符则包括前面的空白符。

这里要特殊说明的是双引号字符串,光标在双引号字符串的前面时也能对它进行操作,但在后面不行。不知道为什么双引号字符串与其它的不一样,可能是它用的比其它的要多吧。还有就是因为双引号字符串的界定符是一样的,所以如果有两个字符串的话Vim就无法正确判断文本对象了,只要光标前后各有一个双引号,Vim就认为光标就在一个字符串中间。
7.几个例子
This is a word text object.
               daw
This is a text object.

This is a "string"      text object.
da"
This is a text object.

This is a (parentheses) text object.
               di(
This is a  text object.

The first sentence. The second sentence.            The third sentence.
                                          das
The first sentence. The third sentence.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
vimvim-gtk是两个不同的版本的vim编辑器。vim是一个功能丰富且强大的文本编辑器,是Unix和类Unix系统中最常用的编辑器之一。它支持多种功能,包括语法高亮、多级撤销、代码折叠等等。vim是命令行模式的编辑器,它可以通过键盘快捷键进行操作和导航。 而vim-gtk是vim的一个图形化版本,它使用GTK+图形库来提供一个可视化的界面。vim-gtk可以在图形界面中使用鼠标和剪贴板功能,使得编辑更加方便和直观。 在Ubuntu中,默认安装的是vim-tiny,它是一个更小巧的vim版本,包含了一些基本的功能,但禁用了一些可选功能,例如多级撤销。如果需要更全面的功能,可以安装vim-nox或vim-gtk版本。 因此,如果您需要更多功能和图形界面支持,可以安装vim-gtk版本。如果您只需要基本的功能,vim-tiny可能已经足够了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vim-ros-example-vimrc](https://download.csdn.net/download/weixin_42140716/15776809)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [UBUNTU中可用的不同VIM包之间有什么区别?vim-gtk和vim-gnome,vim-nox,vim-athena](https://blog.csdn.net/qq_25814297/article/details/129101218)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值