web-dev-qa-db-ja.com

.vim〜/ .vimrcをGitHub(別名ドットファイル)に追加する

私は、ドットファイルでgitリポジトリを持っている人を見てきました。彼らはただ

cd ~/
git init
git add .vimrc
// etc

?そして、それは彼らがそれを最新の状態に保つ方法ですか?それとも、おそらくコピーを作成して同期しますか?

皆さんはどのような戦略を推奨または使用していますか?ほとんどコミットしないで、私の全体をプッシュします〜/

ありがとう

53
John Tomson

自宅のgitリポジトリを作成することは、おそらく悪い考えです(本当にやりたいことをするよりも、.gitignoreファイルの作成により多くの時間を費やすことになります)。

ドットファイル用に別のgitディレクトリを使用することをお勧めします(例:~/git/dotfiles)そして、あなたの家へのシンボリックリンクを作成します(例:ln -s ~/git/dotfiles/.vim ~/.vimなど)。

ドットファイルをどこかにインストールするたびに手動でシンボリックリンクを作成する必要がない場合は、次のようなスクリプトを使用できます。 https://github.com/gibfahn/dot/blob/master/リンク

71
sitaktif

~/.vimディレクトリはバージョン管理下にあり、「本物の」vimrc(すべての設定を含む)はそのディレクトリ内の~/.vim/vimrcにあります。

~/
---- .vim/
---- ---- (plugins and stuff)
---- ---- vimrc
---- .vimrc

私の通常の~/.vimrcには1行しかありません:

runtime vimrc

シンボリックリンクなどを作成する必要はありません。

これは、Gitが既にインストールされている新しいマシンに設定をプッシュする方法です。

$ cd
$ git clone [email protected]:romainl/dotvim.git .vim
$ echo "runtime vimrc" > .vimrc

次は、作成プロセス全体です。 Githubで「vimconfig」という名前のアカウントとリポジトリを作成し、すでに愛情のこもった細工された~/.vimrcとよく整理された~/.vim/を既に持っていると思います。

$ cd
$ mv .vimrc .vim/vimrc
$ echo "runtime vimrc" > .vimrc
$ cd .vim
$ git init
$ echo "This is my Vim config." > README
$ git add *
$ git commit -m "My Vim config is versioned."
$ git remote add Origin https://github.com/username/vimconfig.git
$ git Push Origin master

その時点で、ローカルリポジトリのGithub andに同じコンテンツがあるはずです。

通常はそのリポジトリを管理し、準備ができたらコミットをプッシュします。シンプル。

Github全体は、複数のマシンで構成を同期する必要がある場合、または何らかの方法で他のユーザーと構成を共有する必要がある場合にのみ有用であることに注意してください。そうしないと、GitHubを使用する本当の意味はまったくありません。

(編集)

Vim 7.4では、非常に便利な新しいスキームが導入されました。通常の~/.vimrc~/.vim/vimrcも検索されるため、作業がさらに少なくなります。

$ cd .vim
$ git init
$ echo "This is my Vim config." > README
$ git add *
$ git commit -m "My Vim config is versioned."
$ git remote add Origin https://github.com/username/vimconfig.git
$ git Push Origin master

もちろん、最初に提案した戦略は、混合Vimバージョンを処理する必要がある場合でも有効です。Vimは何をすべきかを知っており、無限ループに陥ることはありません。

50
romainl

Pathogen を介してロードするすべてのプラグインを置く「バンドル」フォルダーが既にあります。そのため、そのフォルダーをgitフォルダー(サブモジュールとしてプラグインを使用)に作成し、そこにvimrcを配置しました。

公式で.vimrc 私は書きます:

let $MYVIMRC="<path_to_vimrc_in_bundle_folder>"
source $MYVIMRC
...
call pathogen#infect()

そして、Ido n'tバージョンそれ!

これにより、自宅のLinuxマシンと職場のWindowsボックスの間で構成を共有できます。公式に入れることもできます.vimrcマシン固有の構成、または公開したくない構成(ログインとパスワードを含む dbext プロファイルなど)

3
Idan Arye

ハッカーニュース でStreakyCobraのソリューションを確認してください。

git init --bare $HOME/.myconf
alias config='/usr/bin/git --git-dir=$HOME/.myconf/ --work-tree=$HOME'
config config status.showUntrackedFiles no

ここで、~/.myconfは、ベアgitリポジトリの場所です。次に、$HOME内のファイルを次のようにバージョン管理できます。

config status
config add .vimrc
config commit -m "Add vimrc"
config add .config/redshift.conf
config commit -m "Add redshift config"
config Push

さらに説明が必要な場合は、Nicola Paolucciが 素晴らしい説明 を提供しました。

1
Ian Canino

プラットフォームに依存せず、利用可能なbourne互換シェル(bash、zsh、kshなど)以外に依存しないシェル非依存ソリューションです。 Mac、Linux、およびWindowsで動作します。

dotsys

他の多くの機能とともに、githubおよび複数のマシンとドットファイルの変更を自動的に同期します。

1
arctelix