使用 vim 读取 gnu-screen 日志

2024-01-04

最近我发现了一个很棒的终端多路复用工具,称为 gnu-screen。 我对它完全满意。但我遇到了一个我想改进的不便之处。

“C-a H”命令使屏幕将所有内容记录到名为“screenlog.*”的日志文件中。 但以一种奇怪的方式对控制字符进行编码。例如,如果您使用“less”打开日志文件,您可能会看到一些神秘字符,并且日志文件不可读。您必须运行“less -r”或“less --raw-control-chars”,这有助于正确编码这些控制字符。

到目前为止,一切都很好。但是如果您想编辑日志或使用 vim 读取日志,那么您会遇到与控制字符相同的问题。

我用谷歌搜索了这个问题并查找了 SO,但我已经不知所措,因为有太多关于 vim 和 screen 的信息。不幸的是我还没有找到解决方案。

也许您知道这个问题的解决方案或一些解决方法。

UPD谢谢弗雷德里克·哈米迪 https://stackoverflow.com/users/464709/frederic-hamidi我发现这些字符是字体颜色等的终端转义序列。Vim 作为编辑器看到它们并默认编辑它们。 Frédéric 建议的插件告诉 vim 解释它们。


在这里提供答案并最终将其标记为已修复:AnsiEsc 插件 http://www.vim.org/scripts/script.php?script_id=302添加 ANSI 颜色序列的语法突出显示。所以而不是看到^[[30m;下面的文本将以相应的颜色突出显示,就像使用时一样less --raw-control-chars.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 vim 读取 gnu-screen 日志 的相关文章

  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht
  • bluetoothctl 到 hcitool 等效命令

    在 Linux 中 我曾经使用 hidd connect mmac 来连接 BT 设备 但自 Bluez5 以来 这种情况已经消失了 我可以使用 bluetoothctl 手动建立连接 但我需要从我的应用程序使用这些命令 并且使用 blue
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • 仅打印“docker-container ls -la”输出中的“Names”列

    发出时docker container ls la命令 输出如下所示 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a67f0c2b1769 busybox tail f dev
  • 如何禁用 GNOME 桌面屏幕锁定? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何阻止 GNOME 桌面在几分钟空闲时间后锁定屏幕 我已经尝试过官方手册了在红帽 https access redhat com doc
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 我可以从命令行打印 html 文件(带有图像、css)吗?

    我想从脚本中打印带有图像的样式化 html 页面 谁能建议一个开源解决方案 我使用的是 Linux Ubuntu 8 04 但也对其他操作系统的解决方案感兴趣 你可以给html2ps http user it uu se jan html2
  • 无法从 jenkins 作为后台进程运行 nohup 命令

    更新 根据下面的讨论 我编辑了我的答案以获得更准确的描述 我正在尝试从詹金斯运行 nohup 命令 完整的命令是 nohup java jar home jar server process 0 35 jar prod gt gt var
  • chown:不允许操作

    我有问题 我需要通过 php 脚本为系统中的不同用户设置文件所有者权限 所以我通过以下命令执行此操作 其中 1002 是系统的用户 ID file put contents filename content system chown 100
  • 在哪里可以找到并安装 pygame 的依赖项?

    我对 Linux 比较陌生 正在尝试安装 python 的 pygame 开发环境 当我运行 setup py 时 它说我需要安装以下依赖项 我找到并安装了其中之一 SDL 然而 其他人则更加难以捉摸 Hunting dependencie
  • 加载数据infile,Windows和Linux的区别

    我有一个需要导入到 MySQL 表的文件 这是我的命令 LOAD DATA LOCAL INFILE C test csv INTO TABLE logs fields terminated by LINES terminated BY n
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • nslookup 报告“无法解析 '(null)': 名称无法解析”,尽管它成功解析了 DNS 名称

    我在 ubuntu 上 并且正在运行 docker 默认桥接网络 我有 Zookeeper kafka 的容器化版本 以及我编写的与 kafka 对话的应用程序 I do a docker exec it
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t
  • 尝试安装 LESS 时出现“请尝试以 root/管理员身份再次运行此命令”错误

    我正在尝试在我的计算机上安装 LESS 并且已经安装了节点 但是 当我输入 node install g less 时 出现以下错误 并且不知道该怎么办 FPaulMAC bin paul npm install g less npm ER
  • 无法使用 wget 在 CentOS 机器上安装 oracle jdk

    我想在CentOS上安装oracle java jdk 8 我无法安装 java jdk 因为当我尝试使用命令安装 java jdk 时 root ADARSH PROD1 wget no cookies no check certific
  • os.Mkdir 和 os.MkdirAll 权限

    我正在尝试在程序开始时创建一个日志文件 我需要检查是否 log如果不创建目录 则目录存在 然后继续创建日志文件 好吧 我尝试使用os Mkdir 也os MkdirAll 但无论我在第二个参数中输入什么值 我都会得到一个没有权限的锁定文件夹
  • 使用 sh 运行 bash 脚本

    我有 bash 脚本 它需要 bash 另一个人尝试运行它 sh script name sh 它失败了 因为 sh 是他的发行版中 dash 的符号链接 ls la bin sh lrwxrwxrwx 1 root root 4 Aug
  • Linux 中什么处理 ping?

    我想覆盖 更改 linux 处理 ping icmp echo 请求数据包的方式 这意味着我想运行自己的服务器来回复传入的 icmp 回显请求或其他 数据包 但为了使其正常工作 我想我需要禁用 Linux 的默认 ping icmp 数据包

随机推荐

  • OpenCV、dlib 地标旋转

    我是 OpenCV 和 dlib 的新手 我不确定我的设计是否正确 我想为 Android 手机编写一个 C 人脸检测器 它应该检测具有不同手机方向和旋转角度的人脸 当手机方向为纵向和横向时 让我们留下来 我正在使用 OpenCV 旋转 编
  • Spring Data JDBC / Spring Data JPA 与 Hibernate

    在哪些典型的现实生活场景中 人们会选择 Spring Data JDBC Spring Data JPA 与 Hibernate 我想了解这些实现最适合的场景 正如 Naros 所说 目前标题中的问题并没有真正起作用 看来我们确实应该考虑
  • 通过 HTTPS 获取 R 脚本

    有没有办法从网络获取 R 脚本 e g source http github com project R file r 原因 我目前有一个项目想要可供使用 但尚未准备好打包 因此 如果能够为人们提供一个可以从网络获取的单个文件 然后该文件将
  • Google Sheets - 将组中的不规则列数据转置为行

    很像中数据转置的问题转置列数据 https stackoverflow com questions 68426024 google sheets transpose column data in groups into rows我一直在尝试
  • 如何在 Java 中获取 RSA 密钥的大小

    给定一个 java security interfaces RSAKey 如何获取它的大小 你可以试试这个 key getModulus bitLength
  • ASP.Net Web API 模型绑定不像 MVC 3 中那样工作

    我的印象是 ASP Net Web API 中的模型绑定应该支持与 MVC 支持的最低功能级别相同的绑定 采用以下控制器 public class WordsController ApiController private string w
  • 如何部署节点应用程序依赖项?如何确保使用 npm 安装某个包的某些版本?

    部署节点应用程序依赖项的最佳方法是什么 如何确保使用 npm 安装某个包的某些版本 是否有像 python 的 pip 中的 requests txt 这样的配方文件 A package json指定模块的依赖关系 https docs n
  • 在 homebrew 中更新 pip 和 setuptools 不起作用

    After brew install python 出现以下内容 Pip and setuptools have been installed To update them pip2 install upgrade pip setuptoo
  • $lookup mongodb 中的嵌套数组

    我正在与新鲜事物作斗争 可爱 lookupMongoDB 中的运算符 我有3个收藏 artists id ObjectId 5b0d2b2c7ac4792df69a9942 name Dream Theater started in Num
  • 如何防止 CFEXECUTE 在 PrintStackTrace 之后挂起

    我正在使用 ColdFusion MX7 对某些 Java 6 代码执行 CFEXECUTE 不幸的是 由于 CF7 不能在 JDK 6 下工作 我必须这样做 我的问题是 当 Java 代码中发生异常时 如果我调用printStackTra
  • Java- CSV /删除csv文件中的列

    我尝试用 Java 删除 csv 文件中的一列 例如 我有这个 csv 文件 ID name1 name2 name3 1 hello hell hel 2 try tr t 3 browser bro br 我想要在下一次操作之后 删除
  • 如果没有 Provides 注释的方法,则无法提供 Android dagger

    我决定学习dagger依赖注入框架 经过一些教程后 我尝试将 dagger 实现到我的项目中 但是我收到了这个错误 com assigment di component AppComponent java 11 error Dagger M
  • URL 重写 PHP $_GET 变量

    嘿 我正在寻找一个 htaccess 重写文件来更改 newProject index php start 2 to newProject page 2 我该怎么办 谢谢 我认为你的问题是倒退的 特别是如果你正在寻找更干净的网址 Rewri
  • 使用 oledb 命令从存储过程检索输出参数 vb.net

    我的存储过程 PROCEDURE dbo addMasterTransaksi kodeSuplier varchar 10 Total money kodeUser varchar 10 isLunas varchar 2 Dp mone
  • rep 的文档是否告诉我们它是一个内部通用函数?

    因为它已开启内部通用函数列表 https stat ethz ch R manual R patched library base html InternalMethods html 我知道rep是一个内部通用函数 这个事实是否仅通过阅读就
  • AngularJS 中具有嵌套状态的嵌套视图

    我正在尝试创建嵌套状态 但出了点问题 我不明白为什么 我的角度应用程序中有这些状态 client list clients client id show client client new new client 现在 我正在尝试做 clie
  • 如何删除C++中类的所有隐式(默认)方法?

    C 编译器在一定条件下为类添加隐式默认构造函数 复制构造函数 析构函数 转换运算符 赋值运算符等以及其他隐式方法 如何以最短的方式禁用 删除所有可能的隐式方法 我不希望我的类不可复制 我只想禁用这些默认方法 以便编译器抛出编译错误 然后我自
  • Express 3.x 和 socket.io 教程 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一个很好的入门教程 使用 Express 3 x 将 socket io 和express 结合
  • 在 iOS 模拟器上显示 GMSMarkers 时出现 GMSThreadException

    我正在开发一个应用程序来在 GMSMapView 上显示大约 200 个 GMSMarkers 我尝试了两种显示标记的方法 方法1有点慢 但没有出现错误 但是方法2在真机上运行顺利 但在iOS模拟器上测试时出现GMSThreadExcept
  • 使用 vim 读取 gnu-screen 日志

    最近我发现了一个很棒的终端多路复用工具 称为 gnu screen 我对它完全满意 但我遇到了一个我想改进的不便之处 C a H 命令使屏幕将所有内容记录到名为 screenlog 的日志文件中 但以一种奇怪的方式对控制字符进行编码 例如