2017-10-17 59 views
1

编辑:原来如果我在同一目录中写入临时.go文件,我可以再开始写入文件,所以我几乎肯定这是一个vim-syntastic问题。将其标记为关闭。vim缓冲区写入目标设置为stdin

我有一个罕见(但非常讨厌)的错误,其中vim对应该写入文件的位置感到困惑。它会突然决定它应该写入“-stdin-”,即使:echo expand('%:p')显示正确的文件。

发生这种情况时,基本上无法将缓冲区写回正确的文件。 :w %没有帮助,也没有:w NameOfFile.go。我可以写入不同的文件名就好了。 :bd不能解决问题。这只有在打开位置列表时才会发生。

由于缺乏谷歌命中这个,我猜这是我的本地配置的某种问题。我该如何去解决这个问题?

编辑若要添加:发布后,我意识到这可能与vim-syntastic有关。我有opened an issue there,但是肯定可能有其他的东西导致这种情况。

+0

你是说当你键入':w'它实际上没有写入文件? – Loaf

+0

正确。相反,它给了我''-stdin“E212:无法打开文件进行写入。 –

+0

'E212:出于某种原因,您正在写入的文件无法创建或覆盖。原因可能是您没有权限在目录中写入或文件名无效。' 您正在访问的目录也可能不存在。尝试使用sudo打开或确保目录存在,如果您正在创建一个目录中的文件,但您尚不在其中。 – Loaf

回答

0

标记为关闭,因为这似乎是一个vim合成问题。

+0

可以通过neovim在这个问题上实现FYI https://github.com/neovim/neovim/issues/6814 – Loaf