タグ付けされた質問 「swap-file」

1
スワップファイルの目的は何ですか?
ファイルを編集すると、Vimはという名前のファイルを作成する傾向がありますが、これは迷惑です。から、このオプションはスワップファイルの作成を抑制することがわかります。.filename.swpvim -h-n デフォルトでスワップファイルを無効にするために使用できるvimrcディレクティブはありますか? スワップファイルの目的は何ですか?また、それらを抑制することでどの機能が失われますか?

2
「やめる」と「打ち切る」の違いは何ですか?
複数のvimインスタンスからファイルを開こうとすると、いくつかのオプションでエラーが発生します。 Swap file "~/.vim/tmp/file.swp" already exists! [O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort: 「終了」と「中止」の違いは何ですか? 私が最初に推測したのは、複数のファイルを開こうとしていて、他の場所で編集されているファイルが1つだけの場合、「quit」はそのファイルをスキップし、「abort」はプログラムを終了しますが、明らかに間違っています-両方の試みを放棄します編集時にターミナルに戻ります。
23 swap-file  quit 

2
VIMスワップファイルのベストプラクティス?
接続を失うことでvimでセッションを終了するたびに、むしろドレッドでいっぱいになります(それでもvimを使用し続けます...私はマゾヒストである必要があります)。ファイルが私の作品を破壊するのを待っています。vimスワップファイルを操作するためのベストプラクティスは何ですか?最新のものを選んでいますか?ファイルが期待どおりに機能する場合は、スワップファイルを削除するだけですか?どうやってそれらを取り除くのですか?
14 swap-file 

2
Vimは自動保存されますか?
から:help swap-file: スワップファイルを更新する スワップファイルは、200文字を入力した後、または4秒間何も入力しなかったときに更新されます。これは、バッファが変更された場合にのみ発生し、移動しただけでは発生しません。常に最新の状態に保たれない理由は、これにより通常の作業が非常に遅くなるためです。'updatecount'オプションを使用して200文字カウントを変更できます。「updatetime」オプションで時間を設定できます。時間はミリ秒単位で指定されます。スワップファイルへの書き込み後、Vimはファイルをディスクに同期します。特に忙しいUnixシステムでは、これには時間がかかります。これが必要ない場合は、 'swapsync'オプションを空の文字列に設定できます。ただし、仕事を失うリスクは大きくなります。一部の非UNIXシステム(MS-DOS、Amiga)では、スワップファイルはまったく書き込まれません。 これから、いくつか質問があります。 これは、Vimが時々作業を自動保存するということですか? 「スワップファイルへの書き込み後、Vimはファイルをディスクに同期します。」これは何を意味するのでしょうか?これは、最初にメモリに書き込まれ、次にディスクに書き込まれるファイルを参照していますか、それとも別のものですか? クラスのメモを取っているとしましょう:書くのが速いので、挿入モードを終了する必要はほとんどありません。しかし、作業を保存するためだけに何度もNormalに変更します。これを行う必要がありますか、または挿入モードを終了しなくても、Vimは私の作業のほとんどが保存されていることを確認しますか?
13 save  swap-file  backup 

2
スワップファイルを保持しているウィンドウを上げる
時々、複数のプロジェクトで作業している間、および/または、何でも、多くのVimインスタンスを開いたままにしておきます。 [O]pen Read-only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort GUI /ターミナルのように、開いているファイルを保持するように、インスタンスを生成する方法で構築されたものはありますか?問題のファイルをフォアグラウンドに持ってくることが理想的です(複数のバッファーがある場合)。 現在のところ、スワップからPIDを抽出するbashスクリプトを使用wmctrlしています。そのPIDがVimに属しているかどうかを確認し、そうであればウィンドウを上げるために使用します。少なくともGUIとX11 Linuxの場合、これはうまく機能しますが、もっとネイティブな方法があるかどうかを尋ねています。
13 swap-file  x11  linux 

2
swpファイルに保存されていない変更が含まれているかどうかを検出する方法
gvim(v.7.4.488)を使用してソースコードを編集するとき、vcsにいくつかの変更をコミットしたい(Ubuntu linuxのコマンドラインからgit 2.1.4を使用しています)。 git --status 変更したファイルを示します。ただし、.*.swp現在表示されているバッファーのvimも表示されます(ファイルに未保存の変更が含まれている場合、および編集されたファイルが.*.swp-file と同じ場合)。もちろん、gitはこれらのファイルを無視することも、vimがスワップファイルを別の場所に保存することもできます(vim.wikiaまたはstackoverflowのこの質問を参照)。しかし、保存.*.swpされgit --statusていない変更が含まれているときに-filesが表示されるのは気に入っています。これは、自分が思っているのとは異なる状態でファイルをコミットしていることを示しているからです。 保存したファイルが-file と同じ.*.swpであるgit --statusときに表示される-files の誤検知を回避し.*.swpながら、コミットするファイルがvimで編集しているものとは異なる状態であることを確認できますか? .*.swpディスク上のファイルとvim内のファイルが異なる場合、-files のみを持つことは可能ですか? 保存されていないファイルを検出する他の方法はありますか? @elyashivと@VanLaserのコメントを組み合わせると、スワップファイルが未保存のファイルを意味するかどうかを検出するよりも簡単な方法になります。 gitに。*。sw [po]ファイルを無視させないでください。 コミット時に、ファイルがgit --status明らかになった場合はviで.*.sw[po]a :waを実行します。そして、 追加してコミットします。
11 git  swap-file 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.