跳转到终端(或 tmux)中的最后一个提示

dom*_*91c 9 terminal tmux scrolling

在终端中,是否有跳转到上一个/下一个提示的快捷方式?向上滚动并尝试查找日志的开头会减慢我的工作流程。

我在 OSX 上使用 iTerm,但这应该适用于任何 Unix 终端。Tmux 中的解决方案也会有所帮助。

lbo*_*onn 6

在 tmux v2.4+(相关提交)中,您可以定义绑定以跳到具有可接受可靠性的最后一个提示:

bind-key b copy-mode\;\
           send-keys -X start-of-line\;\
           send-keys -X search-backward " "
Run Code Online (Sandbox Code Playgroud)

其中" "是一个不间断的空间,并且进行了相应的更改以使您的 shell 提示符包含它($PS1$PROMPT_COMMAND在 bash 中)。

在 shell 提示和 tmux 配置中设置它可能需要特别小心,因为它可以在复制粘贴操作期间更改为常规空间(请参阅注释中的 vim 方法)。

或者,您可以尝试您最喜欢的替代unicode 空格字符或任何在命令输出中很少出现并且您准备接受在提示中看到的内容 (?)。

这也可以是几个字符的组合,以减少误报。不过,最好在提示的最后选择一些内容,以便于导航。

信用


Kus*_*nda 0

如果您用来less查看日志文件的内容,则可以使用 和Space键来回滚动b(请参阅less手册)。您还可以使用/(和?向后搜索)在输出中执行搜索。

要查看 中程序的输出less,只需将输出通过管道传递给它即可:

$ ./myprogram | less
Run Code Online (Sandbox Code Playgroud)

要将输出另外保存在文件中:

$ ./myprogram | tee myprogram.out | less
Run Code Online (Sandbox Code Playgroud)

如果您F在读取正在写入的文件时按 ,less将表现得像tail -f。要中断此操作,请按Ctrl+ c