我有一个大项目,我必须经常在几个目录中工作和切换。我的解决方案是将我想要快速访问的所有文件符号链接到沙盒目录中。
我刚刚使用了以下命令:
mklink sandbox/myfile.py somerealdirectory/myfile.py
我只想使用 vim 的
:e 我的文件
而不必担心目录结构。
如果我在 vim 中打开 sandbox/myfile.py,进行一些编辑并保存,则更改将按预期传播。
但是,当我尝试第二次写入时,vim 会抱怨文件是只读的,现在它不再会写入正确的文件。看起来符号链接在写入过程中被破坏了。
我看到过一些与此相关的其他问题,但没有令人满意的答案。
答案1
你不应该做这种可怕的黑客行为。
Vim 使用特殊通配符表示“任何子目录”:**
。假设你的工作目录是/path/to/project
,而你没有autochdir
,你可以列出并选择foo
文件名中包含 的任何文件,无论它在工作目录下的哪个位置,使用以下命令:
:e **/foo<Tab>
提议如下:
/path/to/project/dir1/dirb/foo.js
/path/to/project/dir1/dirb/dir5/dirx/barfoo.js
…