我已经开始与工作的rxvt-unicode的(又名urxvt),却发现一个问题,鼠标滚轮滚动,比gnome-terminal和konsole。鼠标滚轮可以很好地通过回滚缓冲区,但它不适用于less/most或vim(虽然在 vim 中,设置mouse=a使其工作,但以一种非常不同的方式工作,我不必这样做)gnome-terminal/ konsole)。
有没有一种方法,使urxvt行为很像gnome-terminal和konsole时less和vim在鼠标滚轮可以直接运行?
我不知道这是否属于 SO(因为它是一个编码错误),但我认为你们会更了解所用软件的微妙之处(因此甚至可以考虑 U&L)。
这是最小的代码脚本(请参阅完整脚本的编辑,我这样做是有原因的);
#/bin/bash
nohup {SERVERCOMMAND} > currentOutput.log 2>&1 &
less +F currentOutput.log
Run Code Online (Sandbox Code Playgroud)
它试图做的是在后台运行一个服务器,它输出到一个日志文件。
然后我follow使用less +F. 与您一样,要退出此操作,您必须先按ctrl+c才能按Q。
发生的事情是,当我ctrl+c在less命令中(停止tailing)时,它会以某种方式杀死nohup从顶部开始的服务器!其他没有任何影响。我可以shift+f再次开始拖尾日志(由于服务器被终止,因此不会获得新信息),如果我点击Q脚本的其余部分,则脚本的其余部分将正常执行。
你知道为什么会这样吗?如何避免它/我应该使用的其他东西?
PS
服务器程序可能正在侦听^C,这可能是问题所在;我能做些什么来阻止它吗?就像,当我{SERVERCOMMAND}自己运行(以阻塞方式)时,我可以点击ctrl+ c,这不会立即杀死它;它打印Received ^C signal, shutting down(然后杀死自己)。这就是当我^C进入时发生的事情less(决赛Received ^C signal, shutting down被写入日志)。
PPS
我一直在尝试很多东西(都没有成功);
尝试通过更改将 stdin 与脚本断开连接
nohup {SERVERCOMMAND} > …Run Code Online (Sandbox Code Playgroud)我经常通过管道将程序输出减少到更少,例如
produce_output | less
Run Code Online (Sandbox Code Playgroud)
这很好用,直到produce_output产生大量输出。如果我搜索文件深处的某些文本,则报告较少
Calculating line numbers... (interrupt to abort)
Run Code Online (Sandbox Code Playgroud)
如果我用 Control+C 中断,它也会杀死produce_output,这会阻止它产生进一步的输出。有没有办法将中断发送到less,以便produce_output继续运行?
我知道我可以使用kill -INT less_process,但我认为必须有更好的解决方案。
我正在尝试less在 Linux 中运行,我希望它在启动后立即搜索某些内容。
基本上就像这样做:
$ less
Run Code Online (Sandbox Code Playgroud)
然后按'/',输入类似 的搜索模式"^commit \w+$",然后按 Enter,然后按'n'查找每个后续结果。
我希望少推出,然后搜索模式。手册页中似乎没有任何关于从模式开始的内容,但也许您可以像 Vim 一样向它发送命令。
我正在用 看我复杂命令的输出less,问题是stderr丢失了。stderr行通常会stdout在less. 我希望它们被打印到控制台,当我退出时less,可以一起看到它们。
我知道有可能是没有解决这个,我读到tee和multitee,但至今没有运气。
如何复制整个缓冲区被 less 显示?
无需选择特定文本,我想要全部。
复制到剪贴板是可取的,但如果我们可以将它输出到一个也可以工作的文件。
我试过使用vim像 :w 这样的通用命令和这里列出的less命令,但似乎不接受这样的命令。
编辑
我必须能够从内部 做到这一点less。这让我们说less是pipe从一个别名埃德,我有过怎么没有控制less实际被调用。我只是看到了结果。
我找到了一种保存缓冲区的方法(请参阅下面的答案),所以现在我只需要看看是否有任何方法可以选择和复制。鉴于限制,可能没有。
当我在两个终端窗口之间使用 X11 鼠标选择复制和粘贴文本时,选项卡经常(但并非总是)转换为空格。这似乎取决于所涉及的终端应用程序和其中运行的程序。
这是我通过实验发现的:
gnome-terminal在源端保留选项卡。 xterm并konsole没有。cat. 其他应用,如less,vim,emacs,或nano不保留选项卡。对此有何解释?这些错误是konsole和 中的xterm,还是可以以不同的方式配置?可以less这样配置以保留输出中的选项卡吗?
less在 linux 上以尾部模式(F 命令或更少 -f)使用该命令始终会停止在某些机器和/或某些文件上工作。新的变化只是停止出现。
我知道很久以前我已经解决了这个问题,但我不记得解决方案是什么。
有任何想法吗?
发生了一些事情,所以我看不到更少的亮点。我试过了:
-g选项-G不在没有任何帮助。
我在 i3 桌面上使用 Ubuntu 12.10。$TERM=screen-256. 当我使用^ ALT 1切换到TTY1 时,man man我可以看到它突出显示了 man 参数和搜索模式。
我还能做些什么来修复它?
在man parallel_tutorial(对于 GNU 并行)中,我发现了以下黑魔法:
LESS=+/EXAMPLE\: man parallel
Run Code Online (Sandbox Code Playgroud)
在搜索周围man页man,less和bash,看来这可能有事情做了less 预处理,但我不知道,和前几尝试我做了搜索与此语法失败其他手册页。
+/...\:在 bash中是什么意思?