avyという便利なパッケージが最近出てきた。
詳細は以下の記事を参考に。
qiita.com
さて、このavyを用いて、指定した範囲のテキスト、すなわち指定する2行に挟まれるテキストに対してコピーやペースト、インデントやコメントアウトなどを行う関数を書いてみた。いちいちカーソルを移動しなくてもよい、もしくは移動が最小限に済むのがメリットである。
基本的な流れとしては、
- 関数を呼び出す
- 範囲の開始位置となる行をavyで指定
- 範囲の終了位置となる行をavyで指定
- 実行
である。
コードは以下である。avyをあらかじめロードしておくのが前提である。
gist.github.com