오늘 저는 Vim 대신 Vi를 사용하기로 결정했습니다. Vim이 얼마나 다른지 알고 싶었습니다. 전혀 큰 차이를 느끼지 못했습니다. 가장 주목 한 것은 -- INSERT --
삽입 모드로 들어갈 때 Vi가 어떻게 말하지 않았는지 , 약간의 인터페이스 차이가 있다는 것입니다.
Vi와 Vim의 가장 큰 차이점은 무엇입니까?
오늘 저는 Vim 대신 Vi를 사용하기로 결정했습니다. Vim이 얼마나 다른지 알고 싶었습니다. 전혀 큰 차이를 느끼지 못했습니다. 가장 주목 한 것은 -- INSERT --
삽입 모드로 들어갈 때 Vi가 어떻게 말하지 않았는지 , 약간의 인터페이스 차이가 있다는 것입니다.
Vi와 Vim의 가장 큰 차이점은 무엇입니까?
답변:
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 위젯을 사용합니다. 클립 보드와 대화 할 수도 있습니다.
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
있습니다.
대부분의 비교는 vi보다 vim에 더 많은 기능을 제공하지만 한 가지 예외가 있습니다. vi에는 "open"모드가 있으며 vim에는 실제로이 모드가 없습니다.
개방 모드는 전자식 디스플레이 (예 : 텔레타이프, 레터 프린터 등)를 갖지 않은 터미널과 커서가 맨 아래에만있는 디스플레이와 함께 하루에 사용 된 단일 회선 모드입니다.
나는 vim이 열린 모드를 시뮬레이트한다고 말하는 문서가 있다는 것을 알고 있지만 내 경험은 그것이 내 자신의 눈으로 vi와 함께 사용되는 것을 보았 기 때문에 vim이 그것을 보지 못했다는 것입니다. vim은 open
단순히 명령을 사용하여 시각적 모드에서 파일을 열고 편집하는 것 같습니다 . vim의 공식 문서에는 공개 모드를 지원하지 않는다고 나와 있습니다.
^R
했지만 다른 도움은 제공하지 않습니다. :open some/file
을 반환합니다 open: No such command from open/visual
.
Q
를 눌러 ex 모드로 들어간 다음 open
. z
열린 모드에 있으면 현재 줄의 컨텍스트를 표시합니다. 밖으로 백업하려면 Q
다음 vi
.
시간이 지남에 따라 vi의 변화로 인해 비교하기가 매우 어렵다고 생각합니다.
대학에있을 때 System V를 사용하여 메인 프레임에 연결된 벙어리 터미널 (및 Mac의 터미널 에뮬레이터)에서 일반 바닐라 vi를 사용했습니다. 더 이상 찾을 수 없습니다.
그러나 나는 그것이 진짜 vi인지조차 확신하지 못한다. 그 당시 vi는 당시 오픈 소스가 아니기 때문에 많은 클론과 포트가 만들어졌습니다. 그리고 벤더가 클론을 만들 때 vi에없는 기능을 추가했습니다. 역사는 복잡합니다. Wikipedia 및 다른 곳에서 읽을 수 있습니다.
따라서 특정 공급 업체 / 하드웨어를 사용하지 않는 경우 vi가 아니라 vi 와 같은 것 입니다.
그러나 vi (또는 사용중인 복제본)가 인터페이스에서 매우 미니멀 한 색상 (색상, INSERT 레이블 없음, 여러 실행 취소 등 없음)을 실제로 기억하지만 실제로 달성 할 수있는 기능은 강력하다고 생각합니다. 매우 실용적입니다.
Vim FAQ는 https://vimhelp.org/vim_faq.txt.html#faq-1.4 형식의 목록이 있습니다.
FAQ에서 발췌 :