使用语法识别文本对象进行Vim对象选择

我刚刚了解了 vim真正令人敬畏的 object-select功能.将光标放在某个“文本对象”中,一组简单的动词可以选择或操作整个对象.例如,将光标放在下面引号内的任何位置(例如,在’o’上):

print "Hello,world"
           ^

命令vi“将选择引号内的整个短语.相同的功能适用于vim定义的一些”text objects“,包括用引号,括号和括号括起来的单词,句子,段落和字符.

但是现在我想要一个“文本对象”的概念来了解我正在编写的语言.例如,考虑以下python:

re.sub("[^A-Z ]"," ",string)

我希望能够将光标放在某处,并选择整个事物.函数调用一个定义明确的语法结构,但它不是“单词”,“句子”,“段落”,或用引号或括号括起来.

是否有任何插件或vimrc hacks定义了这些与语言相关的“文本对象”?

解决方法

This script使用缩进来定义文本对象.如果您按照通用标准进行格式化,并且保证用于python,它将适用于多种语言.

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...