web-dev-qa-db-ja.com

vimでのスワップファイル作成の無効化

Vimで.swpファイルの作成を無効にする方法はありますか?少なくとも1か所ですべて作成して、簡単に見つけて削除できるようにします。

同時に編集しながら親ディレクトリをコピーすると、特に面倒です。もちろん、find -execを使用してそれらを見つけて削除できることは知っています。しかし、私はもっと実用的な解決策が欲しいです。

207
Nadia Alramli

Vim内からスワップファイルを無効にするには、次を入力します。

:set noswapfile

スワップファイルを完全に無効にするには、~/.vimrcファイルに以下を追加します

set noswapfile

詳細については、 swapfileのVimドキュメント を参照してください。

243
dwc

.vimrcまたは/ etc/vimrcで次の変数を設定して、vimが編集中のファイルの作業ディレクトリではなく特別な場所にスワップ、バックアップ、および取り消しファイルを配置するようにします。

set backupdir=~/.vim/backup//
set directory=~/.vim/swap//
set undodir=~/.vim/undo//

パスで二重末尾のスラッシュを使用すると、vimは名前の衝突を回避する機能を有効にします。たとえば、ある場所のファイルと別の場所の別のファイルを編集し、両方のファイルの名前が同じ場合、〜/ .vim/swap /で名前の衝突が発生しないようにします。 〜/ .vim/swap //に2つの末尾のスラッシュを指定すると、vimは編集中のファイルのパス全体を使用してスワップファイルを作成し、衝突を回避します(ファイルのパスのスラッシュはパーセント記号%に置き換えられます)。

たとえば、/ path/one/foobar.txtと/path/two/foobar.txtを編集すると、〜/ .vim/swap /に%path%one%foobar.txtという名前の2つのスワップファイルが表示されます。それぞれ%path%two%foobar.txt。

149
trusktr

私は答えを見つけました here

vim -n <file>

スワップファイルなしでファイルを開きます。

加えて:

set dir=/tmp

in .vimrcは、/tmpにスワップファイルを作成します。

37
markus_b

ここに私の個人的な〜/ .vimrcバックアップ設定があります

" backup to ~/.tmp 
set backup 
set backupdir=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp 
set backupskip=/tmp/*,/private/tmp/* 
set directory=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp 
set writebackup
27
cpjolicoeur

他のテキストエディタが気にしないのに、なぜvimがこのような「災害復旧」を必要とするのか疑問に思う人たちに同意します。編集中にvimが編集済みファイルのディレクトリに余分なファイルを作成するのは望ましくありません。ありがとうございました。そのために、_vimrcにこれを用意して、スワップファイルを無効にし、刺激的な「バックアップ」ファイルを一時ディレクトリに移動します。

" Uncomment below to prevent 'tilde backup files' (eg. myfile.txt~) from being created
"set nobackup

" Uncomment below to cause 'tilde backup files' to be created in a different dir so as not to clutter up the current file's directory (probably a better idea than disabling them altogether)
set backupdir=C:\Windows\Temp

" Uncomment below to disable 'swap files' (eg. .myfile.txt.swp) from being created
set noswapfile
13
Jez

スワップファイルを完全に無効にするために、backupdirとディレクトリをnullに設定できますが、一般的には中央ディレクトリに配置することをお勧めします。 Vimは、名前の衝突やそのようなものが存在しないことを確認します。したがって、これは完全に安全な代替手段です。

set backupdir=~/.vim/backup/
set directory=~/.vim/backup/
6
monokrome

Exrcファイルにset directory=""を挿入すると、スワップファイルがオフになります。ただし、そうするとリカバリが無効になります。

詳細 こちら

3
Brian Rasmussen

gitを使用している場合、*.swp.gitignoreに追加できます。

3
Evan Hu

特定のファイルに対してのみvimスワップファイルを作成しない

autocmd bufenter  c:/aaa/Dropbox/TapNote/Todo.txt :set noswapfile
2
zzapper

Railsプロジェクトにこれを設定しようとする場合は、

set directory=tmp,/tmp

あなたの中に

~/.vimrc

したがって、.swpファイルは本来の場所(tmpディレクトリ(プロジェクトごと))にあります。

1
valk