如果我在 Vim 中打开了一个带有 shebang 行的文件(例如 #!/bin/bash
)并且该文件具有执行权限(即 chmod +x
),我知道我可以在不离开编辑器的情况下键入它来执行它:
:! %:p
: 用于命令模式
!运行 shell 命令
引用当前缓冲区中的文件
:p 使用当前文件的完整路径
这个频繁的任务有没有更短的捷径?
例如,:wq
有一个 ZZ
快捷方式等。
:!%:p
,没有空格,更短。
如果您想要更短的快捷方式,可以创建自定义映射:
nnoremap <F9> :!%:p
或更“助记符”:
nnoremap <leader>r :!%:p
如果您尚未设置权限,则可以运行:
:! sh %
如果您的文件名/目录路径中有空格,则前面的答案都不起作用。简单的修复。
:!"%:p"
执行一次后,一个简短的 :!!
将重复它。
启动 vi 时,明确指定文件路径,例如“vi ./blablabla”
vi ./yourscript.pl
然后从 !%
开始
另一个变体是像这样调用 vi 命令
!./%
您可以将键映射添加到 .vimrc
map <F5> :!%
不定期副业成功案例分享
nnoremap <F9> :!%:p<Enter><Enter>
也跳过Press ENTER or type command to continue
nnoremap <F9> :!%:p<Enter><Enter>
运行代码并立即返回 vim。使用单个 Enternnoremap <F9> :!%:p<Enter>
保留输出屏幕nnoremap <F9> :!clear && %:p<Enter>
:w
放在建议的序列之前,我会得到 E212。