Emacs。如何删除直到并包括括号?

klm*_*123 0 emacs

我曾经使用 Md 删除以下行中的长子字符串:

if ( aaaaa[dddd(d,s,d)] + bbbbbb[ssd] ) {
Run Code Online (Sandbox Code Playgroud)

但它总是让我烦恼,我需要删除最后一个括号。例如,要删除第一个术语,aaaaa[dddd(d,s,d)]我需要按 Md 4 次和 Cd 2 次。

我想知道,是否有一个命令可以删除直到右括号(对应于第一个左括号)之前的所有内容?

dddd(d,s,d)因此,如果您的光标停留在,则应删除整个daaaaa[dddd(d,s,d)]如果从行首开始a,则应删除整个if ( aaaaa[dddd(d,s,d)] + bbbbbb[ssd] ),如果从行首开始,则应删除整个。

原则上一组命令M-d C-space M-C-f C-w就可以完成这项工作,但我正在寻找一个标准解决方案。

小智 6

尝试M-C-k( kill-sexp) 或M-z ]( zap-to-char)。