VIM이 Telnet 세션에서 올바르게 작동하지 않는 이유는 무엇입니까?
-
05-07-2019 - |
문제
나는 OpenVMS v7.3-2에서 VIM (7.1)을 사용합니다.
터미널 에뮬레이터 인 Smart Term과 함께 텔넷 세션을 VMS Trough에 연결합니다.
잘 작동합니다.
그러나 VMS 세션 (Smart Term을 통해 연결)에서 다른 VMS 세션으로 Telnet 세션을 시작하면 일부 키가 제대로 작동하지 않습니다.
|--------------| telnet |-------------| telnet |-----------------|
| Smartterm | ------> | VMS, Vim OK | ------> | VMS, Vim broken |
|--------------| |-------------| |-----------------|
삽입, 삭제, 홈, 엔드, 페이지 업 및 PageGown은 ~ 정상 모드에서 (상대에서 소문자에서 또는 그 반대로)와 같습니다.
아이디어가 있습니까?
=============================================
편집하다
방금 두 번째 텔넷 세션이 동일한 VMS 상자에 있다는 것을 언급하지 않았다는 것을 깨달았습니다.
다른 사용자의 권리로 무언가를해야하기 때문에 그렇게합니다.
해결책
어떤 터미널 에뮬레이션이 사용되는지 조정하는 것 외에도 수행하려는 동작에 대해 Vim의 키 스트로크를 배우는 것이 좋습니다. 이들은 더 신뢰할 수 있으며 터미널이나 키보드에 의존하지 않습니다. 예를 들어:
- 삽입 : i
- 홈 : ^ 첫 번째 비 whitespace char로 이동, 0은 항상 첫 번째 열로갑니다.
- 끝 : $
- Pageup, Pagedown : Ctrl-U, Ctrl-d 한 번에 반 페이지를 이동
다른 팁
먼지가 많은 오래된 Solaris 상자를 부활시키는 동안 비슷한 문제를 경험했습니다. 나는 내가 어떻게 설정 해야하는지 검색하기에는 너무 게으르다. t_
... 변수가 올바르게 있으므로 결함이있는 터미널 이스케이프 시퀀스를 대신에 다시 가져 왔습니다.
:map xxx 0 (press <C-v><Home> in place of xxx)
:map xxx <C-b> (press <C-v><PgUp> in place of xxx)
... etc
이 저주받은 물건을 올바르게 설정하려면 RTFMING은 상당히 신경과 시간을 먹을 수 있습니다.
:h terminal-options
일반적으로 이것은 터미널 에뮬레이션 때문입니다. 따라서 무언가가 올바른 키를 통과하지 못합니다. 내가이 일을 한 이래로 나이가 들었지만 VT-100 등과 같은 것들을 찾습니다. 나는 그것이 VIM에만 국한되는 것을 의심합니다. :)
더 이상 도와 줄 수 없어서 죄송합니다.
첫 번째 질문은 간단하게 : 당신은 무엇을 앞에 앉아 있습니까? 당신은 실제로 Vax 또는 Alpha를 실행하는 Alpha의 콘솔에 있습니까? 내 생각은 대답은 아니오입니다.
대답이 예일 가능성이 거의없는 사건에서 간단히 입력하십시오.
$ 쇼 터미널
원격 UNIX 호스트의 변수라는 용어가 이것과 정확히 일치하는지 확인하십시오.
내 추측이 맞고 PC 앞에 앉거나 Putty 또는 터미널과 같은 일종의 터미널 에뮬레이터를 실행하는 Mac 앞에 앉아 있으면, 에뮬레이션하는 터미널이 두 VMS 시스템의 월드 뷰 및 원격 유닉스 호스트의 뷰.
어떤 종류의 터미널을 에뮬레이션하는지 알아 내면 연결된 VMS 시스템에서 위의 VMS 명령을 다시 사용하여 일치하는지 확인하십시오.
그렇지 않은 경우 입력하여 상황을 수정하십시오.
$ set terminal/device = (당신의 말단 이름 -VT100)
그런 다음 원격 UNIX 호스트의 용어가 VMS 시스템이 설정 한 내용과 일치하는지 확인하십시오.
이 모든 일을하면 모든 것이 잘 작동해야합니다.
설정 방법 외에도 env 터미널 장치 호환성의 변수, Telnet 클라이언트 자체의 팁이 유용 할 수 있습니다.
일반적인 ESC 조합 이전에 ctrl+[, 예 : vim을 종료하기 위해 사용하십시오.
Ctrl+[ Esc :q!