我们知道使用 less 打开一个文件,进入 less 界面后按 v 键可调出编辑器。
1% less /var/log/syslog
但是当你用 less 查看来自管道的信息时,例如:
2% echo "less is awesome" | less
进入 less 界面后按 v 键,你将得到以下错误提示:
Cannot edit standard input (press RETURN)
我希望即使在查看管道信息时也能调出 vim 编辑器,于是
3% echo "V pipe $ vim - \n" > /tmp/lesskey
4% lesskey -o ~/.less /tmp/lesskey
5% echo "try it" | less
进入 less 界面后按 V 键(大写)即可。
多用在终端,在终端命令的输出结果中,可以利用 less + vim 回滚和检索。
终端中的颜色,由特殊字符控制。在输出管道中,提前用 ansi2txt 删除这些特殊字符,恢复成纯文本后交给 vim。
less 的版本:
less 590 (GNU regular expressions)
终端窗口区当前显示的结果(窗口区):
% grep pipe ~/.lesskey
v pipe . ansi2txt | vim - \n
终端窗口历史缓存中的结果(缓冲区):
% grep pipe ~/.lesskey
V pipe \^ ansi2txt | vim - \n