プライベートモードでVimを簡単に起動できるようにしたい。このコマンドセットを利用するものとしてプライベートモードを定義しましょう。
set history=0
set nobackup
set nomodeline
set noshelltemp
set noswapfile
set noundofile
set nowritebackup
set secure
set viminfo=""
プライベートモードに適した追加のコマンドを考えられるかどうか教えてください。
重要なのは、このセットアップでVimを起動するための短くて簡単な方法は考えられないということです。
ここに私が思いついたいくつかのアイデアがあります:
.vimrcの代わりに.vimrcprivateをロードする
必要なコマンドをすべて.vimrcprivateに入れて、次のようにVimを起動できます。
vim -u .vimrcprivate
Private()
関数を定義して呼び出す別のアイデアとして、次のようなコードを.vimrcに追加します。
function Private() " set of commands here endfunction
そして、次のようなプライベートモードでVimを起動できます。
vim -c 'call Private()'
変数を使用してコマンドのセットアップをトリガーします
これは、2番目のソリューションと非常によく似ています。追加するだけ
if exists('privatemode') " set of commands here endif
.vimrcに追加してから、Vimを起動します
vim -c 'let privatemode=1'
これは賢くも短くもない。
エイリアスを.bashrc(またはシェルが使用している他の。* rcファイル)に追加します
例えば:
alias vimprivate="vim +\"set history=0\" +\"set nobackup\" +\"set nomodeline\"\ +\"set noshelltemp\" +\"set noswapfile\" +\"set noundofile\"\ +\"set nowritebackup\" +\"set secure\" +\"set viminfo=\"\"\""
それはひどいです。好きじゃない。
環境変数を使用する
実行
VIM_PRIVATE=1 vim
して追加するだけですif $VIM_PRIVATE " set of commands here endif
.vimrcに。
いくつかの魔法(でコメントからCarpetsmokerでこのスレッド)
Carpetsmokerはこのコメントで次のように述べています。
単純な理由で、忘れやすいので、別のvimrcファイルを使用することはお勧めしません。このautocmdのようなもの
au BufRead * if &cryptmethod != "" | setlocal nobackup noundofile ... | endif
は、あなたのために魔法をかけるべきであり、忘れることは不可能です。しかし、この魔法がどのように働くのかまだ分かりません。
アイデアはありますか?
vim -private
または完璧な解決策はvim +Private
次のとおりです。
- のようなカスタムコマンドラインオプションを追加することはできません
-private
。 - それが来ると、
+Private
私はそれをオンラインで見つけることができませんでした。
vim -Nu .vimrcprivate
ます。
alias vimprivate='vim -u .vimrcprivate'
など
v:progname == "vimp"
し、trueの場合、プライベートモード設定を実行することです。をご覧ください:help v:progname
。
command! Private set history=0 nobackup secure ...
し、でシェルから呼び出すことができますvim +'Private'
。あなたが言及した最後のオートコマンドに関して、バッファが読み込まれるとき、'cryptmethod'
オプションの値、または'cm'
短いバージョンの値が空でないかどうかをテストします。このオプションは、バッファがExコマンドでファイルに書き込まれるときに暗号化に使用される暗号化方式を制御します:X
。オプションが空でない場合、オートコマンドはさまざまなオプションを設定します。