作りたくない一時ファイルを作らずにvimの力を借りたい(1)
なにかvimの力を借りて整形したい
- 例えばRustのコードを別の箇所に貼るとき
- とんでもなくインデントが深いコードを整形したい
- あると思います
struct User { username: String, email: String, sign_in_count: u64, active: bool, }
- これをこのまま貼りたくないですよね
- なのでvimを使って整形します
vim a
- shift + < とかで頑張って調整します
- もしくは、xxxfmtとかあればそれが頑張ってくれるはず
struct User { username: String, email: String, sign_in_count: u64, active: bool, }
a つくりたくないよね?
- そこでvim-jpの方々に聞いてみました。
そのプログラムがファイル開いて stdio で喋れるのなら::%!/path/to/program みたいなのでカレントバッファを流し込んむとか (よくやるのが JSON の整形で :%!python -m json.tool)
どういう意味なのか?
:%!
で対象プログラムを指定すると- 現在の位置より下のbufferから流し込むことができる
- 便利です。
- また一ついいことを覚えました。
- ありがとうございます。
ただ、僕が要望をうまく伝えられてないのでまだ終わっていない
- 多分僕はaを作りたくなかった
- tmpで編集できて邪魔にならない感じのファイルが欲しかった
- vimよくわからないからこんな感じで書いてみたけど
- 全然駄目でした。
:%! cat `tempfile`
次回に続きます。