Cygwin 터미널의 Vim에서 블록 커서를 어떻게 얻을 수 있습니까?


46

Vim의 일반 모드에서 블록 커서를 사용하는 데 익숙합니다. 이것은 Vim 패러다임과 관련이 있습니다. 를 누르면 x어떤 문자가 삭제 될지 분명합니다.

Cygwin을 Windows 컴퓨터에 설치했지만 터미널에서 Vim을 사용하면 I일반 모드에서도 커서가 나타납니다. 대신 커서를 블록으로 만들려면 어떻게해야합니까?

답변:


72

Cygwin 메일 링리스트 의이 질문 은 일부 비상 변수를 적절한 이스케이프 시퀀스로 설정하여 질문에 답변합니다. 이것을 다음에 추가하십시오 .vimrc:

let &t_ti.="\e[1 q"
let &t_SI.="\e[5 q"
let &t_EI.="\e[1 q"
let &t_te.="\e[0 q"

2
박하를 사용하여 리눅스 서버에 ssh 할 때 이것은 나를 위해 일했다
zzapper

2
정말 고맙습니다. 가장 성가신 두 가지 경우에 작동하는 깨끗한 솔루션을 좋아해야합니다
.

2
좋은. 불행히도 ConEmu에서는 전체 세션의 커서에 영향을줍니다. 그것은 vim에서 예상대로 작동합니다. cygwin의 터미널 에뮬레이터에서도 잘 작동합니다. 그러나 누가 그것을 사용합니까? ;)
George Marian

거의 완벽하지만 ... 삽입 모드를 종료하면 커서를 어떤 방향으로 움직일 때까지 라인 커서로 돌아갑니다.
Joe Coder 2016 년

1
Cmder와 함께 자동으로 설치된 Vim 버전에서 나를 위해 일했습니다. 감사합니다!
Bangash

32

cygwin 터미널 에뮬레이터에는 다음과 같은 설정이 있습니다.

창의 제목 표시 줄을 마우스 오른쪽 버튼으로 클릭하고 옵션> 모양> 커서> 커서 단일 선택 단추


완료하기 위해 이러한 종류의 옵션은 다른 Windows 터미널 창 (cygwin)과 동일합니다.
mveroone

6
Pro : .vimrcLinux 또는 Windows와 더 호환 될 수 있습니다 .vimrc. 단점 : 이제 I커서를 해당 모드에서 원할 때 블록 커서가 삽입 모드에 있습니다. +1
Kazark

5
두 프롬프트 명령에서와 VIM에, 문제는 VIM에서 커서를 제어에 대한 요구했지만이 답변이 전체 쉘 세션에 대해 커서에 영향을 미치는
데이비드 알퍼트

1
@ EdRandall 이것은 Cygwin 터미널 AND vim에 관한 질문입니다. 이 답변은 질문의 Cygwin 측과 관련이 있습니다.
jared

1
이것은 질문에 완전히 대답하지 않습니다. Vim은 2 가지 유형의 커서를 사용합니다. 일반, 시각적 또는 명령 모드에서는 블록입니다. 삽입 모드에서는 세로 막대입니다. 이 지침은 특정 터미널 에뮬레이터 (cygwin)를 도매로 변경하기위한 것이지만 대부분 비슷한 내용이 있어야합니다. 따라서 터미널의 어느 곳에서나 커서에 영향을 미치며, 더 중요한 것은 vim의 커서 기능을 모방하지 않습니다.
George Marian

2

파일 ~/.minttyrc을 만들고 아래 행을 추가하십시오

CursorType=block

그런 다음 minttyCygwin의 기본 터미널 인을 다시 시작하십시오 .


0

또는 배치 파일을 만들 수 있습니다.

 %SYSTEMDRIVE%\cygwin\bin\mintty.exe ^
        -s 132,50 -o ScrollbackLines=10000 ^
        -o BackgroundColour=54,54,54 ^
        -o Transparency=High -o OpaqueWhenFocused=yes ^
        -o CursorColour=Green -o CursorType=block -o CursorBlinks=no ^
        -o Font=Consolas -o FontHeight=10 ^
        /bin/env CHERE_INVOKING=1 /bin/bash -l -i

그리고 그것을 실행하십시오.

DOS 명령 창에서 깜박이는 커서가 마음에 들지 않으면 %COMSPEC%대신 사용 /bin/env/...하고 놀라십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.