删除到vim中当前括号内的结尾

时间:2017-01-17 12:12:59

标签: linux vim text-editor

说我正在编辑这个json

{
  "a": {"language": "python"},
  "b": {},
  "c": {"language": "java"},
  "d": {"encoding": "utf-16"}
}

我的光标位于b的{​​{1}}。我想删除直到当前"b": {}块结束。所以它看起来像,

{}
看起来很奇怪。但解释我想要的东西。

我怎么能在Vim中做到这一点?

2 个答案:

答案 0 :(得分:9)

您可以使用d]} 来自:help ]}

                                    *]}*
]}          go to [count] next unmatched '}'.
            |exclusive| motion.

帮助还说这是动议的用例之一:

The above four commands can be used to go to the start or end of the current
code block.  It is like doing "%" on the '(', ')', '{' or '}' at the other
end of the code block, but you can do this from anywhere in the code block.

答案 1 :(得分:2)

对于您的示例,d]]也有效。按下更容易。 但是,]}更好,因为无论{ or }位于哪一列,它都能正常工作。