cygwin vim 명령이 일반 vim과 다른가요?


28

cygwin에서 vim을 사용하여 텍스트 파일을 편집 할 수 없습니다.

i텍스트를 삽입하려면 여러 번 눌러야 합니다. 때로는 작동하지만 때로는 작동하지 않습니다. 커서를 아래로 움직일 때마다 여러 번 눌러야합니다.

무엇이 문제 일 수 있습니까? backspacecygwin 에서 작동 합니까 ?


X에서 실행되는 터미널 에뮬레이터에서 기본 Windows 콘솔, 기본 응용 프로그램으로 실행되는 다른 터미널 에뮬레이터에서 실행 중입니까? 어떤 버전의 Windows입니까? 프레스 ESC와 프레스 사이의 지연이 i중요합니까?
Gilles 'SO- 악마 그만해'

답변:


34

Cygwin vim은 vim의 기본 구성과 함께 제공되며 vim은 vi와 호환되도록 원래 vi를 모방하려고하는 vi 호환 모드로 남겨 둡니다. 다른 제한 사항 중에서도 화살표 키는 해당 모드에서 작동하지 않으며 백 스페이스는 커서를 문자를 지우지 않고 왼쪽으로 이동시킵니다.

~/.vimrc호환성을 생성하면 vi 호환 모드를 비활성화 할 수 있습니다.

touch ~/.vimrc

그러나 i삽입 모드로 들어가려면 어쨌든 작동해야합니다. vim 실행 위치 및 방법에 대한 자세한 정보를 제공해야합니다. 또한 실제로 Cygwin과 함께 제공되는 vim 또는 기본 Windows 버전의 vim을 실행하고 있습니까?

최신 정보

~ / .vimrc에 아래 세트를 추가하여 기본 vim과 비슷하게 만들 수 있습니다.

set nocompatible
set backspace=indent,eol,start
set backup
set history=50
set ruler
set background=dark
set showcmd
set incsearch
syntax on
set hlsearch

vim이 vimrc 파일을 선택하지 않으면 대신 파일을 찾고있는.virc 것일 수 있습니다 . 이 경우 파일 이름을 바꾸면 변경 사항이 적용됩니다.


호환성을 설정하지 않는 방법을 말하면 좋을 것입니다.
기드온

cygwin의 기본 거주지가 어디인지 아십니까? cygwin 대신 GUI로 .virc를 만들고 싶습니다
Alex

13

가장 쉬운 방법은 Cygwin VIM의 샘플 vimrc 파일을 복사하는 것입니다

cp /usr/share/vim/vim*/vimrc_example.vim /etc/vimrc

이렇게하면 시스템의 모든 계정에 대한 문제가 해결됩니다. 어떤 이유로 특정 사용자에 대해서만 변경하려는 경우

cp /usr/share/vim/vim*/vimrc_example.vim ~/.vimrc

참조 여기 참조


1
이 예제는 실제로 기본적으로 구문 강조를 설정하고 사람들이 익숙한 다른 많은 기본값을 사용하기 때문에 허용되는 대답이어야합니다.
JohnEye

PC를 다시 시작할 때까지 작동하지 않았습니다. 그러나 작동합니다!
3bdalla

우수 답변을 간단하고 나는 설치 Cygwin에서 신선 및 구문 강조와 함께보고 된 다른 모든 문제 해결은 예상치 못한 보너스
crobicha

이것은 최고의 답변입니다!
Theodore R. Smith

1
그 파일은 어디에 있습니까? / usr / share /에서 검색했지만 vim이라는 디렉토리를 볼 수 없습니다.
neo33

3

cygwin을 사용하여 Windows 8.1에서 vim을 시도하는 동안 화살표 키에 문제가있었습니다. 삽입 모드에서 화살표 키로 탐색하는 동안 A / B / C / D를 인쇄하는 것이 문제였습니다. 나를 위해 일한 해결책은 다음과 같습니다.

cp vimrc_example.vim ~/.vimrc

기본적으로 위의 명령은 vimrc_example.vim파일을에 복사 합니다 /home/<user name>/.vimrc.


그것은 나를 위해 그것을 고쳤다. 삽입 키와 화살표가 vim에서 작동하지 않는 것과 동일한 문제가있었습니다. 그것은 Windows 10에있었습니다.
Yanick Girouard


1

이 방법으로 시도하십시오 :

  • 먼저:

    cp /usr/share/vim/vim73/vimrc_example.vim ~/.vimrc
    
  • 그런 다음 ./.bashrc파일에 다음 줄을 추가 하십시오.

    alias vi="vim"
    

0

정확히 같은 명령은 없습니다. 입력 문제가있는 것 같습니다. 키보드가 엉망이거나 터미널이 뾰족한 것 또는 다른 것에 있습니다.


0

터미널 프로그램의 특성에 따라 커서 키를 누르면 ESC 키로 시작하는 문자 시퀀스가 ​​전송됩니다. 예를 들어, 위쪽 화살표 키는 3 개의 문자 ESC를 전송합니다. [A. 입력 모드에서 vim을 사용하는 경우 커서 키를 누르면 ESC가 표시 될 때 입력 모드가 종료 될 수 있으며 후속 문자는 vim 명령으로 해석 될 수 있습니다. 입력 모드를 종료하므로 텍스트를 계속 삽입하려면 i를 다시 눌러야합니다. 아마도 이것이 당신에게 일어나고있는 일일 것입니다.

터미널에 VT-100, VT-220과 같은 에뮬레이션을 변경할 수있는 옵션이 있거나 백 스페이스 또는 Del 키를 눌렀을 때 전송되는 항목을 지정하는 설정이 있는지 확인하십시오. 해당 설정을 변경하면 원하는 동작을 얻을 수 있습니다. 기본 Windows 명령 콘솔을 사용하는 경우 해당 옵션이 없을 수 있습니다.

입력 모드에서 커서 키를 사용하지 않아야 할 수도 있습니다. ESC를 눌러 입력 모드를 종료 한 다음 커서를 이동 한 다음 다시 입력하면 더 많은 입력이 표시됩니다. vim이 입력 모드에서 커서 키를 해석하기에 충분히 똑똑해지기 전에 우리가 예전의 타이머를 사용하는 방법입니다.

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