![在 Vim 中自动插入左括号](https://linux22.com/image/1303358/%E5%9C%A8%20Vim%20%E4%B8%AD%E8%87%AA%E5%8A%A8%E6%8F%92%E5%85%A5%E5%B7%A6%E6%8B%AC%E5%8F%B7.png)
我正在尝试在 Vim 中编写一些 Objective-C 代码,而 Xcode 缺少的一项功能是自动插入左匹配括号的功能。
假设我有以下文本:
NSString *string = [NSString alloc] init
并且在行尾插入']',然后我希望它完成到:
NSString *string = [[NSString alloc] init]
有任何想法吗?
答案1
这是一个不错的功能。
除了使用环绕,我不知道确切的解决方案。
t
使用环绕功能,从中init
的 上的光标开始NSString *string = [NSString alloc] init
:
v
进入视觉模式F[
选择到第一个为止的所有内容[
s]
围绕它[]
vF[s]
从长远来看可能会很乏味,如果没有更好/更智能的解决方案,您可以进行如下愚蠢的映射:
inoremap ]] vF[s]
答案2
这个插件可能就是你要找的东西。我还没有亲自试过,但它似乎能起到作用。
例如,
|
光标在哪里:"foo|" becomes "[foo |]" after ] is pressed. "foo bar|" becomes "[foo bar]|" "foo: bar|" becomes "foo: [bar |]" "foo bar: baz|" becomes "[foo bar: baz]|"
某些有用的关键字也会被智能包装