首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止合成器为每个vim实例创建目录?

如何防止合成器为每个vim实例创建目录?
EN

Stack Overflow用户
提问于 2014-03-20 13:11:10
回答 2查看 306关注 0票数 2

在使用带有vim的同步插件时,每次打开新的vim实例时,我都会看到一个新的/tmp/vXXXXXXX目录。当同步插件被禁用时,不会创建这样的目录。

当我运行inotify时,我发现每次保存文件时都会在该目录中创建一个数字文件。是否可以根据需要创建一个临时目录?如果失败了,我可以让它使用一个目录代替吗?例如,/tmp/vim-syntastic/vXXXXXXX/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-21 10:00:36

据开发商说不创建临时目录,这是由vim处理的。再看一看,我发现vim使用$TMPDIR来设置临时目录。如果该目录不可写,则会忽略它。

因此,作为解决方案,下面的行将临时目录设置为/tmp/vim-USERNAME,然后创建它(忽略通常在目录存在时发生的错误):

代码语言:javascript
复制
" Keep all vim-related temp files in a single directory
let $TMPDIR = '/tmp/vim-' . $USER
silent! call mkdir($TMPDIR, '', 0700)

现在,我已经没有很多/tmp/vXXXXXX/目录了。相反,它们出现在/tmp/vim-peter/vXXXXXX/中,这是很棒的。

票数 2
EN

Stack Overflow用户

发布于 2014-03-20 18:09:35

如果您查看语法帮助文件,您将看到syntastic使用了一个“tail”文件来存储给定make程序的输出。可以通过在vimrc中添加以下内容来覆盖给定文件类型和子检查器的默认尾:

代码语言:javascript
复制
let g:syntastic_<filetype>_<subchecker>_tail = "> /tmp/vim-syntastic/your-file-here"

因此,例如,如果您希望mri输出到/tmp/vim-syntastic/ruby-mri,您可以编写:

代码语言:javascript
复制
let g:syntastic_ruby_mri_tail = "> /tmp/vim-syntastic/ruby-mri"

有关更多信息,请参见:help syntastic-config-makeprg这里有一个关于git的直接链接。据我所知,不幸的是,没有为所有语法输出设置默认目录的内置方式。

编辑: Lekenstein找到了另一个解决方案,他在链接的Github问题上发布了这一解决方案。

代码语言:javascript
复制
let $TMPDIR = '/tmp/vim-' . $USER
silent! call mkdir($TMPDIR, '', 0700)

这将为所有与vim相关的临时文件创建一个特殊的目录。这意味着它还将影响与语法无关的临时文件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22534048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档