Ay's Blog@CNSSUESTC

把windows的VIM配置文件搬到ubuntu下

@作者: ay @文章出处: cnss-ay.com @Notice: 转载请注明出处

之前写了一篇文章: VIM–指定自己的VIM工作目录

今天准备把windows下的vim配置弄到虚拟机中的ubuntu来,于是就有了这篇文章,仅记录下期间遇到的问题

 

1. 把windows文件夹映射到ubuntu下

我这里是用了vmware tools来搞定的,先安装vmware tools,然后在edit virtual mechine setting中的options里面有个shared floders,把它设为always enable然后在下面添加自己要共享的目录就是了,我在这里面把我之前的$MY_VIM_DIR这个环境变量的目录添加进去了,我的floder name为vim.然后在虚拟机的UBUNTU下面,到/mnt/hgfs/vim目录下就可以访问我的vim配置文件了,第一步搞定,没什么大问题.

 

2.然后在环境变量中添加$MY_VIM_DIR(/mnt/hgfs/vim)和$VIMINIT(source $MY_VIM_DIR/_vimrc)环境变量,我这里查了下资料,在~/.bashrc这个文件中加上这两句话:

export MY_VIM_DIR=/mnt/hgfs/vim

export VIMINIT="source $MY_VIM_DIR/_vimrc"

在每次启动bash的时候会执行~/.bashrc这个文件,我们的环境变量就自动设进去了,但是这个设置只对当前用户有效,换个用户我们设置的环境变量就不起作用了. 如果你希望对全局用户都有效,那么可以去修改/etc/profile文件,在文件末尾加上这两句话.

 

3.好了,一切就绪,在控制台启动VIM, 失败! 提示说检测到有^M, 无法解析.晕 windows格式编码问题....

解决方法很简单 先跑去装个tofrodos,命令: sudo apt-get install tofrodos

然后执行sudo fromdos -p $MY_VIM_DIR/*/*.vim

把配置文件目录下的所以.vim文件的换行都转成unix格式的

然后在我们的_vimrc中加入一句话: set fileformat=unix

告诉vim我们换行符用unix格式的

在windows下, gvim可以识别这种带有unix换行符的vimrc文件

OK,问题解决

 

4.执行sudo vim, 晕.... 竟然没有加载我的_vimrc文件,而是转而加载了默认的.vimrc文件,也就是说2中设置的环境变量不起作用

然后想可能是sudo用的是root,不会继承我这个用户的环境变量,OK  我在/etc/profile中设置环境变量总可以了吧

登出后登入,看效果

晕... 还是不行

然后百度了一些,原来在sudo命令出于安全性考虑,执行期间会把环境变量reset,然后保留可信的环境变量,比如$PATH这种变量

那么问题找到就好办了,有几种方法

a. 使用sudo -s命令,指出sudo继承shell环境变量

b. 执行visudo命令, 把Defaults env_reset改成Defaults !env_reset。 禁止sudo对环境变量重置,因为我是在虚拟机上个人用ubuntu做开发,所以用的这种方法.若在多人共享使用的操作系统上,还是推荐使用a方法安全些

posted on 2011-10-23 00:34 __ay 阅读(718) 评论(0)  编辑 收藏 引用 所属分类: linux


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理