我患有一种疾病,无论软件功能多么完善,我总是不满意。
我对从光标开始快速删除/拉动/更改/等一系列文本的能力感到非常满意。
但似乎没有一种以我认为最佳的方式快速而精确地导航实际光标的好方法:
考虑在编辑代码时(在编辑散文时这不是问题),一个是处理繁重的语法,'"[{(<
字符分布在空格之间(为了灵活性,我放弃了制表符,而是使用所有空格,但这并不影响这一点)。这意味着在非单词字符之间跳转的任何有用方法都将跳过代码边界,人们经常需要在代码边界之间执行编辑操作。
因此,虽然b
,e
和w
它们的移位(反向运动)对应物(以及我从未使用过的ge
/ gE
)在一定程度上是有帮助的,但它们并没有提供有用的粒度到零。
这是我的想法:一个神秘的键 X 作为前向搜索f
和t
(以及它们的后向搜索对应物F
和T
)的扩展,它需要两个按键参数而不是一个:
给定这个起始状态,光标位于n
第二行的字符上:
watch: {
files: ['<%= jshint.files %>'],
} // Cursor Here ^
我可以输入Xjs
,这将做的是在光标左侧搜索 first j
,在光标右侧搜索 hte first s
,然后对该范围执行操作。
例如cXjsfoo
产量
watch: {
files: ['<%= foo %>'],
}
cXjtbaz
产量(有时等同于ciwbaz
,但更精确,iw
取决于 iskeyword!)
watch: {
files: ['<%= baz.files %>'],
}
dX%%
猛拉%= baz.files %
离开(即使surround.vim
as%
未被识别为匹配对,这也是不可能的,我也不一定希望它被视为一个):
watch: {
files: ['<>'],
}
等等。
也许另一种思考方式是在指定动词后将光标移动到起始点的追溯方法。
是的,从技术上讲,这样做并不太难F%df%
,但dX%%
在我的脑海中更有意义,因此,F%df%
对我来说,实际上从来没有比 eg 更快hhhhhhhdf%
。进一步考虑X
将很容易绑定到单个键,因此在这种情况下实际上是我们保存的两个按键。
我知道我可以通过 Sublime Text 复古模式的键绑定来做到这一点;它足够强大。但是 Vim 呢?可能吗?