当前位置: 首页>>技术教程>>正文


使用Ctrl +字符键盘快捷键时,为什么终端中会出现^ C,^ V等?

问题描述

有时,当命令输出中出现copy-pasting文本时,我会不小心使用Ctrl + c而不是Ctrl + Shift + c

因此命令行将其解释为^C

为什么是这样?为什么命令行将control输入解释为^

最佳方案

它实际上并没有插入字符序列”^C”。这仅是不可打印的ASCII控制字符的表示,例如:

  • ^C→ETX(文本结尾,发送终止信号),ASCII 0x03

  • ^D→EOT(传输结束,终止输入),ASCII 0x04

  • ^H→BS(Backspace,\b),ASCII 0x08

  • ^J→LF(换行符,\n),ASCII 0x0A

  • ^L→FF(换页,新页,清除终端),ASCII 0x0C

  • ^M→CR(回车,\r),ASCII 0x0D

这只是可以使用键盘插入的ASCII控制字符的一小部分。您可以找到完整列表here

我认为最重要的是Ctrl + CCtrl + DCtrl + L

次佳方案

由于CTRL + KEY组合键在终端上被解释为不可打印的ASCII字符,因此,如果要使这些组合不可打印,则需要一种表示它们的方式。

源自VT terminals with ANSI support的约定是表示CTRL + KEY组合,表示带有插入号(^)的CTRL和带有KEYKEY

第三种方案

从终端复制和粘贴时,最佳做法是分别使用快捷键Ctrl + InsertShift + Insert

这些是终端使用的更传统的快捷方式,尽管您会注意到,在X图形环境中,Ctrl + InsertShift + Insert绑定到相同的Ctrl + CCtrl + V

在大多数终端中,Ctrl + C(由^C表示)用于停止过程的执行,因此粘贴快捷方式将无效。

为了快速复制和粘贴,您可以利用X的主缓冲区,突出显示要复制的任何文本,然后突出显示要粘贴的文本middle-clicking。无需键盘。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10780.html,未经允许,请勿转载。