![[Linux] 리눅스 텍스트 에디터, Vim 설치 및 주요 사용법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAJEDe%2FbtsM2JbBBAI%2FGFpLMAYKW5yWXCGavutR8k%2Fimg.png)
이 글은 리눅스의 대표적인 CLI 텍스트 에디터인 Vim의 설치와 주요 사용법에 대해 정리한 글입니다.
vi 소개 및 Vim설치
vi 개요
- vi는 1976년, UNIX System에서 도입된 표준 텍스트 에디터로, visual의 약어
- 대표적인 vi의 종류로는 vi, Vim, Neovim, nano(GNU nano) 등이 존재
vi 종류
아래 소개된 모든 텍스트 에디터는 Shell에서 텍스트 편집이 사용된다.
vi
- UNIX의 전통적인 텍스트 편집기로, 가장 기본적이고 가벼우며 POSIX 표준에 적합한 텍스트 에디터
- 모드 기반 에디터 (명령 모드 / 입력 모드)
Vim
welcome home : vim online
Vim - the ubiquitous text editor Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient. It is included as "vi" with most UNIX systems and with Apple OS X. Vim is rock stable and is continuously being d
www.vim.org
- vi의 확장판으로, vi improve의 약자
- 구문 강조, 복잡한 매크로, 플러그인, 스크립팅 지원 등 현대적 기능이 탑재되어 있음
- 모드 기반 에디터 (명령 모드, 삽입 모드, 보기 모드)
Neovim
Neovim
Hyperextensible Vim-based text editor
neovim.io
- Vim의 후속 현대화 프로젝트로 만들어진 에디터
- 비동기 플러그인, Lua 기반 설정, 내장 LSP(Language Server Protocol) 등 최신 개발 환경에 적합
nano (GNU nano)
- 모드 기반이 아닌 단순한 텍스트 기반 편집기
- 메뉴와 도움말이 화면 하단에 표시되어 있어 직관적이며, 초보자 또는 간단한 편집 작업에 적합
Vim 설치
여러 텍스트 에디터 중에서 Vim을 설치한다. (VM에서 Ubuntu 20.04 LTS에서 진행하였습니다.)
먼저, 터미널을 실행하고 Vim이 설치되어 있는지 확인한다.
$ vim --version
설치가 되어 있으면 현재 Vim의 버전이 출력될 것이고, 설치가 되어있지 않다면 아래 이미지와 같이 설치가 필요하다는 창이 뜰 것이다.
먼저 sudo apt update
로 패키지 리스트를 최신화 한 후, 아래 명령어로 Vim을 설치한다.
$ sudo apt install vim
설치가 완료되면, Vim을 실행해 정상적으로 설치되었는지 확인한다. 아래 이미지와 같이 Shell 기반의 텍스트 에디터로 진입되면 설치가 된 것이다. 확인했다면, :q
를 입력해서 다시 Shell로 돌아온다.
$ vi test.txt
설치가 완료되었다면, 이제 자유롭게 Vim을 사용하면 된다.
vi 텍스트 에디터 사용하기
여기서 말하는 vi은 Vim을 의미한다. 앞으로 글에서 나오는 vi는 Vim이다.
Vim의 모드
Vim은 모드 기반 에디터로, 3가지의 주요 모드가 존재하며 각 모드를 알아두어야 에디터를 사용할 수 있다.
- Command Mode (명령 모드)
- 저장, 종료 등 명령어를 입력할 수 있는 모드
- 처음 프로그램 실행 시 진입
- 다른 모드에서
ESC
를 누르면 command mode로 진입
- Insert Mode (삽입 모드)
- 텍스트를 입력하고 편집할 수 있는 모드
- command mode에서
i
로 진입
- Visual Mode (보기 모드)
- 영역 선택 후 복사, 삭제, 붙여넣기 등을 수행할 수 있는 모드
- command mode에서
v
로 진입
Vim의 주요 명령어 모음
각 모드에서 사용할 수 있는 주요 명령어는 다음과 같다.
저장 및 종료
저장 및 종료는 command mode에서 실행할 수 있으며, :
를 사용한다.
:w
: 저장:q
: 종료:wq
: 저장 후 종료:q!
: 저장하지 않고 강제 종료
복사 및 붙여넣기
복사와 붙여넣기는 command mode와 visual mode에서 실행할 수 있다.
📌 command mode에서 복사 및 붙여넣기
dd
: 현재 줄 잘라내기 (cut)[line] dd
: 커서 위치로부터 n 개의 줄 잘라내기 (ex.2dd
)
yy
: 현재 줄 복사 (copy)p
: 현재 커서 앞에 붙여넣기shift + p
: 현재 커서 뒤에 붙여넣기
📌 visual mode에서 복사 및 붙여넣기
d
: 선택한 영역 잘라내기 (cut)y
: 선택한 영역 복사 (copy)yy
: 현재 줄 복사 (copy)p
: 현재 커서 앞에 붙여넣기shift + p
: 현재 커서 뒤에 붙여넣기
vi에셔 수행하는 복사 및 붙여넣기는 vi 기능과 터미널 기능이 함께 동작한다. 리눅스에서는 터미널 클립보드와 텍스트 에디터 클립보드가 따로 동작하는데, 이 과정에서 command mode에서 복사한 내용과 visual mode에서 복사한 내용이 모드 각각의 클립보드에 남아있기 때문에 어떤 단축키를 어느 모드에서 사용했느냐에 따라 의도와 다르게 동작할 수 있다.
작업 취소
u
: 마지막 작업 취소 (undo)ctrl + r
: undo 취소 (redo)
기타 명령어
command mode에서 사용 가능한 명령어 모음이다.
gg
: 파일 상단 이동G
: 파일 하단 이동/[검색어]
: 찾기n
: 다음 검색 /N
: 이전 검색
%s/[검색어]/[변경할단어]/g
: 찾은 후 단어 바꾸기 (해당 파일 전체에서 특정 키워드를 모두 변경함)
'OS > Linux' 카테고리의 다른 글
[Linux] 리눅스 텍스트 에디터, Vim 사용자 환경 설정 (with. .vimrc) (0) | 2025.03.30 |
---|---|
[Linux][Ubuntu] 우분투 패키지 관리자 아카이브 위치 변경 (1) | 2025.03.29 |
[Linux] Shell 명령어와 파일 관리 명령어 (0) | 2025.03.26 |
[Linux] 리눅스 패키지 관리 시스템 (Linux Package Management System) (feat. Ubuntu) (0) | 2025.03.26 |
[Linux] Linux Shell과 Linux 파일 시스템 (0) | 2025.03.23 |
since 2025.01.27. ~ 개발자를 향해....🔥