vi와 vim의 주요 차이점은 무엇입니까? 키보드 단축키에 중요한 차이점이 있나요? 아니면 다른 단축키에는 없는 기능이 있나요? 예, 제가 이와 유사한 또 다른 질문을 한 것으로 알고 있습니다(Vi 대 vim, 아니면 왜 vi를 사용하고 싶나요?), 그러나 이 질문의 목적은 두 가지를 완전히 비교하는 것이 아니라 vi가 이점을 갖는 가능한 경우가 있는지 묻는 것입니다. 이것이 게시물은 vi와 vim 기능 세트를 직접 비교한 것입니다.
편집: 제가 틀렸습니다. 이것은 vi와 vim 기능을 비교한 것이 아닙니다. vim은 Vi의 향상된 버전이며 vi보다 훨씬 더 많은 기능을 가지고 있습니다. 내가 묻고 싶은 것은, 만약 당신이 평생 vi를 사용해 왔다가 어느 날 앉아서 vim을 사용하기 시작한다면, 어떤 변화가 생길까요? 또는 이전 vim 사용자이고 vi를 사용해 본 경우 어떤 차이점을 발견하게 됩니까?
답변1
마치 낡은 Datsun 120Y와 Porsche의 차이점이 무엇인지 묻는 것과 비슷합니다!
Vim은사람들평범한 오래된 vi에서는 제공되지 않는 기능:-
- 다중 창 - 가로, 세로 및 탭 형식.
- 시각적 강조.
- 온라인 도움말은 :help 명령을 통해 제공됩니다.
- 매크로를 레지스터에 기록한 다음 실행할 수 있습니다.
- 이전 vi의 미친 실행 취소 전환 대신 여러 번 실행 취소(및 다시 실행)하십시오.
- 명령줄 기록, 검색 기록.
- getcwd()와 같이 사용 가능한 다양한 기능이 내장된 완전한 언어
- 패턴 매칭이 크게 확장되었습니다.
- ctrl-P와 ctrl-N을 사용하여 단어를 완성하세요.
- 내장된 파일 탐색기(약간 투박하지만 유용함)
- ESC 키는 vi처럼 명령을 미친 듯이 실행하는 대신 실제로 탈출하려는 명령을 종료합니다.
- bufdo, argdo 및 windows를 통해 모든 버퍼, args 또는 창에서 명령을 실행하는 기능.
나는 그것에 대해 극찬할 수 있습니다. vim은 평범한 오래된 vi보다 훨씬 더 많은 기능을 가지고 있으므로 실제로 비교할 수 없습니다.
추신 - 정말 오래된 vi를 사용하려면 Solaris와 같은 오래된 Unix 시스템에서 작업해야 합니다(죄송합니다. 실제로는 그렇습니다). vi를 사용한다고 생각하면 아마도 vim을 사용하고 있을 것입니다. 왜냐하면 대부분의 Linux 배포판은 vi를 vim에 매핑하기 때문입니다. :help가 작동하거나 여러 번 실행 취소가 작동하거나 :version이 작동하면 vi가 아닌 vim을 사용하고 있는 것입니다!
답변2
bash
그것은 묻는 것과 약간 비슷합니다 sh
. ViM에는 특별한 옵션 compatible
(명령줄 -C
)이 있습니다. ViM 매뉴얼을 확인한 다음 열어서 몇 가지 작업을 시도해 보세요. vi
이는 20~30년 전(그나저나 키보드/터미널에 오늘날 일반적으로 사용되는 화살표 및 기타 특수 키가 종종 부족했던 시절)에 비해 절반 도 안 되는 수치입니다 .
따라서 ViM에 익숙하고 결국 vi를 사용하게 된다면 여전히 작업을 수행할 수 있지만 대부분의 작업이 (전혀 또는 예상한 대로) 작동하지 않기 때문에 속도가 훨씬 느려집니다.
답변3
나에게는 구문 강조가 가장 간단합니다. 그런 다음 데스크탑에서 붙여넣기를 계속 사용하고 있기 때문에 자동 들여쓰기 및 자동 주석 처리 라인이 있습니다.
게다가 vim에는 차이점을 알려주는 추가 기능도 있습니다.
답변4
나에게 Vim은 vi보다 기능이 훨씬 적습니다. 예를 들어 hange 명령을 사용하면 텍스트가 제거되고 끝에 배치된 기호 c
대신 텍스트를 삽입 하고 해당 기호까지 텍스트를 덮어씁니다. $
또는 다단계 실행 취소. 또는 창 분할 및 버퍼 관리.
그런 다음 구성 가능성이 있습니다. vi를 사용하면 일부 매핑이 있을 수 있고 일부 옵션을 변경할 수 있습니다. Vim에는 많은 플러그인이 있습니다vim.org, 수많은 구문 및 파일 형식 설정이 제공되며 훌륭한 커뮤니티가 있습니다.
마지막으로 Vimscript는 (버전 7부터) 강력한 데이터 유형을 갖고 있으며 Python, Perl 또는 Ruby와 같은 다양한 대체 스크립트 언어와 함께 사용할 수 있습니다.