私の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になります。