标签: pager

使用 vim 作为寻呼机时,`man ascii` 未对齐

使用 Vim 作为我的男人的寻呼机

export MANPAGER="/usr/share/vim/vim73/macros/manpager.sh"
Run Code Online (Sandbox Code Playgroud)

在我的个人资料中。现在手册页在颜色和内容上看起来非常好。但是,在尝试man ascii查看 ASCII 表时,我注意到该表未对齐,如下面的屏幕截图所示:

混乱的 ASCII 表

默认寻呼机不会发生此问题。当我设置export MANPAGER="view -"表时也是正确的,所以manpager.sh脚本肯定有问题:

#!/bin/sh
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \
vim \
    -c 'let no_plugin_maps = 1' \
    -c 'set nolist nomod ft=man' \
    -c 'let g:showmarks_enable=0' \
    -c 'runtime! macros/less.vim' -
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

vim man pager

3
推荐指数
1
解决办法
493
查看次数

使用更多命令

是否有任何情况或理由使用“更多”unix 命令而不是“更少”。就我所见,“更少”在所有意义上都是“更好”,那么这是否意味着“更多”是一个在“更少”时没有理由使用的命令?

less pager more history

3
推荐指数
1
解决办法
295
查看次数

在“less -S”中跳转到行尾/开头

常用的寻呼机less可以用选项启动-S,防止断行。

然后可以按左右箭头键水平滚动。

由于行可能很长,我想知道是否有击键或跳到行尾的方法。

我知道可以增加less用于滚动的步长。问题是,这less不会停止在行尾水平滚动。因此,只需为步长(滚动增量)设置一个高数值通常会使视图超出行尾。

less pager

3
推荐指数
1
解决办法
1688
查看次数

在 env 中调用时,less 不会分页输出

更新后,我注意到我的 bashman着色配置文件中断了分页。我不知道发生了什么变化,但我将范围缩小到这样一个事实,即调用env less hello.txt导致内容hello.txt被回显到终端(如cat)而没有分页行为。我该如何调试和解决这个问题?

为了消除一些环境变量的影响,我用最小环境进行了测试:

env -i TERM=xterm-256color /usr/bin/less hello.txt
Run Code Online (Sandbox Code Playgroud)

甚至:

env -i /usr/bin/less hello.txt
Run Code Online (Sandbox Code Playgroud)

这也只是将文件打印到标准输出。在具有相同软件版本的不同机器上,分页工作(如果TERM保留)。

由于甚至env -i行为不同,我不认为原因是我的环境中的某些东西。

的版本lessenv是相同的:less 581.2 (PCRE2 regular expressions)GNU coreutils 8.32,OS是Arch Linux的64位,到目前为止,壳牌:GNU bash, version 5.1.8(1)-release (x86_64-pc-linux-gnu)

less pager terminal environment-variables

3
推荐指数
1
解决办法
46
查看次数

Oh-my-zsh 删除成功命令的输出“FAIL: 141”

我的 Oh-my-zsh 执行以下操作:

  1. 当我运行该git log --pretty --oneline命令时,它会按预期显示一长串提交列表。

  2. 当我点击 时q,它突然消失并显示以下输出:

    $ git log --pretty --oneline
    FAIL: 141
    
    Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况?我该如何解决?

pager zsh git oh-my-zsh

2
推荐指数
1
解决办法
241
查看次数

如何逐步查看命令的输出?

我触发了一个ls -1运行并显示一长串值的命令。当命令结束时,我看不到屏幕垂直长度之外的输出。我怎样才能看到那些以前的条目?

有没有办法逐步查看输出,例如:

  1. 显示前 15 行
  2. 用户击键。
  3. 然后显示接下来的15条记录

command-line pager output

1
推荐指数
1
解决办法
210
查看次数

Bash 总是输出较少,我该如何关闭它?

最近更新后bash似乎总是输出到less,这导致许多命令分页。有谁知道怎么less关掉?

示例输出 systemctl status

systemctl 状态的输出

linux less pager arch-linux systemd

0
推荐指数
1
解决办法
1796
查看次数

少:通过管道宣传 terminfo

如果我这样做ls | lessls检测到它没有连接到终端,这很公平。不同之处在于less 连接到终端。在此设置中,ls可以生成彩色和列化输出目标终端,并less可以正确处理它。您可以使用 使颜色正常工作ls --color=force | less -r,但这需要更多的输入,而且它不处理列。

如果有一个开关less可以告诉连接到它的任何东西将其视为真正的终端,那就太酷了。因此,您可以ls | less -Tless.

  1. 有没有做过这样的事情?

  2. 或者less像它这样的寻呼机真的可以自己做到这一点,还是需要 shell 的合作?例如,shell 是否需要设置一个伪终端ls来连接?

pager pty terminfo

0
推荐指数
1
解决办法
56
查看次数

为什么 PAGER、EDITOR、VISUAL 为空?

当我尝试使用这些环境变量时,我得到一个空字符串:

$ $PAGER some_file;
bash: some_file: command not found
$
Run Code Online (Sandbox Code Playgroud)

我测试了一些东西:

$ echo $PAGER;

$ man man;     ## Here it's using less(1)
$ export PAGER;
$ man man;     ## Still using less(1)
$ PAGER='';
$ echo $PAGER;

$ man man;     ## Here it uses cat(1)
$ export PAGER;
$ man man;     ## Here it uses cat(1), too
$ unset PAGER;
$ man man;     ## Here it uses less(1) again
Run Code Online (Sandbox Code Playgroud)

为什么?我该如何使用这些变量?

env |grep PAGER什么也没显示。

我的系统是Debian 11(测试)


编辑:

我的目的是编写一个依赖寻呼机的脚本。

我会使用less …

shell bash pager environment-variables

0
推荐指数
1
解决办法
1182
查看次数