Vimが特定のファイルタイプのイベントを記録しないようにする


12

このstackoverflowの質問に追加するに.vimrcは、特定のファイル拡張子(.gpgファイルなど)の「プライベート編集」を確実にするために何を入力する必要があります。

セッションの有効性を損なうことなく、行われた作業についての情報はレジスタを含む、保存されるべきではない、の履歴、コマンド履歴、ビュー、スワップなどを検索しgpg、ファイル、1を使用することができ、このvimのプラグインを、しかしプラグインを編集する以外に、どのようにでしょうこれらの議論されたアイデアを任意のファイルタイプに拡張しますか?

おそらく次のコマンドを使用します。

if <ft in privacy_ext_list>
  set noswapfile
  set noundofile
  set viminfo=
endif 

しかし、適切な条件文に加えて、何が欠けていますか?

さらに、Vimscriptでファイル拡張子の配列を作成し、現在のファイルタイプが配列内にあるかどうかを評価する方法はありますか?


6
@Carpetsmokerこの質問はもっと広いと思います。著者は、特定のファイルタイプのバッファにパラメータを設定する方法だけでなく、プライバシーを確​​保するためにどのパラメータを設定するかをある程度求めてます。それは確かに明らかではないか、中央の場所に集められているので、良い質問になると思う。
アンドリューフェリエ

回答:


6

.vimrc機密ファイルの漏洩を防ぎたい場合に追加する必要がある設定の完全なリストを以下に示します。

set nobackup
set nowritebackup
set noundofile
set noswapfile
set viminfo=""
set noshelltemp
set history=0
set nomodeline
set secure

機密ファイルを編集する場合は、.vimrc_secureVimを実行するvim -u ~/.vimrc_secure(またはスクリプト/エイリアスを作成する)という新しい構成ファイルを作成し、実行することをお勧めします。これにより、悪意のあるプラグインまたはバグのある機能のリスクが最小限に抑えられます。


私はこれ.vimrc_secureが独立しているという意味で好き.vimrcです(あなたが言うようにすると、ユーザーは:e private file[したがって、ファイルをシェル履歴から遠ざけることができます])が、使用vim -u ~/.vimrc-incognitoするとまったくソース~/.vimrcになりません、正しいですか?プライバシーの喜びは、快適性の低下という犠牲を払うべきではありません(快適性が悪意のあるプラグインまたはバグのある機能によって根本的に欠陥がない限り)。未知数の危険性に重点を置いがあるはずですが、確かに、...条件付きであなたのソリューションをラップするいくつかの方法がなければならない
HAL 9001

1
忘れがちであるという単純な理由から、別個のvimrcファイルを使用することはお勧めしません。このautocmdのようなものau BufRead * if &key != "" | setlocal nobackup noundofile ... | endifは、あなたのために魔法をかけるべきであり、忘れることは不可能です。
マーティントゥルノイ

@Carpetsmoker、何&l:cm != ""についてですか?
ワイルドカード

1
@Wildcard Ehm ....私が意図したように見える&cryptmethod、それはその設定を指します。そのl:部分は間違いでした(コメントを編集するために特別なmodパワーを使用しました)。それを指摘してくれてありがとう!
マーティントゥルノイ

@Carpetsmoker、コメントについて詳しく教えてください。私はここにスレッドを作成しました:vi.stackexchange.com/questions/6195/...
はMateusz Piotrowski
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.