編集したvimファイルを回復するためのより良い方法

編集したvimファイルを回復するためのより良い方法

私のLinuxボックスは、vim多数のオープンセッションのために常にブロックされています。作業を続行するには、すべてのファイルを開いて保存したファイルを引き続き使用するかスワップファイルを使用するかを決定する必要があります。私は使う

for file in $(find ~/git -name *.swp); do
  gvim "$(echo $file | sed 's/.swp$//;s_/\._/_')"
done

これは私が必要とすることを行います(例えば、複数のバッファを持つ別々のインスタンスを好みます。はい、gvim理論的には実際の生活にないいくつかのパス名では失敗する可能性があります)。しかし、これは迷惑な方法です。スクリプトを作成してください。

むしろ、次のことをしたいです。

find ~/git -name *.swp -exec gvim -r {} \;

ただし、保存したバージョンを引き続き使用するか、バージョンを復元するかを決定するわけではありません。

私の目標を達成するためのより直接的な方法を考えることができますか?

答え1

gvimファイル名を操作するオプションがないコマンドと、スワップファイルを渡すgvim -r別のコマンドがあります。

forループ機能が気に入ったら、次のことを試してみてください(これはbash専用のバージョンです):

find ~/git -name *.swp -exec bash -c 'f=${1%.swp}; f=${f/\/./\/}; gvim "%f"' x {} \;

bashに「x」を渡すと$ 0が「x」に設定されるため、ルックアッププレース{}ホルダは$ 1になります。

関連情報