VIM:在键映射中引用当前缓冲区
我想映射某个键映射以使Python解释器运行VIM中当前编辑的缓冲区。
我现在正在做什么(手动):
:!python <文件名>;
但我希望该变量实际上是一个变量,以便映射可以位于我的 .vimrc 中,并适用于我在 VIM 中打开的任何文件。
我还想知道如何链接多个命令,这样
:w
:!python <FILENAME>
我就可以将它们映射到单个命令, 而不是这样做:类似
:w ; :!python <FILENAME>
编辑:感谢您的回答。最终的解决方案是:
:cmap <KEY> :w<CR>:!python %<CR>
I would like to map a certain key mapping to make the Python interpreter run the current edited buffer in VIM.
What I'm doing now (manually):
:!python <FILENAME>
But I'd like the variable to actually be a variable, so that a mapping could be in my .vimrc and work for any file I open in VIM.
I'd also like to know how to chain several commands, so that instead of doing:
:w
:!python <FILENAME>
I could map both of them to a single command. Something like
:w ; :!python <FILENAME>
EDIT: Thanks for the answers. The final solution was to do:
:cmap <KEY> :w<CR>:!python %<CR>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
vim 中的
%
指的是当前文件名。如果设置了 shebang 行,您可以执行类似
nnoremapr :!./%
的映射来执行当前脚本。%
in vim refers to the current filename.You can do a mapping like
nnoremap <leader>r :!./%<CR>
to execute the current script if the shebang line is set.百分号 (%) 将替换为当前文件名
对于按键宏:
其中 ^V 是 Ctrl-V,^J 是 Ctrl-J(换行)
The percent sign (%) will be replaced by the current filename
For the key macro:
where ^V is Ctrl-V and ^J is Ctrl-J (linefeed)