当前位置:  开发笔记 > 编程语言 > 正文

VIM:同时保存并运行?

如何解决《VIM:同时保存并运行?》经验,为你挑选了5个好方法。

我做了很多Python快速模拟的东西,我不断保存(:w)然后运行(:!!).我想知道,有没有办法结合这些行动.也许是一个"保存并运行"命令.

谢谢你的帮助.



1> Douglas Mayl..:

好的,您正在寻找的最简单的形式是管道命令.它允许您在同一行上运行多个cmdline命令.在你的情况下,这两个命令是写`w`并执行当前文件`!%:p`.如果你有一个特定的命令,你运行当前文件,第二个命令变为,例如`!python%:p`.那么,对你问题最简单的答案就是:

:w | ! %:p
 ^ ^ ^
 | | |--Execute current file
 | |--Chain two commands
 |--Save current file

最后要注意的是,并非所有命令都可以链接.根据Vim文档,某些命令接受管道作为参数,从而打破链条......



2> gahooa..:

选项1:

编写与此类似的函数并将其放在启动设置中:

function myex()
   execute ':w'
   execute ':!!'
endfunction

你甚至可以将一个关键组合映射到它 - 看一下文档.


选项2(更好):

查看重新映射击键的文档 - 您可以通过简单的密钥重映射来完成它.以下工作,但有"filename.py"硬编码.也许你可以挖掘并弄清楚如何用当前文件替换它?

:map  :w:!filename.py

映射后,您只需在命令模式下按F2即可.

imap,vmap等...是不同模式的映射.以上仅适用于命令模式.以下应该也可以在插入模式下工作:

:imap  :w:!filename.pya

VIM手册的第40.1节非常有用.


刚刚测试过 效果很好.将"map :w :!%:p "添加到vimrc(不带引号).

3> strager..:

使用autowrite选项:

:set autowrite

在每个文件中写下文件的内容(如果已修改):next,:rewind,:last,:first,:previous,:stop,:suspend,:tag,:!,:make,CTRL-]和CTRL- ^命令[...]



4> Dimitri Tcac..:

命令组合似乎通过|字符工作,所以也许像别名 :w|!your-command-here到一个独特的键组合?



5> Rook..:

干得好:

:nmap :w:!%

保存并运行(你必须处于n模式 - 只需添加esc和a for i模式)

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有