我正在寻找一个vim选项,用于在使用:sav
命令将当前文件保存到另一个文件时保留权限文件。
上下文:我正在编辑temp.sh文件并使用:sav savedFile
继续在另一个文件中工作。但是已为savedFile重置了权限:
-rw-r--r-- 1 aldo aldo 861 26. Okt 08:11 savedFile
-rwxr-xr-x 1 aldo aldo 861 26. Okt 08:18 temp.sh
vim文档并未真正明确此类行为。
:h sav
但在此doc中,它会在:w[rite]! [++opt]
部分中指明
Note: This may change the permission and ownership of
the file and break (symbolic) links. Add the 'W' flag
to 'cpoptions' to avoid this.
:set cpoptions+=W
但没有成功你知道如何配置vim有这样的行为吗?
注意:
$ vim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Sep 28 2017 23:18:29)
Included patches: 1-1159
Compiled by Arch Linux
答案 0 :(得分:2)
嗯,它与cp
命令不会保留权限相同。
但是对于cp
命令,有p
标志,在vim中似乎不存在。在这种情况下,我实际上会使用cp
。从vim中可以看出:! cp -p % new_file
。
您还可以为此创建自定义vim命令(类似:Permissionsave
或任何您喜欢的内容)并将其存储在vimrc中
command -nargs=1 PermissionSave :!cp -p %:t "<args>" && vim "<args>"