如果我有一个带有shebang行的文件(例如#!/bin/bash
)在Vim中打开并且该文件具有执行权限(即chmod +x
)我知道我可以输入它来执行它而无需离开编辑器:
:! %:p
:
用于命令模式!
运行shell命令%
引用当前缓冲区中的文件:p
使用当前文件的完整路径这个频繁的任务是否有更短的快捷方式?
e.g。 ZZ
等有:wq
个快捷方式。
答案 0 :(得分:54)
:!%:p
,没有空格,更短。
如果您想要更短的快捷方式,可以创建自定义映射:
nnoremap <F9> :!%:p
或更多“助记符”:
nnoremap <leader>r :!%:p
答案 1 :(得分:11)
如果您尚未设置权限,则可以运行:
:! sh %
答案 2 :(得分:9)
如果您的文件名/目录路径中包含空格,则以前的答案都不起作用。简单的修复。
:!"%:p"
答案 3 :(得分:7)
执行完一次后,短:!!
将重复此操作。
答案 4 :(得分:1)
您可以将键映射添加到.vimrc
map <F5> :!%
答案 5 :(得分:0)
启动vi时,明确指定文件路径,例如“ vi ./blablabla”
vi ./yourscript.pl
此后,您随时可以只使用:!%
另一种方法是像这样调用vi命令
!./%