当您通过管道less
传输某些内容时,程序通常会丢弃颜色代码,因为它不会输出到 TTY。因此,您必须添加--color=always
选项才能使其工作。
ls -l --color=always | less
grep -R asdf --color=always | less
Run Code Online (Sandbox Code Playgroud)
更糟糕的是,有时甚至不支持该选项,因此实际上无法强制将颜色输出到管道。
有没有(相对)简单的方法来减少对 TTY 的模拟,这样我就不必--color=always
在通过管道传输到每个程序时指定每个程序,并且它会在可能的情况下自动显示颜色输出?
相当多的程序具有以 less 输出的命令(例如git blame filename
)。每当使用较少时,我想使用我的 vim 配置(例如<C-j>
,而不是Pg Down
使用下一页)。我该如何设置这个?
根据这个线程和更少的手册页,我应该使用 vimexport EDITOR=vim
来减少,但在重新加载终端会话并启动 less 后我没有看到任何变化(例如,我不能使用我的向下翻页热键)。export VISUAL=vim
~/.baschrc
在使用“make 2>&1”编译一些程序后,我想在less命令中保留颜色。“grep”和“ls”命令有类似的主题,但解决方案不适用于此命令。
例如,
make 2>&1 | less -R
Run Code Online (Sandbox Code Playgroud)
不起作用。
谢谢你的帮助。
我正在深入设置和学习 git,同时学习 bash。我正在尝试做一些简单的事情,如查看帮助部分
$ git config
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我输入帮助时,帮助的输出会从屏幕上消失。做一些谷歌搜索,我发现我想用来滚动的程序较少。
我试过
$ git config | less
Run Code Online (Sandbox Code Playgroud)
没有成功。有任何想法吗?谢谢!
当我在普通 bash 中退出 'less' 时,它会清除 'less' 显示的先前内容并再次显示 bash 内容。这是默认行为,也是我想要的。
但是,当我在“screen”会话中使用“less”时(在 screen 会话中仍然是 bash),退出后它不会删除“less”显示的内容并且 bash 的内容消失了(仍然有一个新的 bash 命令行提示)。
即使我在“屏幕”会话中使用它,我怎样才能让它在退出后不清除它的显示?
我不禁注意到,我使用过的所有最新 Linux 发行版(在本例中为 Ubuntu 和 Gentoo)上的“less”程序允许我查看 ZIP 和 TAR 档案的内容,同时安装我在 OS X(和 Solaris)上使用的 'less' 反而会产生一个“foo.zip 可能是一个二进制文件。无论如何看到它?”,它继续吐出原始二进制数据而不是一个不错的文件结构列表。
谷歌并没有产生多少有用的结果——在这种情况下搜索“更少”是很棘手的。我从 greenwoodsoftware.com 下载并构建了最新版本,但即使它拒绝显示这些档案的内容。我也没有遇到任何相关的配置/构建选项。有任何想法吗?谢谢!
像大多数人一样,我将less
其用作终端寻呼机。有时,我会查看由很长的纯文本或标记文本行组成的文件。默认情况下,这些线会在终端窗口边缘less
折叠。也就是说,最后一列的单词被破坏,导致文本难以阅读。有没有什么方法可以在字边界less
处换行fmt
,就像 Emacs 视觉行模式一样?
我知道我可以fmt
在查看之前简单地通过管道输入输入,尽管这需要我提前知道我的终端宽度。我希望有某种方法可以less
很好地换行,并在调整终端窗口大小时自动重新格式化它们。
我知道less +/pattern filename
会打开文件并导航到模式的第一次出现。有没有办法告诉less
从最后向后搜索?它甚至接受多个+
开关吗?
不工作:
less +?pattern filename
less +G +?pattern filename
Run Code Online (Sandbox Code Playgroud) 我正在使用LESS CSS(PHP 版本)。我也在 Linux 中使用 Geany。是否有适用于 Geany 的 LESS 语法文件,或者我如何编辑 CSS 文件以适应 LESS?
在我的旧 SUSE 发行版上,less
会自动解压缩 . .gz文件。
这在列出自动压缩/var/log/mail*.gz
文件时非常方便。
SUSE 的当前版本现在/var/log/mail
使用xz存档和其他版本。
我从没想过如何less
自动解压。gz文件,但我可能应该有 (:
所以:我需要做什么,所以这“神奇地”会起作用:
less /var/log/mail-20130201.xz
Run Code Online (Sandbox Code Playgroud)
我认为这是一个 Linux 问题,但如果它是特定于 SUSE 的,我正在运行这个版本的 SUSE:
openSUSE 12.2 (x86_64)
VERSION = 12.2
CODENAME = Mantis
Run Code Online (Sandbox Code Playgroud)