在vim中,我可以将":w"和运行当前脚本组合在一起吗?

Yis*_*ang 4 vim

每次我编辑我的python脚本时,我都要键入:w然后:!./myscript.py(运行当前脚本).

我可以将这两个命令组合在一起吗?

per*_*eal 6

写在你的.vimrc:

function! SaveAndRun()
    w
    !%:p
endfunction

nmap <F2> :call SaveAndRun()<cr>
Run Code Online (Sandbox Code Playgroud)

并且在正常模式下按f2时将执行当前文件.


mer*_*011 5

在您的函数中定义一个函数,.vimrc然后定义一个命令来调用它.

function DoMyStuff()
    :w
    :!./myscript.py
endfunction

command W exec DoMyStuff()
Run Code Online (Sandbox Code Playgroud)

然后,你可以用它来调用它:W.

如果我按字面解释您的问题的标题,并且您只想执行上次执行的命令,则可以!!在命令模式下使用执行最后一个外部命令.结合管道,如下所示.

:w | !!
Run Code Online (Sandbox Code Playgroud)