以前,如果我运行something | less,然后按q,它曾经使我返回到提示,输出less仍然可见。
$ seq 1 100 | less
1
2
3
4
:q
$ <prompt here. I can still see the output of less>
Run Code Online (Sandbox Code Playgroud)
但是现在,在我安装了 Zsh(使用 oh-my-zsh。它也不适用于 bash)之后,终端看起来像这样:
$ seq 1 100 | less
<less shows up, I press :q and it is cleared>
$ <prompt here. Output of less disappears.>
Run Code Online (Sandbox Code Playgroud)
我搜索了一个less配置文件,但没有找到。有什么办法可以让我less按照以前的方式行事吗?使输出可见非常方便。
我刚刚使用 .css 安装了较少的 css 编译器npm。现在lessc文件目录是/usr/local/bin/lessc. 我不清楚我需要在lessc文件中更改什么以及如何理解编译器已正确安装。
在运行less命令时,按下v可在编辑器中打开文件。我已通过运行命令将EDITOR环境变量设置为。viexport EDITOR=vi
它按预期工作得很好。但是,当我重新启动计算机时,编辑器不再是 Vi。我如何使它永久?
我想总是line 1/773 0%在查看手册页时立即在底部状态/提示中看到总行数和 % 部分 ( )。
当我打开任何手册页时,我会在底行看到这一点:
Manual page man(1) line 1 (press h for help or q to quit)
Run Code Online (Sandbox Code Playgroud)
但是按下End之后Home它变成了这样:
Manual page man(1) line 1/773 0% (press h for help or q to quit)
Run Code Online (Sandbox Code Playgroud)
最初打开手册页时,如何在不按下按钮的情况下始终看到总行数和百分比?
我正在less用作男人的寻呼机,它开始看起来像less“只是不会那样做”。我宁愿不安装任何额外的程序(默认 Ubuntu/Xubuntu)或更改 man 的寻呼机,但如果另一个与less工作类似的寻呼机也可以(most颜色很好,但需要更改默认提示)。
我认为这是一个简单的设置,但也许不是。我尝试了网络搜索并搜索了此站点,但没有找到任何相关内容,也许 % 对搜索不太友好,或者我的关键字已关闭?man man似乎也没有任何相关性,而唯一%的 是不相关的。
当我运行less某个文件时,提示消失,我在屏幕上看到文件的内容。然后当我按下 时q,它会返回到提示。我认为less通过保存当前终端缓冲区,打开一个新缓冲区,将文件输出到新缓冲区,然后关闭时,丢弃新缓冲区并恢复旧缓冲区来做到这一点,但我不知道这个过程被称为什么或它是如何做到的。
我看了看,man less但没有找到任何东西。我尝试使用谷歌搜索它,但找不到任何有用的东西,除了该screen命令可以对 shell 会话执行相同的操作。
最终,我问是因为我想git diff使用新的缓冲区而不是内联打印。我已经设置了GIT_PAGER=lessand git --paginate diff,但他们没有改变任何东西。我有一个解决方法,但它有点长:git diff --color=always | less -R
更新:经过一番研究,它看起来像tput smcup和tput rmcup高层次的命令做同样的事情,可能使用的termcap包。
我想查看带有彩色输出、可滚动和可搜索的日志文件。我怎么做?
我试过了less /var/log/syslog | ccze | grep error,但它不能滚动。
我想在终端中查看文本(可以是文件或管道命令输出),但我想用颜色grep突出显示文本中的特定模式,类似于如何突出显示其输出行中的模式匹配。
我不能grep "pattern" /path/to/file在这里使用标准的原因是因为我想查看整个文本(理想情况下可以像通过管道一样滚动less)而不仅仅是包含模式的行。
如标题所示。既不dpkg -S /usr/bin/less也不apt-file search /usr/bin/less产生任何有用的东西。
这是否意味着存在错误,或者实际上不是来自任何包?
(如果您想知道为什么我需要知道答案,我发现这less是一个旧版本 487 而不是530具有我想要的功能。)
$ which less
/usr/bin/less
$ dpkg -S /usr/bin/less
dpkg-query: no path found matching pattern /usr/bin/less
$ apt-file search /usr/bin/less
colorized-logs: /usr/bin/lesstty
libcss-lessp-perl: /usr/bin/lessp
node-less: /usr/bin/lessc
Run Code Online (Sandbox Code Playgroud) 我不小心使用less了空文件名运行,我预计会失败,但令我惊讶的是,它打印了一些环境变量:
$ less -XE ""
export LESSOPEN="| /usr/bin/lesspipe %s";
export LESSCLOSE="/usr/bin/lesspipe %s %s";
Run Code Online (Sandbox Code Playgroud)
(-XE基本上使它的行为像cat。)
cat另一方面,失败:
$ cat ""
cat: '': No such file or directory
Run Code Online (Sandbox Code Playgroud)
如果您完全省略文件名,less则会出现错误:
$ less -XE
Missing filename ("less --help" for help)
Run Code Online (Sandbox Code Playgroud)
为什么要这样做less?我只能想象它是有问题的,因为如果您的代码中存在一些导致空文件名的错误,您将得到虚假的输出。(比如,说,less "$(which nonexistent-script)"。)
当我们在这里时,为什么它会打印这些环境变量?它们来自我的环境吗?它们是相同的:
$ less -XE
Missing filename ("less --help" for help)
Run Code Online (Sandbox Code Playgroud)
我检查过man less,但文件名参数似乎没有明确记录。其他提及的内容似乎与此行为无关。我还检查了less常见问题解答。
我已经安装python-pygments并使用它进行语法高亮显示与less由mankoff描述在这里
我把我的功能.bashrc
cless () {
pygmentize -f terminal "$1" | less -R
}
Run Code Online (Sandbox Code Playgroud)
它使用less. 但是当我要打开一个文件时,/etc/fstab或者/etc/apt/apt.conf说一个错误
Error: no lexer for filename '/etc/apt/apt.conf' found
Run Code Online (Sandbox Code Playgroud)
我在此联机帮助页中找到了显示pygmentize词法分析器的选项。但是对于此类文件,合适的词法分析器是什么?以及如何使用它?-l