分页: 1 / 1

vim的只读模式问题

发表于 : 2010-07-25 13:10
风间星魂
我知道用vim -r之类的参数可以启动只读模式。。

但现在情况如下,编辑.c/.cpp文件的时候有时候要ctrl+] gf跳转到头文件定义里,往往不小心按错,又无法设置为只读,小心翼翼的很不爽~

有没办法用set设置某一类型的文件为只读?这样就可以写在.rc文件里避开这个麻烦了~ :em20

Re: vim的只读模式问题

发表于 : 2010-07-25 14:23
lilydjwg
以下代码如何?

代码: 全选

au BufRead *.h setl readonly nomodifiable
或者把setl部分写到相应的 ftplugin/xxx.vim 里去,针对某一文件类型生效。

Re: vim的只读模式问题

发表于 : 2010-07-25 15:05
风间星魂
lilydjwg 写了:以下代码如何?

代码: 全选

au BufRead *.h setl readonly nomodifiable
或者把setl部分写到相应的 ftplugin/xxx.vim 里去,针对某一文件类型生效。
读入缓冲区后设置 *.h文件为只读有效是有效,但还是差一点,这个文件名在rc文件里可以正则么?我只设想标准库<>.h 头文件为只读 :em20

"".h的头文件不为只读

Re: vim的只读模式问题

发表于 : 2010-07-25 22:13
lilydjwg
风间星魂 写了:
lilydjwg 写了:以下代码如何?

代码: 全选

au BufRead *.h setl readonly nomodifiable
或者把setl部分写到相应的 ftplugin/xxx.vim 里去,针对某一文件类型生效。
读入缓冲区后设置 *.h文件为只读有效是有效,但还是差一点,这个文件名在rc文件里可以正则么?我只设想标准库<>.h 头文件为只读 :em20

"".h的头文件不为只读
不能正则,但可以有路径。如果还是不行,可以在 ftplugin 里做判断,像这样:

代码: 全选

if expand('%') =~ '.....'
  setl readonly nomodifiable
endif
BTW,标准库头文件不是在系统里普通用户没有权限修改的吗?

Re: vim的只读模式问题

发表于 : 2010-07-26 0:16
风间星魂
lilydjwg 写了:
风间星魂 写了:
lilydjwg 写了:以下代码如何?

代码: 全选

au BufRead *.h setl readonly nomodifiable
或者把setl部分写到相应的 ftplugin/xxx.vim 里去,针对某一文件类型生效。
读入缓冲区后设置 *.h文件为只读有效是有效,但还是差一点,这个文件名在rc文件里可以正则么?我只设想标准库<>.h 头文件为只读 :em20

"".h的头文件不为只读
不能正则,但可以有路径。如果还是不行,可以在 ftplugin 里做判断,像这样:

代码: 全选

if expand('%') =~ '.....'
  setl readonly nomodifiable
endif
BTW,标准库头文件不是在系统里普通用户没有权限修改的吗?
行了,谢谢兄弟,用了if判断! :em11
我有时候用root,然后有些安装到家目录的三方库。 :em20

严重感谢! :em11