- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
当我在终端工作时,我会看到最后一个 shell 命令执行输出的历史记录。如果我运行 vim,我会看到我全屏打开的文件。当我退出 vim 时,我可以再次看到最后一个 shell 命令的历史。
但是,当我从 screen 上使用 vim 时。我在退出 vim 时看到了我刚刚编辑的文件的足迹,而不是最后一个 shell 命令的历史记录。 不过,我想查看 shell 的历史记录。
我怎样才能实现这种行为?
我用过:
到目前为止,我没有得到想要的行为。
附言
我用谷歌搜索了一下,看到了试图解决相反问题的人的评论:
此行为背后的主要思想是程序是否使用备用 screen 来保存 shell 历史的图片并在 vim 退出时显示它。因此,如果一个人想解决相反的问题,他应该
最佳答案
更新:我忘记了 screen
的一项功能,该功能默认禁用备用 screen 支持。
将 altscreen on
添加到您的 $HOME/.screenrc
以启用它。这可能就是您所要做的; $TERM
、$TERMCAP
和 $TERMINFO
的所有乱七八糟的事情可能都是不必要的。无论如何,我会把这个答案的其余部分留在这里。
我在自己的 .screenrc
中已经有了这个,但它已经忘记了。
要为当前 session 启用此功能,请键入您的 screen
转义字符(默认情况下为 Cntrl-A),然后键入 :altscreen on
输入。
如果没有这个,screen
将不会响应转义序列,即使它们是在 terminfo 或 termcap 中定义的。
vim
(和 less
,以及大多数其他基于 curses 的全屏程序)使用 smcup
和 rmcup
由终端的 terminfo 条目定义的字符串。 (在旧的 termcap 系统中,它们分别称为 ti
和 te
)。 smcup
切换到备用 screen ,rmcup
切换回主 screen 。
如果您的 terminfo 条目没有这些字符串,程序将无法执行此操作。
默认情况下,screen 命令将您的 $TERM
设置为 "screen"
。显然,“screen ”terminfo 条目没有 smcup
和 rmcup
。
如果您想破解 terminfo 条目,您可以修改“screen”的现有信息以添加 smcup
和 rmcup
。您将需要 infocmp
命令将您的 terminfo 转换为文本,并需要 tic
将其转换回 terminfo 使用的二进制形式。
一个更简单的解决方案是将 $TERM
环境变量设置为调用 screen
命令之前的值。现在几乎所有的终端仿真器都是基于旧的 DEC VT100,因此它们应该具有足够的兼容性。
例如,在我的系统上,当我登录时,我有 TERM=xterm
;这可能是 MacOS 上的其他东西。在 screen
session 中,默认情况下,我会:
$ echo $TERM
screen
我可以像这样将它更改为 xterm
:
$ export TERM=xterm
(同样,用您系统上的任何 $TERM
替换“xterm”。)
还可以添加
term xterm
到您的 $HOME/.screenrc
。事实上,screen
有很多选项可以调整您的 termcap/terminfo 设置; man screen
并搜索“terminfo”以获取详细信息。
关于linux - screen : how to turn on alternate screen?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17868652/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我正在使用 gradle 1.4,并将 build.gradle 重命名为 buildExpr.gradle,将 settings.gradle 重命名为 settingExpr.gradle,这两个
使用 Ubuntu 16.04.7 我试图将 python3.8 作为我的默认 python 版本。我按照 here 给出的说明进行操作,但最终标准 python 版本没有改变。每当我运行 pytho
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 6年前关闭。 Improve this questi
我有一个函数,它对其参数进行模式匹配,以在 StateT () Maybe () 中生成计算。这个计算在运行时可能会失败,在这种情况下,我希望当前的模式匹配分支失败,可以这么说。 我非常怀疑是否可能有
我知道这类问题已经回答过几次,但我给出了问题的上下文以期待一些其他的架构替代方案。 考虑一个 CExpression 类: class CExpression { public:
当我的红色、绿色或蓝色变量发生变化时,我正在尝试使用 Combine 来更新颜色。我看过的示例使用 sink() ,这似乎适合我,但 eraseToAnySubscriber 是 MIA,我找不到替代
最近我不得不搜索一些字符串值来查看哪个匹配某个模式。在用户输入搜索词之前,字符串值的数量和模式本身都不清楚。问题是我注意到每次我的应用程序运行以下行时: if (stringValue.mat
我希望制作包含类对象列表的类对象的深拷贝,每个类对象都有自己的一组内容。对象不包含比整数和列表更令人兴奋的东西(没有字典,没有等待生成的生成器等)。我在一个循环中对 500-800 个对象执行深度复制
我正在尝试在表格中插入一个简单的行。有人可以指出这里发生了什么吗? CREATE TABLE recommendation_engine_poc.user_by_category (
使用 Get-ChildItem | Get-Member 我可以看到对象的方法和属性。但是我如何看到例如的不同可能值属性?我可以用 Get-ChildItem | Where-Object {$_.
我有一个任务是编写简单的解析器生成器,所以我编写了类似 ANTLR 的语法并尝试解析像“foo:bar;”这样的简单文件,但得到了以下输出: [@0,0:2='foo',,1:0] [@1,3:3='
这个问题已经有答案了: Why order matters in this RegEx with alternation? (3 个回答) Order of regular expression op
Ax 2009 中的 MorphX 报表设计器似乎不是“最好的”报表设计器。我不知道是不是我的错,或者 morphx 报表设计器是否有太多错误而无法完成他的工作。我猜是否有一些替代方案可以为 Ax 2
除了 OWASP XSS 过滤软件之外,还有其他方法可以防止 XSS 攻击吗?如果可以在 apache 级别进行阻止,我需要建议。我不是安全专家,因此需要详细信息。感谢您的帮助 最佳答案 当数据向最终
在我的 Java EE 7 程序中,我想使用 @Alternative 根据上下文、生产或测试来注入(inject)不同的实现。我所做的就是在 beans.xml 文件中声明用 @Alternativ
我有一个文本文件,其中包含遵循替代模式的行,例如: name: SomeName counterA: 0, counterB: 0, counterC: 0 name: SomeNameB count
我知道标准的单例模式是这样的: 原创 public class Singleton1 { public static Singleton1 _Instance; public stat
在 Haskell 中,您可以像这样为临时变量创建 where 条件: f x | cond1 x = a | cond2 x = g a | otherwise = f (h x
我认为我能找到的所有适用于 Android 的自定义按钮教程都假设您使用三种图像作为按钮:普通图像、按下图像和聚焦图像。 不是本质上将给定按钮资源的大小增加三倍(并为美工/UX 人员创造更多工作),是
我是一名优秀的程序员,十分优秀!