首页 > 解决方案 > bash 使用 less 来检查终端屏幕顶部的 bash_aliases 假脱机

问题描述

我使用以下函数快速查看我的 bash_aliases 中的项目

showa () { /usr/bin/grep --color=always -i -a1 $@ ~/.bash_aliases | grep -v '^\s*$' | less -FSRXc~ ; }

它工作得很好,除了不到一页的比赛,前两个比赛从终端屏幕的顶部滑出,把最后一场比赛作为第一条可见线,所以我每次都必须向上滚动才能看到它们。这是一个轻微的麻烦。当匹配的页面超过一整页时,它似乎不会这样做。

理想情况下,我希望第一场比赛出现在屏幕的顶部,而不是一发不可收拾。

通过 more 添加管道没有帮助,也没有任何替代开关的看似组合,例如 -j 在 less 命令上。终端是标准的 40 行,对终端设置的更改似乎也没有帮助。

什么可能是可行的解决方案?- 感谢帮助。

标签: bashterminalless

解决方案


定位问题。-a开关上有一个虚假的“1” 。

这是最终的解决方案,在比赛前还显示了几行上下文。

showa () { /usr/bin/grep -B 5 --color=always -i -a $@ ~/.bash_aliases | grep -v '^\s*$' | less -FSRXc~ ; }

推荐阅读