【问题标题】:VIM: Referring to current buffer in key mappingsVIM:在键映射中引用当前缓冲区
【发布时间】:2011-10-08 10:40:54
【问题描述】:

我想映射某个键映射,以使 Python 解释器在 VIM 中运行当前编辑的缓冲区。

我现在在做什么(手动):

:!python <FILENAME>

但我希望该变量实际上是一个变量,以便映射可以在我的 .vimrc 中并适用于我在 VIM 中打开的任何文件。

我也想知道如何链接多个命令,而不是这样做:

:w
:!python <FILENAME>

我可以将它们都映射到一个命令。类似的东西

:w ; :!python <FILENAME>

编辑:感谢您的回答。最终的解决方案是:

:cmap <KEY> :w<CR>:!python %<CR>

【问题讨论】:

    标签: vim keymapping


    【解决方案1】:

    vim 中的% 指的是当前文件名。

    如果设置了 shebang 行,您可以执行类似 nnoremap &lt;leader&gt;r :!./%&lt;CR&gt; 的映射来执行当前脚本。

    【讨论】:

      【解决方案2】:

      百分号 (%) 将被当前文件名替换

      对于关键宏:

       map yourkey :w^V^J!python %^V^J
      

      其中 ^V 是 Ctrl-V 而 ^J 是 Ctrl-J(换行)

      【讨论】:

        猜你喜欢
        • 2014-12-19
        • 1970-01-01
        • 2023-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多