2つの異なるvim構成を切り替えますか?


9

しばらく調整していた.vimrcと.vimフォルダーがありますが、新しいジョブでマシンにryanbのドットファイル(vim、gitなどの構成ファイルを含む)をインストールしました。それぞれの設定には気に入っている点があるので、最終的にはそれらを組み合わせて新しい個人用設定にしたいと思います。その間、私は前後に切り替えることができるようにしたいと思います。

vimにこのための簡単なコマンドはありますか-「次の.vimrcおよび.vimディレクトリを使用する」-または、切り替えたいときにファイル自体をスワップアウトする方が簡単ですか?

回答:


7

この-uオプションを使用すると、〜/ .vimrc以外の構成ファイルを指定できますが、〜/ .vimディレクトリーの代替を指定するオプションはありません。ただし、各構成ファイルの 'runtimepath'( 'rtp')オプションを変更することで、Vimに別のディレクトリを使用させることができます。たとえば、次のコマンドを使用できます

let &rtp = substitute(&rtp, '\.vim\>', '.vim1', 'g')

〜/ .vimディレクトリではなく〜/ .vim1ディレクトリを使用するようにVimに指示するために、構成ファイルの1つで。


Dropboxにすべてを保存するためにこれを使用できると思います:)
Michael Caron

1
@Michaelキャロン-あなたはあなたを保つことができる.vimrcし、.vimどこでも、あなたは、あなたがそれらを置くどこに自分のホームフォルダにシンボリックリンクを持っている限り、好きです。個人的には、このトリックを使用してすべての構成を.dotfilesフォルダーに保持し、Githubと同期できます。
ネイサンロング、

3

-u 別のvimrcファイルを使用するようにvimに指示します。


私は最近vim -u "NONE"、構成なしでバニラvim を開くことを学びました。これは、複雑な構成があり、一部の動作がVimにネイティブであるかどうかを知りたい場合に役立ちます。(これはMacVimでも機能します。LinuxでGvimを試したことはありません。)
Nathan Long

1

ディレクトリシンボリックリンクを置き換えることによる設定の切り替え

私は次の設定をしています:

❯ tree -L  2 ~/.vim-configs
~/.vim-configs
├── nathanl
│   ├── .git
│   ├── gvimrc
│   ├── pack
│   └── vimrc
├── ryanb
│   ├── autoload
│   ├── ...
│   └── vimrc
└── minimal
    ├── autoload
    ├── cache
    ├── doc
    ├── plugin
    └── vimrc

❯ ls -l ~/.vim
lrwxr-xr-x  1 hotschke  staff  42 Apr  3 16:35 .vim -> /Users/hotschke/.vim-configs/minimal

別の設定に変更したい場合は、単に実行する必要があります

❯ ln -snf ~/.vim-configs/configX ~/.vim

オプション:設定を切り替えるためのタブ付きシェル関数

意欲的な場合は、オートコンプリート機能を備えた最小限のシェル関数を記述して、これを非常に便利にすることができます。たとえば、zshを使用する場合は、

# Swim - Switch Vim Configs
compdef '_path_files -/ -W ~/.vim-configs' swim
function swim {
  if [ $# -eq 0 ]
  then
    zmodload zsh/stat
    active=$(stat +link "$HOME/.vim")
    echo "Swimming with ${${active}:t}"
    echo "$HOME/.vim -> $active"
    zmodload -u zsh/stat
  else
    echo "Swimming with $1"
    ln -snfv ~/.vim-configs/$1 ~/.vim
  fi
}

これはすでにタブ補完を提供し、ファイルシステムのあらゆる場所で機能します。

❯ pwd
<somewhere in your filesystem not necessarily $HOME or $HOME/.vim>
❯ swim <Tab>
-- directory --
minimal/  nathanl/  ryanb/
❯ swim minimal
Swimming with minimal
/Users/hotschke/.vim -> /Users/hotschke/.vim-configs/minimal
❯ swim
Swimming with minimal
/Users/hotschke/.vim -> /Users/hotschke/.vim-configs/minimal

https://github.com/dawsbot/swimから盗まれた関数名)


良い解決策、のようalias vimbasic="ln -snf ~/.vim-configs/basic/ ~/.vim && vim"に各構成にエイリアスを追加することをお勧めしますvimbasic。これにより、のようにエイリアスを入力するだけで構成を変更できます。
トン

1

Vimプラグインマネージャボルト

https://github.com/vim-volt/volt

macOSへのインストール: $ brew install volt

機能「プロファイル」は、一連のプラグイン、vimrc、およびgvimrcを保存します。

1つのコマンドで組み合わせを切り替えることができます。たとえば、Web開発設定から必須プラグイン+ vimrc、またはvanilla vimに切り替えることができます。

これは、stackexchangeネットワークに関する質問やvim / vimプラグインのgithubに関する問題を提起するときに最小限の構成を作成するのにも役立ちます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.