2个具有相同名称但路径不同的文件=> vim认为他们是一样的

时间:2014-01-24 17:47:19

标签: vim

假设我已经在编辑一个文件:

/path_one/thisfile

我想编辑另一个名称相同但位于不同路径的文件:

/path_two/thisfile

问题是vim说它找到了一个名为thisfile的交换文件,所以每次我想编辑同名的2个文件时,我都要在编辑前按e ...

有没有办法解决这种讨厌的行为?

1 个答案:

答案 0 :(得分:3)

生成交换文件的位置由'directory'选项控制(不是很直观)。其:help 'directory'说:

  
      
  • 交换文件将在第一个目录中创建   可能的。
  •   

由于您使用的是默认'directory'设置,因此

  • 没有对文件目录的写入权限,因此必须在选项中使用以下条目,或
  • 将两个目录链接到同一目标

如果是前者,你可以通过让Vim包含交换文件名中的完整路径来解决这个问题:

  
      
  • 对于Unix和Win32,如果目录以两个路径分隔符结尾“//”   或“\”,交换文件名将从完整路径构建   将所有路径分隔符替换为百分号'%'符号的文件。   这将确保保留目录中的文件名唯一性。   在Win32上,当跟随分隔逗号时,您必须使用“//”,   因为“\”将在文件名中包含逗号。
  •   

因此,请尝试:

:set directory=.,~/tmp//,/var/tmp//,/tmp//