我使用kana / vim-textobj-user来定义一些自定义用户对象,但问题是我无法跳过它们:例如
假设我正在使用由ai
和ii
映射的相同缩进文本对象
我想在正常模式下跳转文本,例如]i
和[i
目前我正在使用一种非常黑客的选择和退出视觉模式的方式
那么有一种简单的方法可以做到这一点,并为所有其他用户文本对象提供某种映射。
像]{text-object}
答案 0 :(得分:1)
文本对象仅用于应用命令(例如gU
)或直观地选择文本区域。 动作与/下一次出现的动作高度相关,但是不同的命令。我认为vim-textobj-user插件只提供前者,但不提供后者。
我的CountJump plugin非常相似,并提供了根据正则表达式设置两个文本对象和跳转的命令。
答案 1 :(得分:1)
我正在使用kana / vim-textobj-user来定义一些自定义用户对象 [...] 让我们说我使用的是
ai
和ii
映射的同一缩进文本对象 我希望以正常模式跳转文本,例如]i
和[i
Vim有一堆内置命令,如]m
,[M
等。所以我认为你的意思是]i
/ [i
将光标移动到下一个/上一个文本对象。如果是这样,vim-textobj-user自文本对象首次发布以来就支持selecting和moving。但它不是自动的。至少你必须声明要用于命令的键(例如]i
/ [i
)。
但我想知道以下的事情:
目前我正在使用一种非常黑客的方式来选择和退出视觉模式
您输入的内容有vaio<Esc>
和vai<Esc>
吗?你想要做的是将光标移动到光标下文本对象的第一行/最后一行?如果是这样,vim-textobj-user目前还没有提供API来定义这样的命令。
在这种情况下,可能会自动定义像nmap ]i vai<Esc>
这样的键映射。但它似乎很脆弱,并且覆盖了几个内置命令。