标签: less-unix

终端程序如何向屏幕添加滚动?

程序 less、more 或 vi 是如何在终端屏幕上添加滚动部分而不清除屏幕的,之后它是如何消失的?

如果我从脚本或脚本退出的方式运行它,有没有办法在特定的时间内运行更少?

bash shell terminal less-unix

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

使 git diff 不打印到终端

如果我这样做less somefile.txtman bash(内部使用less),它会显示内容,但按后Q,内容消失。

git diff也使用less,但输出保留在控制台中。我怎样才能使git行为与 相同man


目前的行为

me@mypc:~$ git diff
# I look at the diff and then press q. But it's all printed to the console
diff --git a/somefile.txt b/somefile.txt
...
...
...
me@mypc:~$
me@mypc:~$ less somefile.txt
# I look at the file content, but after I press q, console appears and nothing is printed there
me@mypc:~$
Run Code Online (Sandbox Code Playgroud)

我意识到 git 的行为就像less -X,那么如果没有这个选项,我如何强制 git …

git less-unix

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

R unix 终端寻呼机

我在 OS X 10.6 上使用 R 并且我更喜欢 unix 控制台而不是 R.app 来工作。如果我发出了一个help命令,例如?print帮助内容通过寻呼机(我试图打开mostless),然而这则掩藏起来的内容,如果我退出它把我带回了R输入线。

我真正想要的是,即使在我将其退出回 R(点击q)后,寻呼机输出仍会保留在屏幕上。

我在其他基于 Readline 的 Cli 上得到了这种期望的行为psql,例如,但不是在 R 上。有关如何配置的任何提示将不胜感激。

r readline less-unix

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

仅当输入大于屏幕尺寸时如何减少分页?

如果我想在程序的输出超过屏幕上的行数时清除屏幕并减少运行,我可以执行以下操作:

mypgm | tee mypgm.out
LEN=$(wc -l mypgm.out | cut -f1 -d' ')
[[ $LEN >= $LINES ]]; then
   clear
   less -R mypgm.out
fi
Run Code Online (Sandbox Code Playgroud)

只要输出中的任何行都没有环绕,它就可以正常工作,视觉上在屏幕上占据了不止一行。有没有一种简单的方法可以确定输出在视觉上占据了多少行,或者我是否必须循环输出文件,使用 $COLUMNS 计算长行需要显示的“行”数

linux bash terminal less-unix

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

iTerm2 和 Zsh 中 git 和 less 的行为 - 不要使用单独的视图/备用屏幕

在 Zsh 中与 iTerm2 一起使用less类似命令,例如运行git log --graph -n 3git stash listless README.md,将输出放在单独的视图中。我希望行为更像cat输出停留在主窗口中的位置。例如,当我使用时git log,我希望能够引用我刚刚看到的提交哈希值。

git zsh iterm2 less-unix

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

如何将选项从 git-diff 传递给 less?

我在 OSX 机器上有一个相当默认的 git 设置,但我想将-j.5添加到less,以便搜索匹配发生在屏幕中间。

我尝试这样做export LESS=-j.5,但这导致内容喜欢ESC[1mdiff --git a/app/images/bluecog-icon.png b/app/images/bluecog-icon.pngESC[m出现,即使事先echo $LESS给出了一个空的结果。我查了一下,git help diff但它没有提到“pager”,也没有提到“less”指的是 unix 工具(而不是“greater”的反义词)。

修改环境变量或传递参数git diff都是可以接受的。我知道我可以-j.5在 git diff 本身内输入。

git git-diff less-unix

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

“less”会消耗大量 RAM 用于 gzip 压缩文件的管道输出,为什么?

请原谅我毫无用处cat,而且是echo预先的,但是当less在 ~2GB .gz 文件上运行时,我看到 ~25GB 的 RAM 被消耗(尽管输出被通过管道传输到 awk 并在那里消耗):

[user@mybox:~]$ cat <(echo '173abcde7665559.90651926
131abcde7298936.49040546
... (25 lines total here) ...
186abcde4858463.43044639
163abcde9409643.80726489'|awk '{print "KEY 1"length($1)-16":"$1}';
less /tmp/stats.gz)|awk '{if("KEY"==$1){K[$2]=1}else{if($8 in K)print}}' >bad25&
Run Code Online (Sandbox Code Playgroud)

我预计上面的内容不需要 RAM 就能完成,但令我惊讶的是,大约 2.5 小时后(当时读取 .gz 的进度已达到 89.8%):

[user@mybox:~]$ ps auxf|grep -e 'pts/2' -e PID |grep -v grep
USER   PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
user 26896  0.0  0.0  68356  1580 pts/2    Ss+  15:23   0:00  \_ /bin/bash
user …
Run Code Online (Sandbox Code Playgroud)

linux bash shell gzip less-unix

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

标签 统计

less-unix ×7

bash ×3

git ×3

linux ×2

shell ×2

terminal ×2

git-diff ×1

gzip ×1

iterm2 ×1

r ×1

readline ×1

zsh ×1