阅读内容

Vim的一个bug

[日期:2008-08-18] 来源:红联Linux  作者:david_jlu


  今天用vi编辑服务器上的一个文件,当我x的时候,提示文件是只读文件?ls看了一下权限,owner、group、读写权限都没问题,我chmod这个文件为777,vi打开还是不能编辑!

  然后请教了师兄,也没遇到过这个问题,周围的同事也不是很熟悉,奇怪!Linux下文件的权限不就是这些吗?我是owner,并且文件是可写的,但用vi却无法编辑,尝试echo $str >> file,好使。

  问题看来出在vi上面,我知道的可能影响权限的,除了上面的就是set-user-id和set-group-id以及stick-bit,而vim可执行文件的权限位是-rwxr-xr-x,排除这些可能!考虑到加密,也排除了,加密的话,我压根不能打开,或者即便打开也是乱码,可里面的代码是可读的。

  排除这些可能,我想可能是文件编码的问题,因为我的gentoo和服务器的编码不用,我的是utf-8,服务器是gbk,但其它文件都正常读写。用firefox打开文件,自动识别为big5编码,其中的汉字全是乱码,然后用gbk,正常了,只有一处是乱码。

  我的vi配置是支持gbk和cp936这些常用编码,并且进入文件的时候会自动识别并转换编码:

  let &termencoding=&encoding
  set fileencodings=utf-8,gbk,ucs-bom,cp936

  用iconv从gbk转换到utf8时,发现那处乱码没法通过,问题应该就是这里。

  总结:问题可能出在vim,当一个文件有多种编码字符,vim在识别并转换编码的时候遇到问题,可能就不允许修改文件了,甚至是root,这个bug需要进一步测试。




相关资讯       Vim  linux编程 
本文评论       全部评论
发表评论
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款


点评: 字数
姓名:

L
I
N
U
X


GOOGLE搜索
Google