有没有办法用一个vim命令删除两个非连续的行(可以在一个步骤中撤消)。
我的文件是这样的:
if (enabled) {
const a = 1;
const b = 2;
console.log(a + b);
}
并希望最终得到这个:
const a = 1;
const b = 2;
console.log(a + b);
答案 0 :(得分:2)
答案 1 :(得分:1)
如果您选择示例(例如v$%
),那么
:'<,'>g/{\|}/d
会为您提供所需内容(如果没有嵌套{
或}
)。
另一种方法是录制一个宏,比如
# qa to start recording, the final q to stop. ^O is <Ctrl-o>
qaf{%dd^Oddq
然后将其用于@a。
修改:更通用的解决方案(尽管仍使用可视模式):
您可以添加映射:
:xnoremap <leader>d <esc>:'<d \| '>d<cr>
删除最后一个视觉选择的第一行和最后一行。