在mc
(午夜指挥官)中,我可以定义用于查看文件的自定义命令,即:
shell/i/.jpg
Open=gpicview %f
View=file %f | less
该命令file %f
必须通过管道传送到寻呼机。我以这里less
为例。
less 的问题是,它在屏幕中间显示一行,并添加了这些字符:
~
~
(END)
我只需要最简单、最愚蠢的寻呼机,它除了显示从管道重定向接收到的内容外,什么都不做。类似于cat
命令的东西,它不会将任何内容添加到它正在显示的文件中。
我可以用什么代替less
?
或者我可以配置less
隐藏那些特殊字符吗?
更新:
好的,我已经less
通过使用选项--tilde
和--clear-screen
. 但是,less
仍然显示(END)
在页面底部。
我可以摆脱(END)
吗?如果没有配置选项,我怎么能在源代码中更改它(我可以重新编译更少的包)
我less
在 Debian 10 上使用。less --version
显示:
less 487 (GNU regular expressions)
mc
有自己的内部寻呼机/查看器,无需调用单独的,您只需要:(这里基于文件类型(正则表达式应用于 的输出
file
)而不是文件名)请参阅默认
mc.ext
文档顶部的注释。JPEG 文件的默认查看器实际上定义为:
话虽如此,
less
有:提示字符串可以用
-Ps'prompt'
. 要删除它,包括(END)
末尾的 ,您可以-Ps
单独通过,但您仍然会看到:
. 使用-Ps$'\r'
(或-Ps"$(printf '\r')"
对于不支持$'...'
来自 ksh93 的引号的 shell):
也是如此。所以:
如果你想要清除屏幕的东西,运行
file
命令而不改变其输出,然后等待某个按键退出,你可以这样做:(这里还隐藏光标
echoti civis
作为奖励)。除了停留在主屏幕上并在进入和退出时将其清除,您还可以切换回备用屏幕(通常由 使用的屏幕
mc
),less
而不是-X
这样,以便保持主屏幕不变:(这里不打扰清理它,因为
mc
会照顾它)。