VI VIM 에디터

프로그래밍, 서버 관리, 스크립트 작성 등 다양한 컴퓨팅 작업에 있어서 텍스트 에디터는 필수적인 도구입니다. 그중에서도 LinuxUnix 기반의 CLICmd Line Interface 환경에서는 VI와 VIM 에디터가 널리 사용되고 있고 필자 또한 서버에서 가장 우선적으로 설정하는 부분이 Vim관련 내용인데요.

이 두 에디터는 강력한 기능과 유연성을 가진 텍스트 에디터로, 처음에는 익숙하지 않은 명령어나 모드 구분 등으로 학습 곡선이 다소 가파를 수 있지만, 한번 익혀두면 매우 높은 생산성을 발휘할 수 있습니다.

VI 에디터란

VI 에디터는 리눅스 및 유닉스 계열 운영 체제에서 사용되는 텍스트 편집기입니다. VI는 Visual Editor의 약자로, 텍스트 파일을 효과적으로 편집하는 강력한 도구로 널리 사용됩니다. VI 에디터는 터미널 환경에서 사용되며, 초보자에게는 학습 곡선이 높을 수 있지만, 익숙해지면 빠르고 강력한 기능을 제공합니다.

VI 에디터는 1976년 빌 조이(William Joy)가 개발한 도구로서, 처음으로 버클리 대학교의 2BSD에서 소개되었습니다. 그 이후 많은 리눅스 배포판 및 유닉스 시스템에서 널리 사용된 텍스트 편집기로 자리잡았습니다. VI 에디터와 그 후속작인 Vim 등의 인기와 유용성은 오랜 시간 동안 지속되었으며 현재까지도 활발하게 사용되고 있습니다. VI 에디터 더 알아보기

데이터베이스 관리를 위한 오픈 소스 데이터베이스 도구 Adminer 사용법

VIM 에디터란

VIM(Visual IMproved)은 VI 에디터의 개선된 버전으로, Bram Moolenaar에 의해 개발되었습니다. VIM은 VI의 확장된 기능과 향상된 사용자 경험을 제공하며 다음과 같은 특징이 있습니다.

  • VIM은 VI와 호환성을 유지하면서 추가 기능과 향상된 사용자 인터페이스를 제공합니다.
  • 비주얼 모드(Visual Mode)가 기본적으로 활성화되어 있어 텍스트 선택과 편집이 더 직관적으로 가능합니다.
  • VIM은 다양한 플러그인과 스크립트 언어를 지원하여 사용자 정의 기능을 확장하기 용이합니다.

VI와 비교하여 사용자 경험이 향상되며, 비주얼 모드의 도입으로 텍스트 선택 및 편집이 간편해집니다. 플러그인 및 스크립팅을 통해 사용자 지정 기능을 쉽게 추가할 수 있습니다. 다양한 운영 체제에서 사용 가능하며, 리눅스 커뮤니티에서 널리 사용됩니다. Vim 에디터 더 알아보기

VI (VIM) 에디터 구성

VI-VIM-에디터-편집-화면
VI VIM 에디터 편집 화면

VI (VIM) 에디터의 기본적인 화면 구성입니다. VI 에디터와 VIM 에디터의 편집 화면은 기본적으로 동일합니다. VIM은 VI의 확장된 버전이며, VI의 핵심 기능과 사용자 인터페이스를 유지하면서 추가 기능을 제공합니다.

  • 편집 화면: 이 부분이 텍스트를 편집하는 메인 화면입니다. 텍스트가 표시되며 여기에서 편집 작업을 수행합니다.
  • 상태 행: Status Line의 줄임으로 편집 화면 아래에 위치하며 현재 상태와 모드를 표시합니다. 일반 모드, 입력 모드, 시각적 모드 등 현재 VI 모드에 대한 정보가 여기에 표시됩니다.
  • 상태 표시줄: Status Bar의 줄임으로 일반적으로 화면 하단에 위치하며 파일 이름, 현재 행 및 열 번호, 현재 VI 모드 등의 정보를 표시합니다.
Windows 10 컴퓨터에서 Powershell 파워쉘을 비활성화하는 방법

VI (VIM) 에디터의 주요 기능

VI (VIM) 에디터의 주요 기능은 텍스트 편집, 모드, 그리고 단축키로 나누어 볼 수 있습니다.

텍스트 편집

VI (VIM) 에디터는 텍스트 파일을 효과적으로 편집하는 데 사용됩니다. 이를 위해 사용자는 다양한 명령어를 활용할 수 있으며, 다음과 같은 주요 작업을 수행할 수 있습니다.

  • 삽입(Insertion): 명령 모드에서 입력 모드로 전환하여 텍스트를 특정 위치에 추가합니다.
  • 삭제(Deletion): 명령 모드에서 텍스트를 삭제하거나, 단어, 라인 또는 블록 단위로 삭제할 수 있습니다.
  • 이동(Navigation): 명령 모드에서 커서를 이동시키거나, 단어, 라인, 또는 블록 단위로 이동할 수 있습니다.
  • 복사와 붙여넣기(Copy and Paste): 텍스트를 복사하고 다른 위치에 붙여넣기할 수 있으며, 이는 명령 모드에서 수행됩니다.
  • 검색 및 대체(Search and Replace): 명령 모드에서 텍스트 검색 및 대체를 수행하여 효율적으로 편집할 수 있습니다.
맥 윈도우 리눅스 CopyQ로 클립보드 저장하고 쉽게 재사용하기

모드

VI (VIM) 에디터의 두드러지는 특징 중 하나는 아마도 다양한 모드를 지원한다는 것입니다. 모드라는 개념을 통해 사용자가 편집 과정을 보다 효율적으로 수행할 수 있습니다.

명령 모드 (Cmd Mode)

명령 모드는 VI (VIM) 에디터의 기본 모드입니다. 사용자가 텍스트를 이동하고 삭제하는 등의 명령을 입력할 수 있는 모드입니다. 명령 모드에서 주로 사용되는 명령어와 단축키로는 다음과 같은 것들이 있습니다.

  • h: 왼쪽으로 커서 이동
  • j: 아래로 커서 이동
  • k: 위로 커서 이동
  • l: 오른쪽으로 커서 이동
  • x: 현재 커서 위치의 문자 삭제
  • d + d: 현재 줄 삭제
  • y + y: 현재 줄 복사
  • p: 복사한 내용을 현재 위치에 붙여넣기
  • : + w: 현재 파일 저장
  • : + q: VI (VIM) 에디터 종료
  • : + w + q: 현재 파일 저장 후 VI (VIM) 에디터 종료

입력 모드 (Insert Mode)

입력 모드에서는 텍스트를 직접 입력하고 수정하는 모드입니다. 사용자가 텍스트를 추가하거나 변경할 때 사용됩니다. 입력 모드로 전환하는 방법은 명령 모드에서 i를 입력하거나 a를 입력하면 됩니다. 이후 커서가 텍스트 내로 이동하고 입력이 가능해집니다.

시각적 모드 (Visual Mode)

시각적 모드는 특정 텍스트 영역을 선택하여 편집하는 모드입니다. 선택한 부분을 한 번에 삭제하거나 복사하는 데 사용됩니다. 명령 모드에서 v를 입력하여 시각적 모드로 전환합니다. 선택하려는 텍스트 영역을 표시하고, 선택 후에 원하는 편집 작업을 수행할 수 있습니다.

단축키

Vi-에디터-단축키-모음-정리
Vi 에디터 단축키 모음 정리

위 그림에서 알 수 있듯 VI (VIM) 에디터는 매우 다양한 단축키를 제공하여 텍스트 편집을 효율적으로 수행할 수 있습니다. 몇 가지 주요 단축키는 다음과 같습니다.

참고: 모든 단축키를 다 알아야 할 필요는 없습니다. 기본적인 단축키를 사용하다 필요한 기능만 추가적으로 익히면서 사용하는 것을 권장합니다.

명령어/단축키설명
:w현재 편집 중인 파일을 저장합니다.
:qVI (VIM) 에디터를 종료합니다.
:wq현재 파일을 저장하고 VI (VIM) 에디터를 종료합니다.
i입력 모드로 전환하여 텍스트를 직접 입력할 수 있게 합니다.
v시각적 모드로 전환하여 텍스트를 선택하거나 드래그합니다.
dd현재 줄을 삭제합니다.
yy현재 줄을 복사합니다.
p복사한 내용을 커서 아래에 붙여넣습니다.
u실행 취소(undo)를 수행합니다.
Ctrl-r다시 실행(redo)를 수행합니다.
:s/old/new/g현재 행에서 old라는 텍스트를 new로 모두 교체합니다.
:x 또는 :wq파일 저장 및 종료를 수행합니다.
:q!변경사항을 무시하고 VI (VIM) 에디터를 강제 종료합니다.
sudo UNIX 및 Linux에서의 강력한 권한 관리 도구

VI (VIM) 에디터의 장점과 단점

VI (VIM) 에디터는 터미널 환경에서 작동하며 빠른 텍스트 편집, 다양한 명령어 및 자동화 기능을 제공하는데 비해, 초기 학습 곡선이 높고 GUI 부재와 혼란스러운 명령어 및 모드가 단점으로 언급됩니다.

장점

  • VI (VIM) 에디터는 터미널 환경에서 동작하므로 리눅스 및 유닉스 시스템뿐만 아니라 다양한 운영 체제에서 사용 가능합니다.
  • VI (VIM) 에디터는 대용량 파일도 효율적으로 편집할 수 있는 강력한 텍스트 편집 기능을 제공합니다. 이를 통해 대용량 로그 파일이나 소스 코드 파일을 빠르게 편집할 수 있습니다.
  • VI (VIM) 에디터는 다양한 명령어와 단축키를 활용하여 텍스트 편집이 빠르고 효율적하게 수행됩니다. 이러한 기능은 텍스트 편집의 생산성을 높입니다.
  • VI (VIM) 에디터의 비주얼 모드를 사용하면 텍스트를 직접 선택하고 조작할 수 있어 편집이 직관적입니다.
  • VI (VIM) 에디터는 레지스터와 매크로를 사용하여 반복적인 작업을 자동화할 수 있는 기능을 제공합니다. 이를 통해 반복 작업을 효율적으로 수행할 수 있습니다.
Linux 서버 접속하는 방법 웹 애플리케이션 파일 관리하기

단점

  • VI (VIM) 에디터는 일반적이지 않은 단축키와 다른 에디터에는 존재하지 않는 모드 개념으로 인해 학습 곡선이 높을 수 있습니다. 초보자에게는 익숙해지기 어려울 수 있습니다.
  • VI (VIM) 에디터는 터미널 환경에서 동작하며 그래픽 사용자 인터페이스GUI를 제공하지 않습니다. 따라서 비텍스트 파일 작업에는 적합하지 않을 수 있습니다.

관련 글

댓글로 남기기 어려운 내용은 Contact Form 에서 개별적으로 문의 할 수 있습니다. 해당 글과 연관 된 내용은 Copy를 이용해 현재 페이지의 주소를 복사 후 문의 폼에 입력시 보다 정확한 답을 얻을 수 있습니다.

Leave a Comment