在命令行程序中使用 emacs 或 vim 的语法荧光笔?

2023-12-30

我有一个可以输出 JSON 和 YAML 的命令行程序。默认情况下,它会检测 pygments (pygmentize) 是否可用,如果可用,则将输出传递给它以获得漂亮的彩色输出。但是,默认情况下,大多数运行该程序的计算机上并未安装 pygments。但大多数计算机都会有 emacs 或 vim,但是却有。有没有办法让这些编辑器之一使用 ANSI 转义序列语法突出显示某些文本,然后再次输出?


因为编辑器已经可以做 ansi 的事情,所以很容易制作编辑器的屏幕截图,不是吗?

script -qc "stty rows 10000
emacs -nw -visit YOURFILE.YAML -eval '(redisplay t)' -f kill-emacs
resize"

(仅 GNU FSF Emacs 需要重新显示)

现在清理捕获

perl -p0E 's/\A(?s:.*)\e\[27m\r\n
\e\[A\n((?s).*?)
(?:\e\[K\n)+
\e.*\e\[27m\r$(?s:.*)\Z/$1/mx' < typescript

如果您不希望记录过程在屏幕上可见,您可以使用 perl 的 IO::Pty 之类的东西将其包装在隐藏终端中

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

在命令行程序中使用 emacs 或 vim 的语法荧光笔? 的相关文章

  • 如何清空或清除 emacs 迷你缓冲区?

    有时 迷你缓冲区的内容会显示命令的输出 emacs 24 当输出只有一行时 这并不会造成太大的不便 当命令有多行长并且迷你缓冲区使用许多可用于其他用途的显示行时 这会更烦人 有没有办法清除迷你缓冲区的内容 注意 当我M echo usage
  • 让 Emacs 尊重我的默认 shell + 选项

    我正在尝试让我的 Emacs shell 模仿我的标准终端会话 基本上我希望它尊重相同的路径以及命令提示符 到目前为止我有几个问题 找不到 PATH 下面是我正在使用的修复程序 我尝试过另一个修复 到处都是 ascii 颜色代码 我的 mw
  • 如何通过 El-Get 安装 MELPA 软件包?

    El Get 文档说El Get 支持package el https github com dimitri el get el get elpa and packageelMELPA 文档显示如何使用 MELPApackage el ht
  • 如何在 Vim 中仅在某些上下文中启用语法隐藏?

    我想隐藏名称基于希腊符号的变量 并将它们转换为 Unicode 等效符号 类似于vim 可爱的 python https github com ehamberg vim cute python作品 例如 我有这个 syntax match
  • 用于将 PCRE 正则表达式转换为 emacs 正则表达式的 Elisp 机制

    我承认对喜好有很大的偏见PCRE http www pcre org regexps 比 emacs 好得多 如果没有其他原因 当我输入 时 我几乎总是想要一个分组运算符 当然 w 和类似的比其他等价物方便得多 但当然 期望改变 emacs
  • VIM语法折叠:禁用折叠多行注释

    我在 vim 7 3 中使用 语法 折叠方法 在 vimrc中 set foldmethod syntax 当我打开 Test cpp 时 包含 A function with a multi line comment This takes
  • Emacs java 模式:malabar、jdee 还是 eclim?

    我想使用 emacs 进行 java 编码 但我对使用什么模式进行 java 编码感到困惑 有 jdee 看起来像 ide malabar 据说他比 jdee 更精通 java 1 5 结构 和 emacs eclim 它是 emacs 的
  • 按文件类型设置 Vim 空白首选项

    在我的工作中 我需要遵循房屋风格进行缩进 如下所示 编码 html 和 ruby 时有 2 个空格 编码 javascript 时使用制表符 建议使用 tabwidth 4 为每个文件类型指定不同的空白首选项的最佳方法是什么 方法有很多 但
  • 修改verilog模式缩进

    我试图让 verilog 模式使用 2 个空格缩进除 decls 和always 之外的所有内容 这是我添加到 emacs 中的内容 define are not indented setq veril
  • Vim:无法让病原体加载包

    我在 Stackoverflow 和 github 等上阅读了有关此问题的其他五个问题 但一直无法解决这个问题 此时我完全迷失了 我使用的是 Ubuntu 11 10 和 Vim 7 3 这是我的 vimrc set nocp call p
  • 如何在 Vim 中突出显示 Bash 脚本?

    我的 Vim 编辑器自动突出显示 PHP 文件 vim file php HTML 文件 vim file html 等等 但是当我输入 vim file在里面写一个Bash脚本 它不会突出显示它 我如何告诉 Vim 将其突出显示为 Bas
  • 如何设置 Vim 进行 Android 开发?

    谁能描述一下用于 Android 开发的良好 Vim 设置吗 我现在使用 Eclipse 但我真的很想使用 Vim 因为它更快 而且我更喜欢它 例如 我对 Eclim 不感兴趣 我对使用哪些 Vim 插件 用于 Java 自动完成等 如何
  • 组织模式下的内联代码

    Markdown 允许embedded code 这怎么能在org mode 我了解源代码块 begin example blah blah end example 但我想要的是这样的 显然 具有正确的语法 我不知道 This is emb
  • Emacs中跳转到声明的快捷键是什么?

    在 Visual Studio 中 编辑 C C 代码时 按 F12 按钮可以更轻松地跳转到函数或变量的声明 emacs 有快捷键可以做到这一点吗 嗯 事情比这更复杂一些 默认情况下 Emacs 不 了解 C 或 C 代码的函数声明 首先
  • Vim 在 Mingw 上表现异常

    我在 MinGW 4 6 2 上的 Vim 表现得很奇怪 例如 在插入模式下按 Backspace 会删除字符 但我必须用箭头键移动光标才能删除的字符消失 而且它也会使我退出插入模式 另一个例子 按 Del 删除字符有时会生成奇怪的字符 例
  • Vim 和 Mac:如何在不使用 pbcopy 的情况下复制到剪贴板

    我有一个同时支持剪贴板和 xterm clipboard 的 vim 版本 然而 y or y不要复制到系统剪贴板 我知道我可以使用 w pbcopy 甚至为其创建快捷方式 但我真的想要标准方式 我也看到了 fakeclip 但希望找到一个
  • 如何禁用vim的switch case缩进?

    我目前正在与 Vim 作斗争 我似乎无法让缩进选项达到我想要的效果 这是我的设置 我将它们放在 vimrc 的底部以确保它们优先 正如你所看到的 我有点疯狂 所以我尝试关闭几乎所有的东西 set cindent set cinkeys o
  • 自定义 Vim HTML 语法

    我有一个脚本可以读取 HTML 文件并替换出现的 foo 具有 Perl 设置的值 像这样的东西 span class hi mom span 会在浏览器中产生类似这样的内容 span class classyclass Hello Wor
  • Flymake的临时文件可以在系统临时目录下创建吗?

    我目前正在使用以下代码在 emacs 中连接 Flymake 和 Pyflakes defun flymake create temp in system tempdir filename prefix make temp file or
  • PHP HEREDoc (EOF) 语法在 Sublime Text 3 上突出显示与正斜杠的差异

    我不熟悉 Sublime Text 3 如何使用语法突出显示 例如 如果它纯粹依赖于主题 或者它内置于主题运行的标准中 但就我而言 使用 PHP 的 HERE 文档和转发存在一些语法突出显示差异斜线 一旦出现正斜杠 ST3 就会认为以下所有

随机推荐

  • 多态 has_and_belongs_to_many

    如何定义 has and belongs to many 多态关联 情况 想象一下我们有用户 曲目 列表等 并且所有这些模型都可以被标记并使用此标签进行过滤 我想做的是 Use has and belongs to many这使得标签可以拥
  • 使用 sql 选择的值作为另一个选择的行名称

    在 MSSQL 服务器上 给定表 TABLE values int id timestamp date int value TABLE value type int value id foreign key on values id tex
  • 通过 setName() 比较组件。

    我正在编写一个图像拼图游戏 代码的一部分是将用户选择的片段与正确图像的片段进行比较 每个图像片段都已作为 ImageIcon 添加到 JButton 需要一个标识符来区分每个图像片段并进行比较 我正在为每个创建为标识符的 JButton 设
  • Java - 字段名称的别名

    假设我有一个对象 Object A String field1 abc String field2 xyz 上面的 json 是 ObjectA field1 abc field2 xyz 我试图在发送 json 之前为字段名称创建一个新的
  • 构建一个简单的键盘记录器 Android 应用程序:虚拟键盘的辅助功能研究

    我一直在尝试寻找一些资源 以便为 Android 平台 APILevel 17 上的辅助功能研究项目构建键盘记录器 Android 应用程序 应用程序的界面将是一个简单的 编辑文本 用户使用以下命令键入的字段虚拟屏幕键盘 从输入设置中选择所
  • Dalvik 到 Java SE 通信

    我正在计划开发一个 Android 应用程序 它需要后端服务器来与该应用程序的其他用户同步数据 我计划用在 UNIX 服务器上运行的标准 java 编写这个服务器 我曾经直接在两个 Android 设备之间执行此操作 在这种情况下 我只是序
  • 如何对具有非数值的数据框进行分组和透视

    我正在使用 Python 并且有一个包含 6 列的数据集 R Rc J T Ca 和 Cb 我需要先 聚合 列 R 然后 聚合 以便对于每个 R 每一行都是唯一的 J Rc 是 R 的特征 Ca 和 Cb 是 T 的特征 查看下表会更有意义
  • 什么是 UI 状态?

    什么是 UI 状态 你能给我举一个类似的例子吗 例如 它是否指的是跟踪打开的选项卡之类的事情 我认为这个想法是应用有状态 并且 UI 反映了该状态 所以当你的应用程序启动时 它会像下面这样 1 初始状态 应用程序启动 2 加载初始数据 加载
  • 自动前缀过滤器在 Flask_Assets 中不起作用

    我尝试按照以下说明让 autoprefixer 过滤器与 Flask assets 一起使用Flask Assets 文档 https webassets readthedocs io en latest builtin filters h
  • 如何使用 core php 在 WordPress 中注册后自动登录

    几天来我一直在尝试让刚刚注册到我的 WordPress 网站的用户自动登录 然后将他们重定向到我选择的 URL 默认情况下 WordPress 会向您发送用户名和密码 然后您必须手动登录 这是一种彻底的痛苦 我怎样才能克服这个问题 我有自己
  • Java随机数

    初学者问题在这里 我尝试使用此代码创建一个随机数 int rand int Math random 10 但是 当打印到屏幕时 我一直收到 0 作为答案 只有在像这样加上括号之后 int rand int Math random 10 数字
  • 堆空间中的缓冲响应会导致大文件出现问题

    我有一个网络服务器项目 在尝试下载大文件时遇到异常 该文件通过流读取并写入 ServletOutputStream 示例代码 private void readFromInput BufferedInputStream fis Servle
  • AMQP 1.0 实现在哪里?等待还有意义吗?

    我正在进行研究 以确定我们未来的产品应采用哪种消息传递解决方案 但我无法真正弄清楚这一点 有很多 AMQP 0 9 1 实现 RabbitMQ Apache Qpid OpenAMQ 等 但没有 AMQP 1 0 实现 尽管 1 0 已于
  • 如何在 OpenAPI (Swagger) 中指定默认的 XML 元素文本?

    我正在为以下 XML 有效负载构建 OpenAPI Swagger 2 0 定义 以在 Swagger UI 中使用
  • WinSpool OpenPrinter 访问被拒绝

    这是这个问题第 335 次被问到 但我没有找到答案 我正在尝试通过 WinSpool api 从 ASP net C 应用程序将原始数据直接发送到打印机 我的代码只是一个副本here http support microsoft com k
  • 使用多索引将数据帧的一部分与另一部分进行比较

    我有一个具有 3 级多重索引的数据框 gt gt gt np random seed 0 gt gt gt df pd DataFrame np random randint 10 size 18 2 index pd MultiIndex
  • 解码字符串有多少种方法?

    我正在解决需要解码字符串的问题 包含 A Z 字母的消息正在被编码为数字 使用以下映射 A gt 1 B gt 2 Z gt 26 给定一个仅包含数字的非空字符串 确定总数 解码它的方法的数量 示例1 输入 12 输出 2 解释 可以解码为
  • 设计authenticate_user的代码是什么!为 :user 生成后

    我意识到authenticate user is 没有明确定义 https stackoverflow com questions 9272272 where is devise implementation of authenticate
  • 非托管 C++ - 需要强名称才能由具有强名称的 C++/CLI dll 引用吗?

    我有一个非托管 C dll 它将由托管 C CLI 包装器 dll 使用 最终将由 C 项目使用 C 项目是强名称的 包装器 dll 也是如此 我尝试使用 KEYFILE 对非托管 dll 执行相同的操作 但似乎不起作用 包装器正在抱怨 i
  • 在命令行程序中使用 emacs 或 vim 的语法荧光笔?

    我有一个可以输出 JSON 和 YAML 的命令行程序 默认情况下 它会检测 pygments pygmentize 是否可用 如果可用 则将输出传递给它以获得漂亮的彩色输出 但是 默认情况下 大多数运行该程序的计算机上并未安装 pygme