Vim:如何将所选文本作为vim命令执行

luq*_*qui 28 vim

当我编写文档时,我发现自己已经找到了适合该文档的orginization约定,我希望vim能够突出显示该约定.但是制作一个ftplugin太"全局"了,我希望语法着色随文档一起提供,所以如果我把它发送到没有该插件的某个地方,他们仍然可以获得着色.我发现你无法通过模式线进行,因为它只接受选项.

现在我试图找出是否有办法在视觉模式中选择一些文本(或者其他什么,但我使用视觉线模式,所以它会很好)并将它作为一系列vim命令执行.

例如,在一份文件的底部,我有:

vim highlighting:
    syn match Comment "^>.*$"
Run Code Online (Sandbox Code Playgroud)

如何选择该文本并说"繁荣,执行它"而不必重新键入?

Bar*_*min 43

您可以选择线条,拉动选区并执行

:@"
Run Code Online (Sandbox Code Playgroud)

  • 顺便说一句,这适用于任何寄存器.你可以做一个"ayy"把你的整行拉到a,然后使用`@ a`来运行它.注意如果你运行一个缩进的行,你会得到一堆空格,这可能搞砸了(它会在正常模式下移动你.)最好用视觉模式`v`选择命令. (3认同)
  • 另请参阅[http://stackoverflow.com/questions/3997078/how-do-you-paste-text-into-a-vim-colon-command/3997110#3997110](此答案)以了解有关如何使用的更多信息寄存器 (2认同)
  • 我有`nnoremap <leader> 2:@"<CR>`并且我经常使用它.(助记符是Shift-2 = @ =执行.) (2认同)