问题标签 [termcap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
788 浏览

linux - 设置 ddd 以调试 bash 脚本时出错

我对 Linux 比较陌生。我在我的电脑上运行 Fedora 64 位。我在使用 bashdb 设置 ddd 时遇到了困难。我可以使用 yum 安装它,但是当我为 bashdb 运行它时,会出现 ddd 的软件环境,但它会继续工作无限时间,除非我手动杀死它。

我用谷歌知道问题出在哪里,并且在使用 linux 的包安装程序时知道很多人都遇到了同样的问题。它有错误,所以我必须编译最新的源代码并手动安装。所以我下载了源代码并尝试./configure,它产生了以下错误并退出:

配置:错误:找不到 termcap 兼容库

我再次搜索,发现我的 PC 上需要 termcap 库,这里:
https ://lists.gnu.org/archive/html/bug-ddd/2013-01/msg00004.html
http://www.cplusplus.com /论坛/unices/58299/

我使用 yum 安装 ncurses,但发现它已经安装了。使用 locate 查找 ncurses 的路径并使用以下命令将其传递给配置:
sudo ./configure --with-termlib-libraries=/lib/libncurses.so.5
sudo ./configure --with-termlib-libraries=/ lib/libncurses.so.5.9

不过,我有同样的错误。

这非常令人沮丧,因为我几乎尝试了我在互联网上找到的所有东西。可能是,由于我的经验不足,我忽略了一个小问题。我主要关心的是能够调试我将在不久的将来开发的复杂 bash 脚本。我对命令行调试不太满意,即没有界面。任何可以让我使用其他应用程序进行调试的提示/建议也受到欢迎

0 投票
1 回答
49 浏览

c - 在终端中创建一个图层

I'm trying to make a simple autocompletion tool for my program, and i would it look like as this picture : https://github-camo.global.ssl.fastly.net/ac6492f955c9d8027b6f691e1e3df6052fa16599/687474703a2f2f6e6f736d696c65666163652e72752f696d616765732f63636f6465322e706e67

有 termcaps 可以帮我做这个吗?作为一点“te”“ti”的能力?

谢谢你。

0 投票
2 回答
464 浏览

c - 带参数的 Termcap

我正在用 C 编写类似 shell 的代码,我想实现行编辑功能,我已经实现了它的基本功能,现在我想实现 ctrl+l 清除屏幕然后显示提示和我正在处理的行.

我需要使用 termcap :

'cm' 将光标定位在第 l 行 c 列的字符串。

我的问题是如何将变量 l 和 c 传递给 termcap ?

0 投票
2 回答
831 浏览

colors - 颜色 termcaps Konsole?

我在 OpenSuse 13.2 上的终端中遇到了 ANSI 转义码的问题。我的 Makefile 用于在工作时在 OSX 上显示漂亮的颜色,但在家里使用它时,我会得到诸如 \033[1;30m ... \033[0m

我对 termcaps 几乎一无所知,我只是发现这些转义字符似乎工作正常!最奇怪的是我的 OSX 和 Linux 终端都配置了 TERM=xterm-256color 所以我真的不知道在哪里可以找到我目前在 Linux 上缺少的正确设置。

TL;DR:如何使用 xterm-256color 在 Konsole 中获得诸如 \033[1;30m 之类的转义码?

编辑:这是我正在谈论的 Makefile 的片段:\这是我正在谈论的 Makefile 的片段:

0 投票
4 回答
400 浏览

emacs - Emacs 在每个文件的顶部添加一些东西

当我使用 emacs 打开文件时,它会添加12;rgb:1c1c/1c1c/1c1c到顶部。我怎样才能防止这种情况?

我已经在干净重新安装的 debian 系统上安装了 emacs。

Emacs:GNU Emacs 24.4.1

终端模拟器:MobaXterm Personal Edition v7.7

系统(本地):Windows 7 Ultimate

系统(远程):Debian 8.0 "jessie" stable

0 投票
1 回答
172 浏览

c - 如何使用空环境获取终端类型

我想知道是否有任何方法可以获取终端类型但获取 env("TERM")。

但是如果我用一个空的环境执行我的程序

我将无法获得使用 termcap 库所需的终端类型。

有什么方法可以找到带有空 env 的终端类型?

0 投票
1 回答
460 浏览

macos - os x 屏幕命令,'.screenrc',termcap

我需要在概念领域的帮助:

  • /usr/bin/屏幕,
  • ~/.screenrc,
  • 术语帽

我的目标:是通过“屏幕”创建一个“正确”格式的日志文件。

症状:日志文件包含数百个回车字节 [即 (\015) 或 (\r) ]。我想用换行字节[即(\012)或(\n)]替换每个回车字节。

我的方法:我创建了文件:~/.screenrc 并在其中添加了一个“termcap”行,希望在将它们写入日志文件之前拦截入站字节并将回车字节转换为换行字节。我循环浏览了我的请求的九种不同语法形式。没有一个具有预期的效果(所有九种形式见下文)。

我的问题:

  • 我的目标可以通过我的方法实现吗?
  • 如果是,我需要做出哪些改变来实现我的目标?
  • 如果不是,我应该实施什么替代方案?
  • 我需要混合“stty”命令吗?
  • 如果是,如何?

注意:我可以使用日志文件作为“tr”的输入来创建一个“正确”格式的文件:

“屏幕”日志文件 ( ~/screenlog.0 ) 是使用以下命令创建的:

在哪里:

$ 猫 ~/.screenrc

系统:

  • MacBook Pro(17 英寸,2010 年中)
  • 处理器 2.53 GHz 英特尔酷睿 i5
  • 内存 8 GB 1067 MHz DDR3
  • 显卡 NVIDIA GeForce GT 330M 512 MB
  • OS X 优胜美地版本 10.10.4

屏幕(1)Mac OS X 手册页:(可能的相关内容):

字符翻译

Screen 具有强大的机制,可以根据当前字体和终端类型将字符转换为任意字符串。如果您想使用通用标准字符集(例如 ISO8851-latin1),即使在将更不常见的字符分散在多个国家语言字体页面上的终端上,也可以使用此功能。

大括号中的东西可以重复任意次数。A 告诉屏幕如何将字体中的字符('B':Ascii,'A':UK,'K':德语等)映射到字符串。Every 描述了单个字符将被翻译成什么字符串。使用模板机制,因为大多数时候代码有很多共同点(例如字符串来切换到另一个字符集)。每次出现的 '%' 都被替换为指定的字符和字符。如果您的字符串根本不相似,则使用 '%' 作为模板并将完整字符串放入 . 添加了一个引用机制,可以使用真正的“%”。'\' 字符引用特殊字符 '\'、'%' 和 ','。这是一个示例: termcap hp700 'XC=B\E(K%\E(B,\304[,\326\\,\334]' 这告诉屏幕如何在具有德语字符集的 hp700 终端上翻译 ISOlatin1 (charset 'B') 大写变音字符。'\304' 被翻译成 '\E(K[\E(B' 等等。注意这一行被解析建立内部查找表之前的时间,因此需要大量引用来创建单个“\”。添加了另一个扩展以允许更多模拟:如果映射转换未引用的 '%' 字符,则只要屏幕切换到相应的 . 在这种特殊情况下,假定模板只是 '%',因为字符集切换序列和字符映射通常没有太多共同之处。此示例显示了扩展名的一种用法: termcap xterm 'XC=K%,%\E(B,[\304,\\\326,]\334' 在这里,德语 ('K') 字符集的一部分是在 xterm 上模拟。如果屏幕必须更改为 'K' 字符集,'\E(B' 将被发送到终端,即使用 ASCII 字符集。模板只是 '%',所以映射是直截了当:

0 投票
1 回答
1166 浏览

tty - 为什么 terminfo[kcuu1] = '\EOA'?

据我所知terminfo(5), kcuu1 应该是按下向上箭头时终端发送的序列。我从来没有见过,除了^[[A(现在谈论cat,混乱的终端设置等)之外的任何东西。那么,鉴于我使用的终端(rxvt、gnome-terminal、iTerm)都默认为 TERM=xterm,为什么不是 kcuu1 \E[A

我看到 cuu1 \E[A,但是(再次从手册页),这是我应该发送到终端以移动光标的字符串,而不是终端发送给我的字符串。

顺便说一句,这适用于 OS X。

0 投票
1 回答
42 浏览

linux - 为什么 linux 手册页程序不会擦除终端

man 程序如何在接管整个屏幕后恢复以前的终端输出?它是否以某种方式涉及 ANSI 转义序列?

0 投票
3 回答
103 浏览

c - C中的这个操作是什么?

我开始使用 termcaps,我看到了这种操作。

term.c_lflag &= ~(ICANON);

我知道&=是一个binary AND,我对它不太满意。

为什么不简单地使用=或制作 a #define,以及&= ~做什么?