如果我有一个shebang行(如#!/bin/bash
)开在Vim的一个文件,该文件具有执行权限(即chmod +x
)我知道我可以键入此无需离开编辑器来执行它:Vim:执行当前文件?
:! %:p
:
对命令模式!
运行shell命令%
来引用文件中的当前缓冲器:p
使用当前文件的完整路径
此频繁任务是否有更短的快捷方式?
例如有一个ZZ
快捷方式:wq
等
如果我有一个shebang行(如#!/bin/bash
)开在Vim的一个文件,该文件具有执行权限(即chmod +x
)我知道我可以键入此无需离开编辑器来执行它:Vim:执行当前文件?
:! %:p
:
对命令模式!
运行shell命令%
来引用文件中的当前缓冲器:p
使用当前文件的完整路径此频繁任务是否有更短的快捷方式?
例如有一个ZZ
快捷方式:wq
等
:!%:p
,不带空格,较短。
如果你想要一个更短的快捷方式,你可以创建一个自定义映射:
nnoremap <F9> :!%:p
或更多的“记忆”:
nnoremap <leader>r :!%:p
您可以添加键映射到你的.vimrc
map <F5> :!%
执行完一次后,短:!!
会重复。
只有当它是最后一个执行命令.. :( – Robottinosino 2013-03-16 16:45:08
最后':!',那是。 – 2013-03-16 19:45:05
如果您还没有设置权限,你可以运行:
:! sh %
以前的答案都不工作,如果你的文件名/目录路径中有空格在里面。简单的修复。
:!"%:p"
如果我不在我正在编辑的文件所在的文件夹中,这并不够,而且我不想每次都考虑每一个文件,或者强迫自己始终必须'cd '编辑前..我喜欢肌肉记忆。 (我很欣赏你的回答,并提供解决方案,谢谢你。) – Robottinosino 2013-03-16 13:12:44
是的,我在阅读你的评论前实际修改了我的答案。 – romainl 2013-03-16 13:13:24
使用nnoremap:!%:p 可以减轻每次按下Enter键的负担。 –
hkyi
2014-04-01 10:41:12