Vimが〜拡張子を持つファイルを保存するのはなぜですか?

StackOverflow https://stackoverflow.com/questions/607435

  •  03-07-2019
  •  | 
  •  

質問

WindowsでVimを使用している間、Vimがファイルを保存し、Vimウィンドウを閉じると削除される .ext.swp ファイルと .ext〜ファイル。

Vimがクラッシュした場合の .ext.swp ファイルはセッションバックアップであると想定しています。ただし、 .ext〜ファイルの目的は何ですか?これは永続的なバックアップファイルですか?これらの重複なしに、作業中のすべてのファイルをホストにコピーしたいので面倒です。 これをオフにするにはどうすればよいですか、正当な理由で存在する場合は、ファイルを非表示にしますか?

役に立ちましたか?

解決

*。ext〜ファイルはバックアップファイルであり、編集前のファイルが含まれています。

*。ext.swp ファイルはスワップファイルであり、ロックファイルとして機能し、元に戻す/やり直しの履歴とVimが必要とするその他の内部情報を含みます。クラッシュした場合は、ファイルを再度開くと、Vimは以前の状態をスワップファイルから復元します(これは便利だと思うので、オフにしません)。

バックアップファイルの自動作成をオフにするには、次を使用します(vimrcで):

set nobackup
set nowritebackup

nowritebackup がデフォルトの「保存」を変更する場所Vimの動作、つまり:

  1. バッファを新しいファイルに書き込む
  2. 元のファイルを削除
  3. 新しいファイルの名前を変更

そしてVimに元のファイルにバッファを書き込ませます(I / Oエラーの場合にバッファを破壊するリスクをもたらします)。ただし、「ファイルをジャンプする」ことはできません。 Windowsデスクトップ上で、これが nowritebackup を配置する主な理由です。

他のヒント

これらの行をvimrcファイルに配置するのがより良い解決策だと思います

set backupdir=~/vimtmp//,.
set directory=~/vimtmp//,.

1行目はバックアップファイル用、2行目はスワップファイル用です。末尾のダブルスラッシュは、同じ名前の2つのファイルの場合に競合がないことを保証します。コメントを参照してください(この編集の時点では、このオプションはスワップファイル、まだバックアップファイル用ではありません)。 、。を使用すると、 vim が現在のディレクトリが存在しない場合に現在のディレクトリを使用できます。

これを機能させるには、ホームディレクトリにvimtmpというディレクトリを作成する必要があります。また、設定でバックアップが有効になっていることを確認します(設定されていない場合は set backup を追加します)。

このように両方の利点を得るには、ファイルを見る必要はありませんが、何かがおかしくなったら、vimtmpからバックアップファイルを取得できます。時々ディレクトリをきれいにすることを忘れないでください。

これらのファイルをオフにするには、これらの行を.vimrc(unixベースのOS上のvim設定ファイル)に追加するだけです:

set nobackup       #no backup files
set nowritebackup  #only in case you don't want a backup file while editing
set noswapfile     #no swap files
:set nobackup 

バックアップをオフにします。これらのバックアップファイルが必要な場合でも、中央のフォルダーにbackupdirを設定することもできます。このようにして、作業ディレクトリに〜ファイルが散らばらないようにします。

バックアップの詳細については、:heバックアップをご覧ください。

また、別のバックアップ拡張子とそれらのバックアップを保存する場所を設定することもできます(Linuxでは〜/ .vimbackups を好みます)。以前は「バージョン管理」を使用していましたが、バックアップ、経由:

au BufWritePre * let &bex = '-' . strftime("%Y%m%d-%H%M%S") . '.vimbackup'

これにより、動的バックアップ拡張機能が設定されます( ORIGINALFILENAME-YYYYMMDD-HHMMSS.vimbackup )。

この行を vimrc に追加します:

set nobk nowb noswf noudf " nobackup nowritebackup noswapfile noundofile


C:\Program Files (x86)\vim\_vimrc

すべてのユーザーのシステム全体のvim設定用のファイル。

最後の noundofile を設定することは、Windowsで編集後の *〜 tildaファイルの作成を防ぐために重要です。


Vimにデフォルトでその行が含まれていればよかったです。 directoriesいディレクトリが好きな人はいません。

ユーザーに、高度なバックアップ/元に戻すファイル機能を有効にするかどうかとその方法を最初に選択させます。

これはVimの最も厄介な部分です。

次のステップはセットアップです:

set noeb vb t_vb = " errorbells visualbell

でもビープ音を無効にするには: -)

vimが .swp ファイルをロックおよびリカバリファイルとして使用していることは正しいです。

これらのファイルが必要ない場合は、vimrcに set nobackup を入れてみてください。スクープ全体が必要な場合、またはスクープ全体が必要な場合は、さまざまなバックアップ関連オプションについて Vimドキュメントを参照してください。代わりに.bakファイルを使用してください...

私のために働いた唯一のオプションは、この行を〜/ .vimrcファイルに入れることでした

set noundofile

バックアップファイルを参照する他のオプションは、〜(チルダ)で終わる一時ファイルの作成を妨げませんでした

〜_gvimrcに set noundofile を追加する必要がありました

"〜"ディレクトリは、 cd〜コマンドでディレクトリを変更することで識別できます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top