•  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

vi

최근 수정 시각 : 2023-08-26 19:58:29 | 조회수 : 25

외부:https://i.imgur.com/8s1Dwue.png
UNIX시스템 용 편집기로, 현재로는 전혀 이해가지 않지만 이전 편집기 ed보다 훨씬 직관적이고 사용상의 편리함으로 많이 쓰이는 편집기이다. 빌 조이가 유닉스에 이것을 포함시켜 BSD를 배포했다. GNU의 버전으로 vi를 향상시킨 vim이 있다. BSD와 연관이 깊은 편집기로써, 당연히 라이센스도 MIT 라이센스이다.

목차

1. 기능
2. 어려움
3. 강점
4. vs Emacs
5. 영향
6. 트리비아
7. 영상

1. 기능

커서를 이동하고 문자열을 이동시키거나 찾고 할때는 편집모드를 쓴다. 문서를 직접 삽입하지 않고, 핫키를 이용해서 문서를 변경시킨다. 삽입모드에서 문서를 본격적으로 입력하고 바꾼다. 이는 좀 더 섬세하게 코드를 고치거나 열람할 수 있다. :로 명령모드를 열어 명령어를 치고 Enter를 눌러 저장을 하거나 단어를 바꾸거나 할 수 있다.

2. 어려움

초보자들이 사용하기에 시간이 꽤 걸린다. 게다가 이미 다른 편집기에 익숙해진 상황이라면 더욱이 어려우며 딱히 바꿀 필요가 없음을 느끼게 된다. 특히 vim이 아닌 vi의 경우 훨씬 UNIX 시절에 가까운 옛날식의 조작법으로 사람을 골탕먹인다. 백스페이스가 안눌리고 그마저도 del로 눌려지고 편집모드에선 화살표키도 먹지 않아 ESC로 빠져나가서 이동해야한다. 이런것들은 vim에선 변경이 된 사항이지만 아직도 vi는 전통적인 방식을 따른다.

vi나 vim이나 화살표키보단 h(왼쪽), j(아래), k(위), l(오른쪽)으로 이동하기를 권장하는데, 확실히 손의 움직임이 적어지는건 편하다고 할 수 있으나, 익숙해지기 전까지는 머리로는 인지하고 있지만 손가락이 따라주지 않아 과연 이게 편한가라는 생각을 하게된다.

사실 이 이동키는 그 시대 화살표가 없는 키보드를 쓸 때 생긴 것이다. 현재 단축키 또한 그 당시 키맵을 반영한 것으로 당시 캡스락의 위치에는 컨트롤키가, 탭 키에는 ESC가, 백스페이스의 위치에는 DEL키가 놓여있었다. 그렇기 때문에 ESC로 빠져나갈 일이 많은 vi는 현재 출시되는 대부분의 키보드의 키맵만을 놓고 본다면 그다지 효율적이지 않은 편집기일지도 모른다.

3. 강점

그럼에도 아직 vi나 vim이 많이 쓰이는 것은 역시나 손이 덜 움직이는 단축키들과 직접 쉘의 명령을 실행할 수 있다는 것. 문서 안에서의 빠른 이동 덕분이다. 줄번호를 빠르게 확인하고 이동하고 수정하고 실행취소한다. 잘 쓰는 사람이 한손으로 꾸물럭꾸물럭 거리는걸 보면 무심코 구경하게 된다.

vi를 이식받아 더욱 향상된 vim은 그 동안의 해커들의 아이디어로 개발되어, 언어별 자동완성 기능을 스크립트에 추가시키기도 하고, 문법이나 검색어의 하이라이트를 이전보다 훨씬 간편하게 하는가 하면 GCC나 GDB의 연동으로 비주얼 스튜디오, 이클립스 같은 것들에 절대 꿇리지않는 IDE가 되기도...아니다. 꿇린다. 완전히 익숙해져서 사용에 거리낌이 없을 정도가 아니면, 설령 그렇다 해도 직장에서 사용은 되도록 하지 말자.(1)

4. vs Emacs

리차드 스톨만이 만든 이맥스의 강점은 LISP 스크립트로 더욱 강력한 애드온을 만들어 적용시킬 수 있다는 것이다. 위의 자동완성은 장난이고, 컴퓨터를 켜고 이맥스를 실행시키면 한동안 이맥스를 나가지 않아도 컴퓨터를 할 수 있을 정도로 강력한 도구이기 때문에 간편함과 가벼움으로 밀어부치는 vi와 자주 비교된다. Emacs가 vi가 나온지 꽤 오랜시간이 흘러 개발 된 만큼 확실히 좋은 기능들로 무장하고 있는 것은 사실이지만 이맥스의 움직임이 많은 단축키와 프로그램 자체의 무거움은 vi 사용자들에게는 답답하다고 느끼게 된다.

vi와 Emacs의 논쟁은 사용자들은 해커들이 쓰는 편집기의 자존심 싸움이 되기도 하지만, 서로 칼로 물 베기 임을 알아 비교적 건전하게 토론이 끝이 나는 편이다. 사실 결론은 위와 같이 전통과 간편함의 vi, GNU코딩스타일과 강력한 기능의 GNU/Emacs로 그냥 맘에드는걸 쓰면 되는 것.(2) 뭐든 장점이 있으면 단점이 있다. Emacs는 일반사용자들은 LISP 스크립트로 쓸만한 것들을 만들 수 없는 사용자들에겐 전혀 제대로 쓸 수 없다. vi도 익숙해지기까지 꽤 시간을 투자해야한다는 것과 이맥스에 비해 기능이 꿀린다는 것은 변치 않는다. 이게 또 Emacs를 쓸 수 있는 해커와 vi유저의 수준 차이같은 드립이 나오며 또 자존심 싸움이 되긴 한다.

5. 영향

vi의 단축키나 이동키 등의 기능은 많은 유닉스 기반의 프로그램에 영향을 줬다. 페이스북에서 j, k를 눌러보면 상하로 움직인다. 덕덕고에서도 j, k로 움직일 수 있다. 많은 검색엔진에서 검색 텍스트 박스로 바로 이동하는 키로 '/(슬래시)'를 쓰는 것도 vi의 영향이다.

6. 트리비아

vi를 한글로 치면 퍄...가된다. ㅗㅜㅑ...

7. 영상



이 문서의 내용 중 전체 또는 일부는 자유인사전에서 가져왔으며 CC BY-NC-SA 3.0에 따라 이용할 수 있습니다.
본 문서의 원본은 링크에서 확인할 수 있습니다.
(1) 직장에 따라 다를지도 모르지만
(2) 그래도 Emacs사용자들은 vi 스타일 단축키 스크립트로 임포트하면 Emacs에 vi가 들어 올 수 있다며 짱이라고 한다.