try*_*sis 4 linux shell pagination android git-bash
我不确定这是否是重复的,但我不知道如果是重复的要搜索什么,因为我不知道这种现象的名称。
基本上,每当我在某些计算机上使用vimand时less,以前的终端内容都会被当前文件的缓冲区覆盖(我认为)。如果我使用滚动条向后滚动,而不是使用当前程序的命令,我可以看到之前的终端内容,但之前的一些行已被当前程序覆盖。似乎有多少行通过了缓冲区(我认为),例如,vim终端的先前行有多少行被覆盖。当我退出vim/less时,这些行仍然被覆盖,尽管它们显示在历史记录中,并且当我按up“返回”历史记录时。
然而,在其他计算机上,会发生完全不同的情况。当我使用vim或时less,如果我上下滚动,我将看不到终端的前几行。事实上,在大多数发生这种现象的计算机上,如果我用鼠标向后滚动,vim并向less后滚动当前缓冲区中的文件,就好像我按下了Ctrl-E/一样Ctrl-Y。当我退出vim/less时,我根本看不到该文件,我只看到终端以前的内容,就像我在打开文件之前所做的那样。
每当我使用时more,无论我使用什么计算机,都会出现前一种现象,但我用得不more多,因为我less在各方面都比较喜欢,所以我没有测试它的极限。
我经历前一种现象的计算机/虚拟终端似乎是较旧的计算机和/或功能和规格较低的计算机,这是有道理的,因为大多数人可能想要后者,但它可能更难实现并且需要更多的处理能力和记忆。
具有以前经验的计算机是:RedHat我工作中的 2 台旧计算机,可能是 2000 年代末/2010 年初,我通过计算机访问Windows 7它们Penguinet;Android带有 Terminal Rex IDE 的手机/平板电脑,我在其中“安装系统”。在大多数Android终端应用程序上,我无法得到vim, less,甚至无法vi得到 ,尽管我得到了more。当我使用vagrantwith时Git Bash,默认TERM值是msys,终端一团糟,我经历了大部分相同的行为,但更糟。当我改为TERMorcygwin时xterm,效果更好。
(对我而言)具有更理想行为的计算机是:我最新的笔记本电脑Ubuntu 15.04(是的,预装了计算机Linux);过去几年我在 Windows 8 笔记本电脑上安装的任何 Linux VM,但我只获得了最新版本,所以我不知道该行为有多旧;Git Bash在我的 Windows 8 笔记本电脑上。Git Bash当我用鼠标滚动时,没有向后滚动文件,而是通过一个空终端,但这可能是因为我的vimrc/中的设置lessrc。当我退出时Git Bash,它仍然向我显示之前的所有行,而不是文件。
这些计算机中的大多数都在使用bash,但当我fish在最新的ubuntu计算机上安装和使用时,即使我将其设置为默认外壳,我仍然遇到了较新的现象,而且我不认为Git Bash从技术上讲是bash这样,尽管可能是这样。我相信该应用程序在安装到系统时Terminal Rex使用,但是当我使用其他终端应用程序以及未安装系统的 Terminal Rex 检查环境变量时,它报告为.bashSHELLsh
我对这些行为发生的原因感兴趣,但我更感兴趣的是如何将其更改为更理想的行为。有没有办法使vim&less在较旧/能力较差的计算机上的行为更像较新计算机上的行为?另外,有没有办法使Git Bash文件滚动而不是空白终端?
额外奖励:有没有办法让more行为更像less较新的计算机?more或者这只是和之间的区别less?想一想,less性能较差的计算机上的 是否有可能实际上是这样more?
所描述的行为是 xterm 样式的替代屏幕。有两种情况:
正常/备用屏幕的大小相同:终端的可见部分忽略回滚区域。您可以使用鼠标查看回滚。如果您在切换到备用屏幕时执行此操作,您可以看到当前(备用)屏幕旁边的回滚。切换回来后,例如,当 vim 退出时,先前的行将在整个回滚和当前(正常)屏幕中显示。两者之间没有任何标记。
最近在什么机制允许 ViM 暂时覆盖整个控制台?中讨论了正常/备用屏幕的某些方面。
Unix(以及 Linux 和 BSD 等)上的大多数应用程序都会关注环境变量,它们(或ncursesTERM等库)使用该环境变量从终端数据库检索信息。原则上,可以为不同的应用程序单独设置以引发不同的行为(需要注意的是,某些应用程序(例如 vim)具有内置表来“修复”终端数据库,它们可能会在没有警告的情况下应用这些数据库)。例如,在 POSIX shell(或类似 bash)中运行,您可以键入以下命令来运行 vim 和 less,并使用两个不同的终端描述:TERM
TERM=vt100 vim foo.c
TERM=xterm less foo.c
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
851 次 |
| 最近记录: |