我想删除我的配置文件中的以下代码:
server {
listen 80;
server_name xxx;
location / {
try_files xx;
}
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用7dd,但这还不够方便 - 如果该部分太长,计算行数会很不方便。
有一个更好的方法吗?
有时,我必须删除整个函数,对此有何想法?
和 Vim 一样,有很多方法!
请注意,前两个解决方案取决于块中是否不存在空行。
如果您的光标在该server行上,请尝试d}。它将删除下一个块的所有内容。
在条目本身内,dap将删除“段落”。
您可以使用 删除花括号块da}。(如果您喜欢这种语法,我推荐 Tim Pope 的出色的around.vim,它添加了更多具有类似感觉的功能)。
您还可以尝试使用正则表达式删除直到下一个最左侧缩进的右花括号: d/^}Enter
]]并[[移动到下一个/上一个第一列花括号(相当于使用/和?使用我上面提到的那个正则表达式。结合d运动,你会得到同样的效果。
如果您在一个块之下,您还可以利用 Vim 搜索的方便的“偏移”功能。d?^{?-1将向后删除到第一列左花括号第一次出现之前的一行。这个命令的输入有点棘手。也许你可以用<leader>它做一条捷径。