我有一个符号链接,它将我的.vimrc指向我的仓库中的那个。
Vim加载就好了,但是在改变时我无法自动获取它。
我有一个典型的:
if has("autocmd")
autocmd! BufWritePost .vimrc source $MYVIMRC
endif
如果vimrc没有符号链接,那么这是有效的。
答案 0 :(得分:2)
我有一个类似的设置,其中~/.vimrc
只是git存储库的符号链接。以下自动命令对我有用:
autocmd! bufwritepost .vimrc source %
答案 1 :(得分:1)
我一般不喜欢符号链接,而Vim也不喜欢它们。
我使用的布局可能类似于你的布局:
~/.vimrc
~/.vim/vimrc
有很大的不同:~/.vimrc
是真实文件,而不是符号链接,它只包含一行:
runtime vimrc
执行我的真实~/.vim/vimrc
。因为它是一个Vim命令而且它不使用文件路径,所以每一个系统上的那一行都是相同的。
由于$MYVIMRC
指向真实文件,:so $MYVIMRC
始终有效。
答案 2 :(得分:1)
我解决了那个问题,就是我在dotfiles文件夹中保存的所有配置 https://github.com/lis2/dotfiles
然后我有一个小而简单的ruby脚本,当我在配置
中更改内容时,我运行该脚本#!/usr/bin/env ruby
require "fileutils"
config_hash = { "tmux.conf" => ".tmux.conf", "vimrc" => ".vimrc", "vim" => ".vim", "gitconfig" => ".gitconfig", "gitignore" => ".gitignore"}
config_hash.each do |k,v|
FileUtils.rm_rf(File.dirname(__FILE__) + "/../#{v}")
FileUtils.ln_s(File.dirname(__FILE__) + "/#{k}", File.dirname(__FILE__) + "/../#{v}")
end
我建议你构建相同的配置。在所有计算机(私人/工作)上我只是克隆我的仓库,运行symlink.rb并且我的简单环境已准备就绪。
喝彩!