ごちゃごちゃ、だけどちゃんと見つかるメモ
メモやファイルはごったになっていてもいい気がする。むしろその方が読み返したり、一覧を眺めたりするときに他のものにも目が停まって、あたらしい気づきも得られる。
そういう意味とは同じではないのだけど、今日は、vimのコマンドのキーバインド設定方法について、あたらしい方法ができた。
よく使うキー操作をマクロに登録していたのだが、レジスタを使うので、qキー操作のうっかりで書き換わってしまったり、そもそも覚えられていなかったり、わりとストレスを感じていた。マクロ自体は、とても便利なのだが、ちょっとした使いづらさがあった。
マクロは、コマンドとしてキーバインドに設定することにした。キー操作の登録とコマンドとしての登録をした。<leader>キーを使う方法も覚えた。そんな機能もあったのかとおどろきもあった。しかも立て続けにずっとできていなかったこともできた。
それは、シェルコマンドとvimコマンドをパイプでつなぐ方法だ。
じつは、パイプでつなぐ方法を試すとき、キーバインドに設定したコマンドやキー操作にしては、どうか、ということで試していたのだ。これまでは、つなぐ方法がパイプ(|)だけだと思い込んでいたので、キーバインドにして試していなかった。試し始めは、やはり、できなかったのだが、公式ドキュメントを読み返しているうちに、気づかされたことが2つあった。
ひとつは、シェルコマンドとvimコマンドをパイプでつなげることはできないこと。
もうひとつは、つなげることはできないのだが、パイプにかわる記号(<NL>、CTRL-V CTRL-Jで挿入"^@")を使うか、シェルコマンドの部分にexecute '...'を使ってパイプ(|)を使うとつなげられること。
Webで検索すれば、先人たちが書いたものがたくさんみつかる。ピンポイント情報としていつもお世話になっているが、点は点、先にはならないことが残念という面もある。
普段マニュアルはほとんど読まないのだが、時間があるときには、よく読み込むことも大事なのだ、という教訓を得た。
