问题标签 [less-unix]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 在 less 命令中关闭计数行号
在 openSUSE 12.2 中,该less
命令在文件打开时计算行号。在处理大文件时,这会导致很多延迟。有没有办法禁用这个选项?
terminal - 如何使 git-log 向上滚动而不是向下滚动
每当我git log --all --graph --oneline --decorate
在终端模拟器中查看输出时,都会在终端屏幕顶部查看第一个提交。当我使用 退出git log
输出视图时q
,其中的几行不再可见,因为屏幕底部附加了一些新行,用于下一个命令。
通常,这些顶部的行是最有趣的,因为它们类似于最近的 git 历史记录,所以我希望它们在我键入下一个 git 命令时仍然可见。
如何使git log
输出从屏幕底部开始出现,即在底部查看第一次提交?您必须向上滚动才能查看较旧的提交。
注意:--reverse
标志不是一个选项有两个原因。
- 每次您必须一直滚动到底部才能查看第一次提交。那不应该是必要的。我想从底部开始。
- 它不与
--graph
标志结合:fatal: cannot combine --reverse with --graph
.
less-unix - 在 Less 中搜索时使用布尔运算符?
我正在使用 Less 读取文件。我需要搜索一些文本,但我想排除一些其他文本。
是否可以构建类似的表达式
/someText 或另一个文本
还是不支持?
terminal - 管道传输到更少时的终端宽度 IOCTL
我有这个程序使用
获取终端宽度(用于打印数组)。如果我直接在终端上运行我的程序,这很好用;但是,我经常通过 less 管道输出,用于分页和搜索。为了讨论起见,假设 stderr 也是通过管道传输的,所以我不能通过期望它实际进入终端来“作弊”。
现在,less 本身确实考虑了终端的宽度 - 用于断线或切断它们。它不会以某种方式将这些信息进一步传达给通过它传输的任何东西吗?
terminal - 在使用备用屏幕和背景暂停方面,在 ZSH 中启动 `less` 与启动 `cat` 有何不同
在我的操作系统上,默认情况下,ZSH 有-tostop
(或者是 tty?)。
这允许后台进程在有输出时输出到 shell。
因此:
相应地:
阅读文档并进行一些实验,我发现 ZSH 有 4 种类型的挂起进程(您可以使用 来查看kill -$SIGNAL $PID ; jobs
):
这将意味着3888
进程正在接收 SIGTTOU 信号。
这一切都说得通。
现在我的问题是,为什么它less
不受stty tostop
or影响stty -tostop
?
正如您在这两种情况下看到的那样,less
总是在后台暂停。
现在,我知道了less -X
,而且我也知道了终端仿真器具有的备用屏幕功能。实际上,您可以使用 运行上述 2 个命令less -X
,它会导致相同的暂停。即使-X
使它不使用备用屏幕,仍然少suspended (tty output)
!
我想知道的是如何less
始终暂停的实际机制suspended (tty output)
,即使在tostop
切换时,甚至在-X
切换时也是如此。除非有其他方式被暂停,否则shell 怎么能一直发送SIGTTOU
到。less
less
linux - 如何在 linux less 查看器中打开自动换行?
在我使用的系统中,默认情况下禁用“less”查看器的自动换行模式。根据“less”查看器帮助,使用 -S 或 --chop-long-lines 标志禁用它。我没有找到如何在我的系统上强制自动换行。是否有任何已知的标志或任何其他方式来启用该模式?
cygwin - 在 cygwin 中减少 '+&pattern'
我试图在 &pattern 的初始命令中使用 less(在 cygwin 中):
给我屏幕左上角的文本“&/B”,我必须按 ENTER 才能进行实际过滤。
我期待它立即进行过滤。
git - 如果更改在一页上,不要自动终止 git diff
如果我运行git diff
,并且我的更改少于一页,该命令将自动退出。这是不希望的,因为这是在脚本中,git commit
之后我立即调用。这会导致丢失单页更改日志。
我的第一个想法是将差异通过管道传输到less
,但这不会导致差异变更日志显示一个空屏幕(需要q
按下退出)。这是我正在使用的命令:git diff --color=always | less
.
有没有更好的方法来做到这一点?
bash - 在别名中使用 less -S 和 less
我总是使用 less -S 而不是 less,所以我创建了一个 alias less="less -S"
。
但有时,我想在没有 -S 的情况下使用 less。我尝试了类似的东西les=less
,但是当然,它不起作用,因为les
调用了另一个别名less -S
。
有解决办法吗?
(注意:我不想只重命名我的 less 别名,因为当其他人使用我的计算机时,他们总是在没有 -S 的情况下使用 less ,而且我发现对于一些大文件很难读取输出。)