我正在使用Vim编写一些脚本,我刚刚开始使用sudoedit。
问题是,当我:w写入临时文件时,除非退出编辑器,否则脚本的任何测试都不会发生。
我怎样才能强制更新原版,或者我是否遗漏了sudoedit的要点?
发布于 2013-09-16 12:39:07
sudoedit允许您使用在您自己的用户id上运行的编辑器编辑一个文件。它将该文件复制到一个临时文件中,然后您的编辑器可以将该文件写入其中。一旦编辑器关闭,编辑的文件就会被复制回来。
在编辑器仍在运行时,不存在自动回写更改的内置可能性。
所以你需要
sudo vi /file/to/edit )sudo cp /tmp/... /file/to/edit)或从vim :!sudo cp % /file/to/edit内部复制。从vim中,您还可以使用:sh启动一个shell,或者使用Ctrl+Z将vim放在后台,然后用fg还原它。sudoedit版本,它在临时文件更改后立即将更改写回。使用一些脚本可以很容易地做到这一点。我通知可以帮助您检测更改(例如,请参阅巴什脚本可以连接到文件上吗? )https://unix.stackexchange.com/questions/90866
复制相似问题