8

VimとEmacsの構成をバージョン管理下に置きたいのですが、ホームフォルダー全体をそこに置きたくありません(つまり、そうしますが、3つの別々のリポジトリが必要です)。Emacsを使えば簡単です。~/.emacs存在しない場合は~/.emacs.d/init.el、initファイルとして使用されます。だから私は別のGitリポジトリを持つことができます~/.emacs.d/。Vimでは、ホームフォルダにのみ存在でき、 (と同等)には存在.vimrcできないようです。これはバージョン管理下に置くための最良の方法ですか?~/vimfiles~/.emacs.d.vimrc

4

5 に答える 5

7

ダミーの.vimrcを〜に1行だけ入れてください:

source ~/path/to/real/vimrc  

チャームのように機能します

于 2013-02-27T18:59:50.117 に答える
6

おそらく、あなた.vimrcを家に移動し~/.vim/、家にシンボリックリンクすることでうまくいくでしょうか?

他のはるかにモジュール化されたアプローチは、スタートアップスクリプトを移動し~/.vim/plugins/、おそらくそこにサブディレクトリを作成し、単一または複数のinitスクリプトを作成することです。Vimは:runtime! plugin/**/*.vim起動時にを実行します。

于 2010-10-10T08:48:19.130 に答える
3

@Progoが回答で示唆しているように、~/.vimrc設定は。のようなファイル内の「プラグイン」スクリプトに移動できます~/.vim/plugin/00rc.vim

この道を進むときに覚えておくべきことがいくつかあります。

~/.vimrcユーザーとプラグインは同様に、プラグインがで説明されているようになる前に、の設定がロードされていることを期待しています:help startup~/.vim通常は「runtimepath」の最初ですが、ユーザーが他のプラグインを持っている場合は、最初にロードされるように、辞書式順序で最初~/.vim/plugin.vimrc置き換える必要があります~/.vim/plugin/00rc.vim

vimの起動プロセスがステップ3の「Exコマンドの実行」(ここで.vimrc読み取られます。もう一度参照してください:help startup)からステップ4の「プラグインスクリプトのロード」に移行すると、実行され:runtime! plugin/**/*.vimます。このコマンドは、「ru​​ntimepath」を調べて、ソースに一致するファイルを探し、それらのソースを開始します。これは、何かが~/.vim/plugin/00rc.vim「runtimepath」を変更した場合、実行されるプラグインに影響を与えるには遅すぎることを意味します。これは病原体で最も一般的に発生し、その場合、次の行を末尾に追加することで回避できます~/.vim/plugin/00rc.vim

" Since this "vimrc" is really run as a plugin, vim has already compiled the
" list of paths/plugins that it wil execute at startup.
" As a result, the pathogen plugins must be run manually.
runtime! bundle/*/plugin/**/*.vim
runtime! bundle/*/after/plugin/**/*.vim

最後に(ここでもで説明されているように:help startup)、~/.vimrcファイルが存在しない場合、vimはのような他のファイルを検索する~/.exrcので、それらの内容が不要な場合はそれらを削除する必要があるかもしれません。

于 2013-01-22T00:15:05.437 に答える
2

プロセスにステップを追加しますが、vim設定にbashスクリプトdeploy.shがあります。

#!/bin/bash

if [ -f ~/.vimrc ] && [ ! -L ~/.vimrc ]
then
    echo "Backing up existing ~/.vimrc to ~/.vimrc.bak"
    mv ~/.vimrc ~/.vimrc.bak
fi
if [ -L ~/.vimrc ]
then
    echo "Already have ~/.vimrc symlink, we're good"
else
    echo "Creating symlink ~/.vimrc, which points to ~/.vim/vimrc"
    ln -s ~/.vim/vimrc ~/.vimrc
fi

git submodule init
git submodule update
于 2012-01-31T18:59:32.770 に答える
1

バックアップをバージョン管理に保持し、必要なときにホームディレクトリに展開(つまり移動)することができます。このすべての処理を管理する簡単なスクリプトを作成できるので、少なくとも透過的に、スクリプトを前後に移動するのが面倒な作業のようには見えません。

于 2010-10-10T07:53:11.930 に答える