问题标签 [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.

0 投票
2 回答
1203 浏览

shell - pager (less) -- 获取当前滚动位置?

我正在git diff使用 tmux 编写脚本输出的显示(嗯,它只是程序):一旦检测到文件系统更改,shell 脚本就会执行tmux send-keys q enter C-l "git diff" enter,它可以有效地刷新git diff视图。

您可能会认为这类似于iTerm 的 coprocesses提供的功能。

问题是,我希望它在刷新时滚动回它所在的位置。

使用 tmux 的原因之一是窗口实际上是一个完全正常的交互式终端会话,可以正常交互以滚动查看完整输出。

但我想以某种方式获得滚动位置。

假设我想实际对终端窗口本身的文本内容进行计算,就像 iTerm2 的协同进程一样,但是我可以在 Linux 上使用它(通过 ssh)。tmux 提供这种能力吗?

0 投票
1 回答
363 浏览

bash - 使用自定义 LESSOPEN 着色脚本减少拖尾

我编写了以下脚本来从日志文件中挑选关键字并突出显示术语:

它工作正常,直到我尝试跟随/减少尾随(Shift+F),此时它无法尾随任何新的日志行。任何想法为什么?

0 投票
2 回答
1090 浏览

linux - 在 OSX 上与 git 一起使用时,lesskey 配置不会被更少的寻呼机使用

这在 Linux 中运行良好,所以我想知道这是否是 Mac 运行的 less 版本的问题。

~/.lesskey设置了相同的文件,lesskey在两个地方都成功运行,结果~/.less是相同的:

键绑定也适用于manMac。只有当我运行 git 相关命令时,才会恢复到常规键绑定。

0 投票
2 回答
496 浏览

python - 如何显示超出范围的 ascii 字符?

我使用 PuTTY 连接到 Linux 机器。

在 Linux 机器上,我正在运行一个 python 脚本,它获取一个字符列表并按顺序打印每个字符及其索引。

我列表中的某些字符不在可打印的 ascii 字符范围内。这些不规则字符正在破坏我的输出。有时它们根本不会出现,而有时它们实际上会删除大量有效文本。

我想我可以通过关闭缓冲来纠正这个问题,但是当我使用 python -u 标志运行脚本时问题仍然存在。

有趣的是,当我将输入传递给较少的阅读器时,不会发生此问题。在 less 中,不规则字符显示如下:<A9><A7>^V^@等。没有丢失任何文本块。

我不确定我的问题出在哪里。有没有办法配置我的终端,以便非管道输出仍会显示不规则字符?

0 投票
1 回答
733 浏览

linux - linux less 命令搜索不可见字符

我想在 Linux 中使用 less 命令搜索一个不可见字符(控制字符,例如 0x05)。我发现这个字符在 less
中显示为^E 。我无法直接使用字符"^E"来搜索它。既不ctrl+vctrl+e是在 VI 中,也不是只是搜索/\0x05

0 投票
2 回答
1225 浏览

bash - 将交互式命令的输出通过管道传输到 less

我想做类似的事情

openssl需要来自 的密码stdinless当涉及到这一切时,这一切都搞砸了。

有没有办法从交互式命令中获取输出(例如openssl要求输入密码)并将输出通过管道传输到less

还是使用 bash 脚本有更好的技术?

0 投票
1 回答
147 浏览

python - Python Fabric:远程执行交互式程序,例如less?

当我执行类似的事情时:

在 fabric 中,它在行前面加上 Out: 并且与它的交互不能按预期工作。

如果我运行它:

输出没有预先添加任何内容,我实际上可以将其通过管道传输到 less 本地,例如:

但是我不确定是否建议这样做,因为我觉得它可能会对远程资源造成负担,因为 cat 将不断地通过 ssh 管道返回。此外,当我在整个文件被 cat'd 之前快速减少(它可能超过 1GB)时,我得到一个代理管道错误。

促进这一点的推荐方法是什么?我应该直接使用 ssh 吗:

0 投票
1 回答
432 浏览

vim - 如何在vim上的文件末尾自动退出?

我尝试vim/less.sh使用语法高亮作为寻呼机,但有一个小问题:显示小文件时,vim 使用“全屏”并等待用户的命令。

我可以让 vim 表现得像一个less --quit-at-eof吗?

换句话说,如果显示的文件有几行长度,有没有办法自动退出 vim?

我找到了一个带有 shell 脚本的解决方案:按 计数文件行wc -l,然后获取终端高度,如果大小很小 - 使用自定义 vim 配置文件,其中自定义配置文件以:quit字符串结尾。

然而,这个解决方案看起来很糟糕,并且在小文件结束后留下了额外的行~,所以我正在寻找更好的方法来做到这一点。

0 投票
8 回答
5122 浏览

linux - 有没有办法在手册页中查找标志?

我试图想出一种在手册页中找到特定标志的方法。通常,我输入“/”来搜索某些内容,然后输入“-Werror”之类的内容来查找特定标志。问题是虽然有一些手册页(gcc 是现在激励我的一个)在其文本中引用了很多标志,所以出现了很多。

这没什么大不了的,但也许可以做得更好。我想寻找类似 '-O\n' 的东西,但它没有用(可能是因为 man 程序不使用 C 转义?)然后我尝试了类似man gcc | grep $'-O\n'的东西,因为我记得一个单一的 -以美元符号开头的带引号的字符串具有 bash 解释常见的 C 转义...它不起作用,grep 回显了整个手册页。

这就是把我带到这里的原因:为什么?或者更确切地说,可以这样做吗?

0 投票
1 回答
914 浏览

git - OS X 终端中的 `git` 和 `less` 集成:防止将 `less` 的输出写入 tty

在 OS X 终端中,less它自己或被其他程序(如 )调用时man,它的输出不会在我们退出后写入 ttyless。例如,如果我们运行less README,我们将被临时定向到一个屏幕,其中包含类似

按下 后q, 的输出less会消失,我们最终会得到类似

但是,如果less被调用git(在我的情况下,寻呼机git设置为),情况并非如此。的输出总是在退出后写入 tty。例如,如果我们运行,如果日志很短,甚至不会被调用;如果日志长于一个屏幕,那么我们将像往常一样暂时被引导到输出屏幕:less -rlessgit log --onelinelessless

在按下 之后q,整个内容都会写入 tty,所以我们最终会得到类似

那么有可能改变这种行为吗?我的意思是,是否可以进行配置git,使其始终将输出传输到 less(无论输出是长还是短),并且在less退出后在 tty 中什么都没有?谢谢。