vim如何写一个只读文件?

srand9

对不起,新手问题。我想知道,vim是如何设法写一个只读文件的。我对一个文本文件具有555权限。但是,当我打开并为其写一些东西时,它就会:w!,我对文件所做的更改已保存。我不知道vim是如何在后台执行此操作的!!就像将权限临时更改为755并写入并将其恢复为原来的权限一样吗?请指教。

阿玛丹

编辑:我最初回答的是正确的,但最终没有关于UNIX权限如何工作的信息:这不是Vim在做什么。

的确,您是对的:当发出:w!,并且在UNIX上时,如果需要,Vim会添加写许可权:

/* When using ":w!" and the file was read-only: make it writable */
if (forceit && perm >= 0 && !(perm & 0200) && st_old.st_uid == getuid()
                 && vim_strchr(p_cpo, CPO_FWRITE) == NULL)
{
    perm |= 0200;
    (void)mch_setperm(fname, perm);
    made_writable = TRUE;
}

然后将其重置回:

if (made_writable)
    perm &= ~0200;      /* reset 'w' bit for security reasons */

它也反映在帮助中:

注意:这可能会更改文件的权限和所有权,
并断开(符号)链接。将“ W”标志添加到“ cpoptions”可避免这种情况。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

vim如何写一个只读文件?

来自分类Dev

如何写一个“ * .bat”文件?

来自分类Dev

如何写一个结构?

来自分类Dev

我如何写一个特殊字符:“到文件?

来自分类Dev

我该如何写一个函数来填充文件中的向量

来自分类Dev

如何写一个“等式”?谓词?

来自分类Dev

如何写一个帕斯卡数的倒数?

来自分类Dev

你如何写一个动态值

来自分类Dev

如何写一个n元取反器?

来自分类Dev

如何写一个while循环

来自分类Dev

分割vim窗口,其中一个文件读/写和一个文件只读

来自分类Dev

vi / vim,我如何写出许多行到一个新文件

来自分类Dev

如何写一些文件?

来自分类Dev

我该如何写一个正确的路径来将文件保存在Java中?

来自分类Dev

我该如何写一个可以搜索,重命名和替换文件的bash脚本

来自分类Dev

如何写一个Serializable作为http发布请求的主体?

来自分类Dev

如何写拉姆达一个通用的方法是什么?

来自分类Dev

如何写别名以使用第一个参数或*如果参数为空?

来自分类Dev

如何写一个不等于某物的匹配器

来自分类Dev

如何写一个字符“ x”的次数

来自分类Dev

如何写一个sql来选择特定条件的记录

来自分类Dev

如何写一个条件,当一个日期字段应按轨道中的日期过滤器排序?

来自分类Dev

我有2个文档,我该如何写一个将输出作为单个文档返回的查询

来自分类Dev

我该如何写一个简单的示例,说明如何在Swift 5中使用委托

来自分类Dev

如何写一个3字节的Unicode字符作为字符串文字

来自分类Dev

如果尚不为0,我该如何写一个function以加7并减2

来自分类Dev

如果元素的第一个子代不是javascript中的标记,该如何写?

来自分类Dev

我应该如何写一个正则表达式来匹配特定的单词?

来自分类Dev

如何写一个函数 f("123")=123+12+23+1+2+3 作为递推关系

Related 相关文章

  1. 1

    vim如何写一个只读文件?

  2. 2

    如何写一个“ * .bat”文件?

  3. 3

    如何写一个结构?

  4. 4

    我如何写一个特殊字符:“到文件?

  5. 5

    我该如何写一个函数来填充文件中的向量

  6. 6

    如何写一个“等式”?谓词?

  7. 7

    如何写一个帕斯卡数的倒数?

  8. 8

    你如何写一个动态值

  9. 9

    如何写一个n元取反器?

  10. 10

    如何写一个while循环

  11. 11

    分割vim窗口,其中一个文件读/写和一个文件只读

  12. 12

    vi / vim,我如何写出许多行到一个新文件

  13. 13

    如何写一些文件?

  14. 14

    我该如何写一个正确的路径来将文件保存在Java中?

  15. 15

    我该如何写一个可以搜索,重命名和替换文件的bash脚本

  16. 16

    如何写一个Serializable作为http发布请求的主体?

  17. 17

    如何写拉姆达一个通用的方法是什么?

  18. 18

    如何写别名以使用第一个参数或*如果参数为空?

  19. 19

    如何写一个不等于某物的匹配器

  20. 20

    如何写一个字符“ x”的次数

  21. 21

    如何写一个sql来选择特定条件的记录

  22. 22

    如何写一个条件,当一个日期字段应按轨道中的日期过滤器排序?

  23. 23

    我有2个文档,我该如何写一个将输出作为单个文档返回的查询

  24. 24

    我该如何写一个简单的示例,说明如何在Swift 5中使用委托

  25. 25

    如何写一个3字节的Unicode字符作为字符串文字

  26. 26

    如果尚不为0,我该如何写一个function以加7并减2

  27. 27

    如果元素的第一个子代不是javascript中的标记,该如何写?

  28. 28

    我应该如何写一个正则表达式来匹配特定的单词?

  29. 29

    如何写一个函数 f("123")=123+12+23+1+2+3 作为递推关系

热门标签

归档