방금 Cygwin을 설치했는데 BACKSPACE 기능이 없습니다. 즉, Backspace 키를 누르면 공간이 생깁니다.
Google 에서이 문제를 조사하려고했지만 결정적인 것을 찾지 못했습니다.
stty
명령 의 출력은 무엇 입니까?
방금 Cygwin을 설치했는데 BACKSPACE 기능이 없습니다. 즉, Backspace 키를 누르면 공간이 생깁니다.
Google 에서이 문제를 조사하려고했지만 결정적인 것을 찾지 못했습니다.
stty
명령 의 출력은 무엇 입니까?
답변:
필자의 경우 공백 ~ / .vimrc를 만든 후 백 스페이스가 전혀 작동하지 않았습니다. 변화에 따라 작동
놓다:
bs = 2로 설정
.vimrc에서
이것을 http://linux-journal.blogspot.com/2005/04/fix-vim-backspace-doesnt-work.html 에서 찾았습니다.
나를 위해 일했다 : Windows 명령 프롬프트에서 다음을 입력하십시오.
echo export TERM=cygwin >> C:/cygwin/home/YourUser/.bashrc
이것에 추가 .bashrc
되고 모든 것이 잘 작동 할 수 있습니다!
TERM
에 환경 변수 설정 msys
제안 윈도우 환경 변수 설정을 통해를 StackOverflow에에 에 도움 git
Windows에서 문제. 간단히로 재설정 cygwin
에 .bashrc
도움이되지 못했지만, 제거 TERM
윈도우 설정 한에서 항목을. 나를 올바른 방향으로 안내해 주셔서 감사합니다!
위와 같은 문제에 대한 해결책 을 찾았습니다 .
간단하게 다시 Cygwin에서 설치 프로그램을 실행하고 다시 설치 termcap
하고 terminfo
. 검색 창을 사용하면 빠르게 찾을 수 있습니다. 각각에 대해 "보관"이라고 말하지 말고 "다시 설치"라고 말하십시오. term
검색 창에 "사용되지 않는 항목 숨기기"확인란을 선택해야 할 수도 있습니다 .
내 terminfo 폴더가 완전히 없습니다. 왜 그런지 모르겠다. 이것이 누군가를 돕기를 바랍니다.
TERM 유형을 설정하면 터미널 창에서 그리는 데 사용할 TERMCAP을 호스트에게 알려줍니다. 대부분의 * NIX 호스트는 'cygwin'용어 유형이 무엇인지 알지 못하므로 삽입, 삭제, 스크롤, 글꼴 변경 등과 같은 화면 문자 조작 방법을 모릅니다.
Telnet 또는 SSH 전에 CYGWIN에서 TERM 변수를 호스트로 변경하면 훨씬 더 나은 결과를 얻을 수 있습니다.
CYGWIN에서 :
d@test01 ~
$ TERM=ansi;export TERM
$ ssh suntest1
d@suntest1's password:
Sun Microsystems Inc. SunOS 5.8 Generic patch October 2001
d pts/1 test01 Fri Oct 12 00:15 still logged in
$ echo $TERM
ansi
$_
호스트는 이제 ANSI 터미널 유형을 알고 있으며 ANSI TERMCAP 파일을 사용하여 통신 방법을 알려줄 수 있습니다.
백 스페이스를 제외하고는 모든 것이 제대로 작동하지 않으면 연결하려는 호스트에서 "getty"를 다시 프로그래밍하여 원하는 것을 인식 할 수 있습니다. 백 스페이스 / 삭제 문제 해결 방법) :
호스트에 ssh 또는 telnet을 연결하고 호스트에서 stty 명령을 실행합니다. "BACKSPACE"키를 누르고 뒤로 이동하지 않으면 터미널이 TERM 유형에 따라 다른 문자를 찾고 있기 때문입니다. 모든 것을 파헤 치기보다는 원하는대로 또는 * NIX의 풍미에 따라 CLI 또는 $ HOME 디렉토리의 .profile, .bashrc 또는 .bash-profile 파일에서 백 스페이스 정의를 수동으로 설정할 수 있습니다. 사용.
따라서 ^ H (CONTROL-H)를 누르고 키를 백업했지만 백 스페이스 키를 누르면 다음과 같이 stty를 사용하지 않습니다.
stty erase \*<HIT YOUR BACKSPACE KEY HERE>*[ENTER]
대부분의 경우 다음과 같습니다.
stty erase \^?[ENTER]
'\'는 다음 문자가 인쇄 할 수없는 제어 문자가되고 "해석"하지 않고 받아 들일 것임을 알려줍니다.
[ENTER]를 누르면 [BACKSPACE] 키를 누르고 입력 한 내용을 백 스페이스 / 삭제할 수 있습니다.
쉘에서 이것을 설정할 수 있습니다.
여전히 VI를 사용한다면 때때로 번역이 작동하지 않고 vi에 ^ H를 실제로 입력해야하지만 괜찮습니다.
당신은 말할 수 있었다 :
stty erase k [ENTER]
문자 그대로 'k'를 지우기 / 삭제 문자로 변환했을 것입니다.
-디
TERM
변수를 변경하고 파일에 cygwin
추가 SET TERM=cygwin
하는 .bat
것이 효과가 없었지만 수정했습니다. 내가 한 일 : 패키지 관리자 설치 완료에서 설치하기로 선택하고 설치 xterm: X11 terminal emulator
후 파일에 추가 SET TERM=xterm
하고 .bat
(위에서 제안한 것처럼) 터미널을 시작하고 옵션 -> 터미널 메뉴를 선택한 Type=xterm
다음 터미널을 다시 시작했습니다. 백 스페이스가 올바르게 작동하기 시작했습니다!
참고 : cygwin을 이미 설치 한 경우 설치 프로그램을 다시 실행하고 xterm 패키지를 추가하십시오.
나는 뛰고있어:
나는 모든 대답에 동의합니다. 그러나 여기에 훨씬 간단한 방법이 있습니다 : http://lifepluslinux.blogspot.in/2014/08/backspace-doesnt-work-in-vim-on-cygwin.html
온라인으로 물건을 읽는 데 2 일의 시간을 보낸 후 나는 나를 위해 일한 것을 발견했다. 이 사건이 모든 사건과 일치하는지 모르겠습니다. 그러나 그것은 Yuksel 덕분에 나에게 매력처럼 일했습니다.
문제는 'termInfo'파일과 관련이있었습니다. 그가 제안한 단계
CygWin 터미널에 입력하여 문제가 터미널과 관련이 있는지 확인하십시오. 경고를 무시하십시오.
less my_session.log
경고 : 터미널이 완전히 작동하지 않습니다
CygWin 터미널에 아래 코드를 입력하여 관련 경로 또는 디렉토리와 관련된 'TermCap'정보를 가져옵니다.
infocmp -C
당신은 얻을 중 하나
infocmp : terminfo 파일 / usr / share / terminfo / 63 / cygwin을 열 수 없습니다
또는 'infocmp를 통해 재구성 ...'과 같은 텍스트로 시작할 수도 있습니다.
CygWin 터미널에서 아래 코드를 실행하여 진단을 실행하여 파일이 저장된 경로에 대한 추가 정보를 얻습니다.
cygcheck -s
아래 텍스트와 비슷한 응답을해야합니다
Cygwin 구성 진단
...
C : / cygwin / 시스템 바이너리, noacl
C : / cygwin / bin / usr / bin 시스템 바이너리, noacl
C : / cygwin / lib / usr / lib 시스템 바이너리, noacl
C : \ cygwin \ etc \ terminfo / usr / share / terminfo 시스템 바이너리, noacl
cygdrive 접두사 / cygdrive 사용자 바이너리, noacl, posix = 0, 자동
...
C : \ cygwin \ etc \ terminfo / usr / share / terminfo 시스템 바이너리, noacl
출력에서, 당신은 3 단계에서 얻었습니다. / usr / share / terminfo 에있는 모든 파일과 폴더를 C : \ cygwin \ etc \ terminfo 폴더로 복사하십시오. 참고 :이 폴더는 설치에 따라 다를 수 있습니다
문제가 발생하지 않았습니다. 터미널 에뮬레이터 Mintty ( http://code.google.com/p/mintty/ ) 를 설치하십시오 .
Cygwin 설치 프로그램을 통해 사용할 수 있습니다. cygwin을위한 제일 맨끝.