我正在使用插件vim-surround,它映射ds(以“删除周围的括号”,例如将(Hello)转换为Hello。我想映射命令以删除函数应用,例如转动foo(吧)进入吧。
我试过
nmap <Leader>df bdt(ds(
转到单词的开头,删除第一个(然后删除周围的括号。但是,当我使用它时,它只删除括号,并且不会删除括号本身。我已经尝试在初始部分之后放置其他编辑命令,这样就可以了。所以
nmap <Leader>df bdt(x
按预期工作。
同样,我试着做了
nmap <Leader>s ds(
这也有效!
其他不起作用的事情:
nmap <Leader>df bdt(<bar>ds(
有谁知道如何才能使这项工作?
答案 0 :(得分:2)
我建议更简单的映射,如下所示。
nmap <silent> dsf ds)db
这将删除“周围”功能应用程序,因此光标需要位于parens上或内部。
答案 1 :(得分:0)
另一个,假设光标在括号中的某个位置:
nnoremap <leader>df yi(B"_df)p
y
ank i
nside the parentheses B
function
d
选择黑洞注册中的整个函数调用p
使用之前已被删除的文字