Vim과 VI의 가장 큰 차이점


25

오늘 저는 Vim 대신 Vi를 사용하기로 결정했습니다. Vim이 얼마나 다른지 알고 싶었습니다. 전혀 큰 차이를 느끼지 못했습니다. 가장 주목 한 것은 -- INSERT --삽입 모드로 들어갈 때 Vi가 어떻게 말하지 않았는지 , 약간의 인터페이스 차이가 있다는 것입니다.

Vi와 Vim의 가장 큰 차이점은 무엇입니까?


1
vim의 많은 고급 기능을 사용하고 있지 않습니다. 블록 선택, 커서 아래의 단어 검색, 커서 아래의 증가 번호, 구문 강조 표시 등
Jim

답변:


25

vim에는 실제로 차이점에 대한 도움말 명령이 있습니다. :help vi_diff

Vim의 사이트 에서 가장 큰 것은 다음과 같습니다.

무제한 실행 취소

xxxx를 수행하고 네 개의 삭제를 각각 취소 할 수 있습니다. "jjjj"를 마지막으로 입력 한 다음 caps lock 키가 켜져있는 것을 언제 알았습니까? 실수로 다섯 줄을 합치면 Vi는 마지막 명령 만 취소 할 수 있습니다. Vim에서는 네 개의 "J"명령을 모두 취소하고 원래 텍스트를 다시 가져올 수 있습니다.

이식성

Vi는 유닉스에서만 사용할 수 있습니다. Vim은 MS-Windows, Macintosh, Amiga, OS / 2, VMS, QNX 및 기타 시스템에서 작동합니다. 또한 모든 유닉스 시스템에서.

구문 강조

Vim은 편집중인 파일 유형에 따라 버퍼의 일부를 다른 색상이나 스타일로 강조 표시하도록 프로그래밍 할 수 있습니다. Vim에 번들로 제공되는 수백 가지 구문 강조 규칙 세트가 있습니다.

GUI

Vim은 콘솔에서 잘 작동하지만 X Windows, Mac OS 및 Microsoft Windows를 포함한 많은 GUI에서 기본적으로 실행될 수 있습니다. 스크롤, 버퍼 나누기 및 메뉴에 기본 GUI 위젯을 사용합니다. 클립 보드와 대화 할 수도 있습니다.



readme 에 따르면 일부 OS는 더 이상 지원되지 않습니다.
Rolf

7

Vim에는 Vi가 제공하지 않는 많은 기능이 있으며 "고급"기능이 아닌 기능도 있습니다.

실제로, 당신은 바이올렛에 사용되는 경우 빔 (또는 다른 바이 클론)을 사용하여 시작하는 경우, 당신은 가능성이 아주 약간의 차이가 발생합니다,하지만 당신은 빔을 사용하는 경우 있음이 수단 경우 "반사"가 포함는 같은 기능 시각적 모드 강조 표시, "g"또는 "z"로 시작하는 키 동작, "i"또는 "a"(예 : 커서 아래에서 단어를 삭제하는 "daw")가있는 텍스트 동작, 삽입 모드에서 화살표 키로 탐색 등에서는 Vi에서 작동하지 않습니다.

"Vi를 시험했다"고 말할 때 정확히 무엇을 사용했는지에 대한 질문도 있습니다. 많은 시스템에서 "vi"는 실제로 이러한 차이 중 일부 (적용된 기본 표시 모드, 화살표 키가 삽입 모드에서 작동하지 않음)가 적용되고 다른 모드 (비주얼 모드 및 g / z 키가 작동하지 않는 모드)에서 Vim을 실행합니다. ) 및 일부 기능은이 기능에 사용되는 "작은 Vim"에서 때때로 비활성화되는 컴파일 타임 옵션에 따라 다릅니다 ( "aw"와 같은 텍스트 개체는 이러한 기능 중 하나임). 실제 Vi 를 실행 하거나 "vi"가 Vim보다 기능이 적거나 다른 다른 복제본 (예 : nvi 또는 VILE) 인 경우이를 얻을 수 없습니다.

그리고 애매 모호한 측면에서, "Vin 모드에서 Tiny Vim"에는 완전한 Vim에없는 기능이 없지만 vim에는없는 원래의 원래 Vi에는 몇 가지 기능이 있습니다. 이들은에 설명되어 :help vi-differences있습니다.


2
나는 OP가 실제로 "작은 vim"vi를 가지고 있다고 강력하게 내기했습니다.
케빈

2

대부분의 비교는 vi보다 vim에 더 많은 기능을 제공하지만 한 가지 예외가 있습니다. vi에는 "open"모드가 있으며 vim에는 실제로이 모드가 없습니다.

개방 모드는 전자식 디스플레이 (예 : 텔레타이프, 레터 프린터 등)를 갖지 않은 터미널과 커서가 맨 아래에만있는 디스플레이와 함께 하루에 사용 된 단일 회선 모드입니다.

나는 vim이 열린 모드를 시뮬레이트한다고 말하는 문서가 있다는 것을 알고 있지만 내 경험은 그것이 내 자신의 눈으로 vi와 함께 사용되는 것을 보았 기 때문에 vim이 그것을 보지 못했다는 것입니다. vim은 open단순히 명령을 사용하여 시각적 모드에서 파일을 열고 편집하는 것 같습니다 . vim의 공식 문서에는 공개 모드를 지원하지 않는다고 나와 있습니다.


나는 한 ex-vi.sourceforge.net 원래 VI의 포트 인 설치. 이 열린 모드를 어떻게 시작합니까? 맨 페이지에서에 대해 언급 할 때 언급 ^R했지만 다른 도움은 제공하지 않습니다. :open some/file을 반환합니다 open: No such command from open/visual.
muru

@muru Q를 눌러 ex 모드로 들어간 다음 open. z열린 모드에 있으면 현재 줄의 컨텍스트를 표시합니다. 밖으로 백업하려면 Q다음 vi.
Antony

0

시간이 지남에 따라 vi의 변화로 인해 비교하기가 매우 어렵다고 생각합니다.

대학에있을 때 System V를 사용하여 메인 프레임에 연결된 벙어리 터미널 (및 Mac의 터미널 에뮬레이터)에서 일반 바닐라 vi를 사용했습니다. 더 이상 찾을 수 없습니다.

그러나 나는 그것이 진짜 vi인지조차 확신하지 못한다. 그 당시 vi는 당시 오픈 소스가 아니기 때문에 많은 클론과 포트가 만들어졌습니다. 그리고 벤더가 클론을 만들 때 vi에없는 기능을 추가했습니다. 역사는 복잡합니다. Wikipedia 및 다른 곳에서 읽을 수 있습니다.

따라서 특정 공급 업체 / 하드웨어를 사용하지 않는 경우 vi가 아니라 vi 와 같은 것 입니다.

그러나 vi (또는 사용중인 복제본)가 인터페이스에서 매우 미니멀 한 색상 (색상, INSERT 레이블 없음, 여러 실행 취소 등 없음)을 실제로 기억하지만 실제로 달성 할 수있는 기능은 강력하다고 생각합니다. 매우 실용적입니다.


0

Vim FAQ는 https://vimhelp.org/vim_faq.txt.html#faq-1.4 형식의 목록이 있습니다.

FAQ에서 발췌 :

  • 다단계 실행 취소
  • 탭, 다중 창 및 버퍼
  • 유연한 삽입 모드 (삽입 모드에서 화살표 키 사용 가능)
  • 매크로
  • 시각 모드 (시각적으로 텍스트 섹션 선택)
  • 블록 연산자
  • 온라인 도움말 시스템
  • 명령 줄 편집 및 기록
  • 명령 줄 완성 (탭 완성)
  • 가로 스크롤 (긴 줄)
  • 유니 코드 및 국제화 개선
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.