セクションに基づいて個々のファイルに分割する過程にある大きな構成ファイルを持っています。
私のワークフローは次のようになります。
- メインファイル内のテキストブロックを視覚的に選択 (v)
- テキストをキル バッファーにカットします (d)
- 新しいバッファを開く (:sp newfile.pp)
- テキストを貼り付ける (p)
- 新しい名前でファイルを保存し、バッファを閉じます (:wq! somefile.pp)
これを行うためのマクロを作成してみました。基本的には上記の手順を踏んでいますが、テキストを切り取る直前に (qa) を追加し、貼り付けの直後に再度 q を追加します。新しいバッファが開くとすぐにマクロが停止し、貼り付けコマンドを実行しません。私はこれを手でしなければなりません。
理想的には、上記の手順は、:wq! が残るところまで完了します。ファイル名を指定してEnterキーを押してバッファを閉じて保存するのを待っているだけで、コマンドラインに入力されました。
これは可能ですか?スクリプトを作成せずにどうすれば実現できますか?
編集
同じことを行う別のより高速な方法を見つけました:
- テキストを視覚的に選択する
- (:) コマンドの入力を開始します。vim はコマンド ラインのプレフィックスとして、選択した操作を示します。
- :w ファイル名.pp
- (gvd)でブロックを削除
ただし、新しいバッファが作成されると、記録したマクロが停止する理由はまだ気になります。