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

发布于 2024-12-08 13:22:20 字数 497 浏览 0 评论 0原文

我想映射某个键映射以使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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

水染的天色ゝ 2024-12-15 13:22:20

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.

情深已缘浅 2024-12-15 13:22:20

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

对于按键宏:

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

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

The percent sign (%) will be replaced by the current filename

For the key macro:

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

where ^V is Ctrl-V and ^J is Ctrl-J (linefeed)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文