ディスク上のファイルを表示している場合
$ less hoge.txt
のようにしてファイルを表示中の場合、less上でvを押せばエディタが起動してそのファイルを編集できる。起動するエディタは環境変数VISUALまたはEDITORで指定できる。
標準出力をパイプでlessに表示させている場合
$ grep hoge hoge.txt | less
のようにlessの入力が標準入力である場合、vを押してもCannot edit standard inputと表示されてエディタは起動しない。
そこでg|$vim -とタイプし最後にエンターを押すとvimが起動する。
gはバッファの先頭に移動。
|はパイプコマンド。
$はバッファの末尾を表すマーク。
vim -は標準入力からテキストを読み込んでvimを起動するコマンド。
以下を~/.lesskeyに書いておけばeを押すことで上記コマンドを実行できる:
e noaction g|$vim -\n
noactionは何もしないアクション。それに続けて入力するキーを指定している。\nは改行。詳細はman lesskeyを参照。
ファイルに保存する方法
less上でsを押すとlog file: と入力を求められるので、ここでファイル名を入れると表示中の内容をファイルに保存できる。そのままless上で!vim ファイル名とタイプしエンターを押すとvimが起動する。
参考