linux - 用鼠标在shell中获取选定的字符
问题描述
我很好奇如何编写不同的代码。当我开始使用 Termux 时,我遇到了一个家伙:
之后,像 Vim 这样的文本编辑器如何获得您选择编写的字符?
是否可以不使用 C 或 C++ 等低级语言的外部库?
我正在阅读 Nano 的代码,但它使用外部库来做到这一点。
解决方案
通常,终端仿真器(继旧硬件终端之后)是输出设备,几乎没有能力查询实际显示的内容。'termios.h' 不会提供很多帮助。一些库(如 curses)提供了对输出的更好控制,但查询屏幕上的内容的能力相对较少。
大多数知道在屏幕上执行操作的代码(例如,vim、emacs)都会跟踪屏幕上显示的内容以及光标位置(或所选区域区域),并使用这两条信息来执行编辑。
一个特例是使用 GUI 框架(GTK、Qt、...)的软件。它们的文本小部件将提供 API 来查询/设置显示的数据、选定的数据等。此 API 是基于存储在应用程序中的数据的副本提供的。
推荐阅读
- java - 如何使用following-sibling全部点击
- 里面
- python - 简化 for 循环
- node.js - 提取嵌套的 JSON 数据
- asp.net-core - System.TimeoutException: 'PersistentChannel 上请求的操作已通过 EasyNetQ 超时
- google-cloud-firestore - FieldValue isEqual 用法
- c++ - c ++“错误:无效使用无效表达式”
- amazon-web-services - AWS 是否对基于 RHEL AMI 的图像收取许可费
- java - java流将POJO列表转换为Map的Map
> - python - predict.model() 总是为所有输入返回相同的结果
- django-rest-framework - 使用与 faker 集成的 factory boy 从名称列表中进行选择
我可以点击“Mentorship”li 标签,但我想点击每个 li,从“Mentorship”标签链接开始
<ul _ngcontent-cwp-c18="" class="navigation clearfix"> <li _ngcontent-cwp-c18="" routerlinkactive="curren
- 里面