저는 추가 소프트웨어를 최소한으로 변경/설치하면서 Debian netinstall(7.8)의 Openbox에 있는 xterm 창에서 elinks(0.12pre5)를 실행하고 있습니다. 일부 elink 옵션을 변경했지만 그 중 아무 것도 이 문제와 관련이 없는 것 같습니다. 특히 키 바인딩을 변경하지 않았습니다. 관련이 있는 경우를 대비해 terminus-fonts 패키지를 설치했습니다.
man elinkskeys
에 따르면 Alt+ <및 Alt+는 >텍스트 상자를 편집할 때 현재 버퍼의 첫 번째 또는 마지막 줄로 이동해야 하며, 그렇지 않으면 탭을 왼쪽이나 오른쪽으로 이동해야 합니다. 나에게 그들은 그런 일을 하지 않았습니다. 텍스트 상자를 편집할 때 Alt+ <(즉, Alt++ )는 문자(1/4의 결합 버전)를 생성하고 +(즉, ++ Shift)는 문자(3/4의 결합 버전)를 생성합니다. +given과 +given도 생략해 보았습니다. 텍스트 상자를 편집하지 않을 때는 이러한 키 입력이 작동하지 않는 것 같습니다.,¼
Alt>AltShift.¾
ShiftAlt,¬
Alt.®
관련된 참고 사항에 따르면 매뉴얼 페이지에는 텍스트 상자를 편집할 때 Ctrl+ A및 Home"페이지/줄의 시작 부분으로 이동" 및 Ctrl+ E및 End"페이지/줄의 끝으로 이동"이 명시되어 있습니다. 실제로 네 개의 키 입력은 모두 예상대로 줄의 시작/끝으로 이동하지만 반복적으로 탭하거나 누르고 있어도 줄 사이에 커서가 이동하지 않습니다. 그래서 텍스트 상자에서 한 번에 한 줄 이상 수직으로 이동할 수 있는 방법이 없는 것 같습니다.
Tab그리고 Shift+는 Tab편집할 때 아무 것도 하지 않는 것 같습니다(저는 Alt+가 TabOpenbox에 의해 선점될 수 있으므로 아무 것도 하고 싶지 않습니다. 그렇게 되기를 바랍니다!). 이것이 내가 탭 순서를 꺼서 그런 것인지는 잘 모르겠습니다. 일부 페이지의 번호가 매겨진 링크와 제대로 상호 작용하지 않았기 때문에 그렇게 했습니다.
답변1
예전에는 남자는 진짜 남자였고 여자는 진짜 여자였고 Alpha Centauri의 작은 털복숭이 생물은 앵글로색슨 프로그래머가 인쇄 가능한 95개의 캐릭터와 33개의 컨트롤로 생각했던 Alpha Centauri의 작은 털복숭이 생물이었습니다. 캐릭터는 모두에게 충분합니다. 바이트 크기는 거의 항상 8비트이지만 7비트이면 충분합니다.모든 역할, 따라서 문자를 나타내는 각 바이트에는 예비 비트가 있습니다. 많은 터미널 제조업체는 이 예비 비트를 최대한 활용하기로 결정했습니다. 터미널에는 일반적으로 "문자를 입력하고 싶습니다" 대신 "명령을 호출하고 싶습니다"를 나타내는 수정자 키가 있습니다.원. 많은 터미널에서는 이 대체 비트를 사용하여 "메타 키를 눌렀습니다"를 나타냅니다. 예를 들어, .바이트 값 46(문자의 ASCII 코드 .
)을 보내려면 +를 누르고, 바이트 값 46+128 = 174를 보내려면 Meta+를 누르십시오..
그리고 유럽 언어를 사용하는 사람들도 컴퓨터를 사용하고 싶어했습니다. 발음 구별 부호가 있는 다른 글자와 문자를 쓸 수 있어야 하며, 영어 사용자와 비영어권 사용자 모두 구두점을 더 많이 원합니다. 그래서 그들은 몇 가지를 디자인했습니다.문자 인코딩 비트 8을 활용하기 위한 확장 ASCII. 예를 들어 ISO 8859-1 인코딩(Latin-1이라고도 함)에서 바이트 값 174는 문자를 인코딩합니다 ®
. Meta키가 설정된 바이트 값의 비트 8로 인코딩된 터미널 에서 Meta+를 누르면 ISO 8859-1로 인코딩된 입력이 필요한 응용 프로그램을 실행할 때 .문자가 효과적으로 전송됩니다 ®
.
Meta일부 유럽인들은 +가 .삽입되고 ®
, Meta+가 + i에 삽입된다는 것을 기억하기 시작했습니다 . 하지만 그것은 암기하고 싶지 않은 사람들에게는 도움이 되지 않습니다. 다행스럽게도 국가별 키보드 변형(프랑스어에는 하나의 키가 있고 스웨덴에는 하나의 키가 있는 등) 과 같은 다른 솔루션이 있습니다 .Metaééå데드 키그리고쓰기 키. 그럼에도 불구하고 이 솔루션은 256개 이상의 개별 문자를 원하는 사람들(예: 대부분의 아시아 언어 사용자)에게는 작동하지 않습니다.
동시에, 또 다른 보다 일반적인 키 인코딩 규칙이 Meta나타났습니다. 즉, 키 인코딩 전에 이스케이프 문자를 보내도록 하는 것입니다. 예를 들어 +는 와 동일한 2바이트 시퀀스를 Meta보냅니다 . 이것이 오늘날 대부분의 애플리케이션이 기대하는 것입니다..Esc.
키를 비트 8로 설정하는 것은 Meta오래 전에 쓸모가 없어진 기술적 결정이지만 일부 시스템의 기본 구성에는 여전히 존재합니다. PC 키보드에는 그런 레이블이 붙은 키가 없지만 Meta동일한 위치에 동일한 의도된 효과를 갖는 레이블이 있는 키가 있으므로 "Meta" 키를 읽을 때마다 "Alt"에 적용됩니다.Alt
역사적인 이유로 Xterm은 Meta기본적으로 비트 8로 설정됩니다. 이스케이프 문자를 보내려면 다음이 필요합니다.
- 리소스를
metaSendsEscape
로 설정합니다true
(또한altSendsEscape
리소스를 로 설정한 경우에만 적용됩니다 . 이는altIsNotMeta
키보드에 및 키가true
모두 있는 경우에만 작동합니다) .AltMeta - 리소스를
eightBitInput
다음으로 설정합니다false
(이름에도 불구하고 이는 비ASCII 입력을 차단하지 않으며 Meta+ character가 전송되는 내용만 결정함).
다음 줄 중 하나를 파일에 넣으십시오.~/.Xresources
:
XTerm.VT100.eightBitInput: false
XTerm.VT100.metaSendsEscape: true
xrdb -merge ~/.Xresources
파일을 다시 로드하려면 실행하세요 . 대부분의 환경에서는 GUI가 시작될 때 이 명령이 실행되도록 예약합니다. 그렇지 않은 경우 GUI 로그인 스크립트에 추가하십시오.
metaSendsEscape
+ 메뉴("Meta Sends Escape")에서 리소스를 전환 할 수도 있습니다 . 이는 사용하는 xterm 인스턴스에만 영향을 미칩니다.CtrlLeft-Click
다른 링크 키보드 단축키 문제는 터미널이 아닌 링크와 관련이 있습니다.