VIM:引用键映射中的当前缓冲区

时间:2011-10-08 10:40:54

标签: vim keymapping

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

  

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

:!python <FILENAME>

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

我也想知道如何链接几个命令,以便代替:

:w
:!python <FILENAME>

我可以将它们都映射到一个命令。像

这样的东西
:w ; :!python <FILENAME>

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

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

2 个答案:

答案 0 :(得分:2)

vim中的

%指的是当前文件名。

如果设置了shebang行,您可以执行nnoremap <leader>r :!./%<CR>之类的映射来执行当前脚本。

答案 1 :(得分:1)

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

对于关键宏:

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

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