分页: 1 / 1

Vim 脚本中如何知道某文件是否在U盘上

发表于 : 2011-01-31 17:19
wz520
我希望如果打开的是U盘上的文件就自动设置 noswapfile,以减少对U盘的写入次数。不知如何实现?

Re: Vim 脚本中如何知道某文件是否在U盘上

发表于 : 2011-01-31 19:56
corner
你可以试试如下方法,

代码: 全选

echo"set exrc" >> ./.vimrc
在u盘里建立一个.vimrc的文件,在文件中输入

代码: 全选

set noswapfile
这里是这样的,首先在用户目录中的vim配置文件.vimrc中加入set exrc,这样一来,vim就会在打开文件的目录中找.vimrc文件并执行其中的配置。于是在u盘中(这里u盘是被读取文件的所在目录)建立.vimrc,并加入set noswapfile。这样一来,在vim读取你u盘中的文件是就会执行u盘中的你的配置。

自己没试过,我都用全局配置。你可以照上述设置试试。

Re: Vim 脚本中如何知道某文件是否在U盘上

发表于 : 2011-02-01 11:00
wz520
感谢解答。查了一下'exrc',这是不是说每个U盘里的每个目录都要一个 .vimrc ?有没有不需要在U盘上另外创建文件的方法?

而且这个办法也不能 100% 不在 U盘 下创建 swapfile,因为貌似 exrc 只是检查启动 vim 时的当前目录下是否有 .vimrc .exrc 等等的文件,如果 U盘 的挂载点在 /media/disk/ ,我在终端下的任何一个没有 .vimrc 的目录下打 'vim /media/disk/xxx.txt',还是会在 /media/disk/ 下生成 .swp 文件的。

是否还有其他办法?

Re: Vim 脚本中如何知道某文件是否在U盘上

发表于 : 2011-02-01 12:00
laneast
我的处理办法是不管什么时候, 都不在被编辑文件相同的目录建立 swapfile

代码: 全选

set dir-=.
set dir+=$temp

Re: Vim 脚本中如何知道某文件是否在U盘上

发表于 : 2011-02-01 16:23
wz520
这是个好办法~感谢 laneast 的解答~

顺便在此给两位拜个早年~ :em01