有没有设置vimrc如果它正在创建文件,它会更改它在文件上设置的权限吗?例如,如果我现在创建一个文件,它的权限是 664,但我希望它默认为 755。有人知道我可以在 vimrc 中设置什么来做到这一点吗?
答案1
你不能在 .vimrc 中做到这一点,但如果你在启动 Vim 的环境中正确设置了 umask,你(大部分)可以实现你想要的。参见维基百科的 umask 文章。
Umask 不会默认为文件上的可执行文件(除非创建文件的程序在创建时请求执行权限),但它会在目录上执行。但是,即使你可以,jjlin 是正确的,你应该绝不默认为文件可执行;仅在需要时更改它。这可以通过:!chmod a+x %
在 Vim 中执行类似“ ”的操作轻松实现。
答案2
文件应该不是默认为可执行,因此即使vim
有这样的功能,您也不应该使用它。请根据具体情况设置可执行位。
答案3
正如已经指出的那样,你不应该曾经创建默认设置了可执行位的文件。设置所谓文件创建掩码的标准机制由 控制umask
。该umask
命令可用于查看和设置当前环境的这些值。但是,只有在真正需要时才需要在文件上设置可执行位 - 编写脚本等时。因此,您最好创建一个bash
包装函数来执行您想要的操作:
vimx() { vim "$@" && chmod +x "$@"; };
将其粘贴到~/.bashrc
文件中并运行source ~/.bashrc
。现在,无论何时运行,vimx
文件都将以可执行位设置的形式保存。
如果您只想对打开的文件进行测试运行(无需+x
权限),您可以简单地从内部运行以下命令vim
来测试您的脚本(此处为bash
脚本):
:!bash %