3

私の .vimrc を私のリポジトリからのものに向けるシンボリックリンクがあります。

Vimは問題なくロードしますが、変更時に自動ソースにすることはできません。

私は典型的なものを持っています:

if has("autocmd")
    autocmd! BufWritePost .vimrc source $MYVIMRC
endif

vimrcがシンボリックリンクされていない場合に機能します。

4

4 に答える 4

1

私はすべての設定を dotfiles フォルダー https://github.com/lis2/dotfilesに保持しているという方法でその問題を解決しました

次に、構成で何かを変更するときに実行する小さくてシンプルなルビースクリプトがあります

#!/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 を実行するだけで、シンプルな環境が準備完了です。

乾杯!

于 2013-05-16T09:00:19.757 に答える
0

あなたが説明しているように、.vimrcと.gvimrcの両方をgitリポジトリにシンボリックリンクしています。MacVim macOS を実行しています。

私は、 progressive-slower-reloading-time-of-vimrcという質問に対する素晴らしい答えを見つけました。

いずれかが変更されたときに vimrc と gvimrc の両方をリロードするように少し変更しました。何ヶ月も問題なく使用しています。

ここにあります。これと .vimrc だけが必要です。.gvimrc に何も追加する必要はありません。

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Autoreload vimrc
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
augroup configsGroup
    autocmd!
    " Make changes effective after saving .vimrc. Beware that autocommands are
    " duplicated if .vimrc gets sourced again, unless they are wrapped in an
    " augroup and the autocommands are cleared first using 'autocmd!'
    autocmd! bufwritepost *\<vimrc\> call OnSavingConfigs()
    autocmd! bufwritepost *\<gvimrc\> call OnSavingConfigs()
augroup END

" Avoid infinite loops
if !exists("*OnSavingConfigs")
    function! OnSavingConfigs()
        " Clear previous mappings, they don't go away automatically when
        " sourcing vimrc.
        mapclear
        source $MYGVIMRC
        source $MYVIMRC
        redraw
        echo "Reloaded " . $MYVIMRC . " and " . $MYGVIMRC . "."
    endfunction
endif
于 2021-08-16T15:28:16.733 に答える