私のVim設定には、現在のプロジェクトの処理、タグのビルドなどを試みるプラグインが含まれています。これは、Vimでの毎日のプログラミングに非常に役立ちますが、次のようないくつかの簡単な編集にVimを使用する場合に面倒です。
- git commitメッセージを編集します。
- Ctrl+xCtrl+ezshまたはbash と入力したときにシェルコマンドを編集します。
- 等
--noplugins
サラウンドやイージーモーションなど、一部のプラグインをクイック編集モードで利用したいので、どちらも好きではありません。
したがって、いくつかの「ライトモード」(または「クイックモード」)が必要です。プラグインの一部はバイパスされますが、すべてではありません。
私の最初のアイデアは、vimscriptで解析する特別なコマンドライン引数を用意することでしたが、すばやくグーグルすると、vimscriptでは現在不可能であることがわかります(ちなみに悲しいことですが)。
2つ目のアイデアは、vimの実行時に次のように環境変数を設定することです。
$ VIM_LIGHT_MODE=1 vim
これはgitで動作します:
$ git config --global core.editor 'VIM_LIGHT_MODE=1 vim'
私がしなければしかしEDITOR='VIM_LIGHT_MODE=1 vim'
、およびタイプCtrl+xCtrl+eのシェルでは、それは動作しません。
edit-command-line:13: command not found: VIM_LIGHT_MODE=1
次に私はこれを試しました:EDITOR="bash -c 'VIM_LIGHT_MODE=1 vim'"
が失敗しました:
vim': -c: line 1: syntax error: unexpected end of file
(正直に言うと、これは特に奇妙に見え$EDITOR
ますが、使用方法が正確に誤解されているようです。誰かがここで何が起こっているのか説明してもらえたらうれしいです)
他のすべての実験も失敗しました。
私が考えることができる唯一のハックはservername
、次のようないくつかを設定することです:
$ vim --servername VIM_LIGHTWEIGHT_MODE
そしてv:servername
、vimscript をチェックインしますが、これは完全なハックです。これは、サーバー名の目的ではありません。
だから私が望むものを達成するためのよりきれいな方法はありますか?
vim
として実行することもできますvim -u .vimrc-light
。
env
、私のshell-fuはまだ弱すぎる。それを答えとして書いて、それを受け入れられるようにすることを検討してください。
env
:EDITOR='env VIM_LIGHT_MODE=1 vim'
。