代码之家  ›  专栏  ›  技术社区  ›  René Nyffenegger

VIM自动命令的正确模式?

vim
  •  1
  • René Nyffenegger  · 技术社区  · 14 年前

    我有一个windows目录( U:\S 改变。它们的只读位无法设置,因此必须保持可写状态。

    所以,我把下面这句话放进我的 .vimrc 复制文件:

    autocmd InsertEnter u:/s/* call confirm("File should not be changed")
    

    似乎

    但是,我还有一个目录名为 U:\supportTerminal 那个我 不得不 改变。当我在该目录中编辑一个文件时,文件模式 u:/s/*

    我试着使用一些模式,但是我发现没有一个模式只在u:\s中匹配,而在u:\s中不匹配

    1 回复  |  直到 14 年前
        1
  •  2
  •   mike3996    14 年前

    这就产生了一个bug,你应该向它报告 vim-dev at vim.org . 在linux中,我没有这种行为:它匹配得很好。

    作为临时解决办法,

    :au BufRead u:/s/* set readonly
    :au! BufRead u:/supportTerminal/* 
    

    应该首先制定一般规则,然后作为例外删除一个dir。不确定这是否在WindowsGVIM中正常工作。如果失败,其他的黑客攻击将是:

    :au BufRead u:/supportTerminal/* set noreadonly
    

    readonly :write 已启用RO标志的文件,但可以通过设置 noreadonly 如果需要的话。