Vim: execute current file?

后端 未结 6 2027
庸人自扰
庸人自扰 2021-01-30 03:34

If I have a file with a shebang line (e.g. #!/bin/bash) open in Vim and the file has execute permissions (i.e. chmod +x) I know I can type this to exec

相关标签:
6条回答
  • 2021-01-30 04:13

    If you haven't set permissions you can run:

    :! sh %
    
    0 讨论(0)
  • 2021-01-30 04:18

    When starting vi, specify file path explicitly, like this "vi ./blablabla"

    vi ./yourscript.pl
    

    After that start at anytime with only :!%

    The other variant is to invoke the vi command like this

    !./%
    
    0 讨论(0)
  • 2021-01-30 04:25
    :!%:p
    

    ,without the spaces, is shorter.

    If you want an even shorter shortcut, you can create a custom mapping:

    nnoremap <F9> :!%:p
    

    or the more "mnemonic":

    nnoremap <leader>r :!%:p
    
    0 讨论(0)
  • 2021-01-30 04:25

    None of the previous answers work if your filename/directory path has spaces in it. Simple fix.

    :!"%:p"
    
    0 讨论(0)
  • 2021-01-30 04:27

    After you've executed that once, a short :!! will repeat it.

    0 讨论(0)
  • 2021-01-30 04:37

    You can add a key mapping to your .vimrc

    map <F5> :!%
    
    0 讨论(0)
提交回复
热议问题