是否存在vim或gVim命令来在括号中复制文本?

oct*_*bus 4 vim

在下面的代码片段中,如果我转到以(该行开头的第一个左括号(spit

(defn missing-accts 
    "Prints accounts found in one report but not the other."

    [report-header mapped-data out-file]
    (spit out-file (str "\n\n    " 
          (count mapped-data) 
          "   " report-header 
          "\n\n") :append true)
          .
          .
          .
Run Code Online (Sandbox Code Playgroud)

vim突出显示第一个(和右)括号.

有没有,如果有的话,什么是vim命令会抽出整个spit命令?

谢谢.

Bri*_*new 9

序列

va(
Run Code Online (Sandbox Code Playgroud)

将从开头到结束括号的内容突出显示,然后a y会猛拉那个.注意与%命令不同,您不必定位在括号上 - 您只需要在子句中.

注意

vi(
Run Code Online (Sandbox Code Playgroud)

会突出括号的所有内容,但不会突出括号.

您也可以为括号({而不是()和XML标签(t可能是标签)执行此操作

  • 或者更简单,`ya(`,没有参与视觉模式.改为`yi(`如果你只想要没有外括号的内容.也可以在parens内的任何地方工作;你不需要将光标完全带到括号. (3认同)

thb*_*thb 7

Vim确实有这样的命令,幸运的是它非常简单.只需输入y%.

这有效的原因%是Vim称之为移动命令.它从一个分隔符移动到匹配的分隔符 - 在您的情况下从左括号到结束分隔符.如果调用as ,该y命令会将一行放入Vim的缓冲区yy,但第二行y不是必需的.相反,人们可以发出类似的动作%,于是Vim会将移动的文本拉出来.因此,y%.