공공부하자개발 · 영어 학습 노트
리눅스
리눅스 명령어 요약명령어 한 장 요약0/3 완료
  • 01리눅스 명령어 모음
  • 02정규식 명령어 (grep·sed·awk·vi·Java)
  • 03vi · tmux 명령어
사이트 소개개인정보처리방침연락처
© 2026 공부하자
홈 › 리눅스 명령어 요약 › 03 / 3

vi · tmux 명령어

섹션 16진행 0 / 3

vi · tmux 명령어

서버에 반드시 있는 편집기 vi 와, 접속이 끊겨도 작업이 살아 있는 tmux 의 키를 한 장에 모았습니다. 명령어 묶음 02 의 최소 키 열 개에서 출발해 이동·편집·검색·치환·여러 파일·설정까지 넓혔고, tmux 는 세션·창·분할·복사 모드와 설정 파일까지 다룹니다.

01한눈에 보기
상황 키
입력 시작 / 끝 i / Esc
저장 / 나가기 / 둘 다 / 버리기 :w / :q / :wq / :q!
줄 삭제 / 복사 / 붙여넣기 / 되돌리기 dd / yy / p / u
검색 / 다음 / 전체 치환 /단어 / n / :%s/a/b/g
처음 / 끝 / N번 줄 gg / G / :N
줄 번호 :set nu
막혔을 때 Esc Esc :q!
tmux 새 세션 / 떼기 / 붙기 tmux new -s x / Ctrl+B d / tmux attach -t x
02vi 모드
모드 들어가기 나가기 용도
명령 시작 상태, Esc 이동·삭제·복사
입력 i a o A O Esc 글자 입력
비주얼 v V Ctrl+V Esc 범위 선택
명령줄 : / ? Enter Esc 저장·검색·치환

화면 아래 -- INSERT -- 가 보이면 입력 모드입니다. 명령이 안 먹으면 Esc 를 두 번 누르고 다시 합니다.

03입력 모드 진입
키 위치
i 커서 앞
a 커서 뒤
I 줄 처음
A 줄 끝
o 아래 새 줄
O 위 새 줄
cw 단어 바꾸기
cc 줄 바꾸기
ciw 커서 단어 통째로 바꾸기
ci" 따옴표 안 바꾸기

설정 값을 고칠 때 A 로 줄 끝에 붙이거나 ci" 로 따옴표 안만 바꾸는 것이 빠릅니다.

04이동
키 동작
h j k l 좌·하·상·우 (화살표도 됨)
w b 다음·이전 단어
e 단어 끝
0 ^ $ 줄 처음·첫 글자·끝
gg G 파일 처음·끝
:15 15G 15번 줄
Ctrl+F Ctrl+B 한 화면 아래·위
Ctrl+D Ctrl+U 반 화면
% 짝 괄호로
{ } 문단 단위
'' 직전 위치로

숫자를 앞에 붙이면 반복입니다. 5j 는 5줄 아래, 3w 는 3단어 뒤입니다.

05편집
키 동작
x X 글자 삭제 (뒤·앞)
dd 5dd 줄 삭제
dw d$ d0 단어·줄 끝·줄 처음까지 삭제
D d$ 와 같음
yy 5yy 줄 복사
yw y$ 단어·줄 끝까지 복사
p P 아래·위에 붙여넣기
u Ctrl+R 되돌리기·다시
. 직전 편집 반복
r 글자 하나 바꾸기
~ 대소문자 바꾸기
J 다음 줄 붙이기
>> << 들여쓰기

dd 로 지운 줄은 버퍼에 남아 p 로 붙일 수 있습니다. 잘라내기·붙여넣기가 dd·p 입니다. . 반복이 같은 수정을 여러 곳에 할 때 가장 빠릅니다.

06비주얼 모드
키 동작
v 글자 단위 선택
V 줄 단위
Ctrl+V 사각 블록
선택 후 d y > 삭제·복사·들여쓰기
선택 후 :s/a/b/ 범위 치환
Ctrl+V 후 I 입력 Esc 여러 줄 앞에 같은 글자

여러 줄 앞에 # 을 붙여 주석 처리하려면 Ctrl+V 로 줄들을 선택하고 I# 뒤 Esc 입니다. V 로 줄을 선택한 뒤 :s/old/new/g 를 치면 그 범위만 치환됩니다.

07검색·치환
명령 동작
/단어 ?단어 아래·위 검색
n N 다음·이전
* # 커서 단어 검색 아래·위
:noh 강조 끄기
:%s/a/b/g 전체 치환
:%s/a/b/gc 확인하며 (y n a q)
:5,20s/a/b/g 줄 범위
:.,$s/a/b/ 현재 줄부터 끝
:g/패턴/d 패턴 줄 전부 삭제
:v/패턴/d 패턴 없는 줄 삭제
:%s/\s\+$// 줄 끝 공백 제거

vi 정규식은 BRE 라 +·(·| 에 \ 가 필요합니다. :%s/\v(a|b)+/x/g 처럼 \v 를 붙이면 ERE 처럼 씁니다. 자세한 문법은 정규식 명령어에 있습니다.

08파일·버퍼·창
명령 동작
:e 파일 다른 파일 열기
:w 이름 다른 이름으로 저장
:r 파일 파일 내용 끼워 넣기
:r !명령 명령 출력 끼워 넣기
:ls :bn :bp 버퍼 목록·다음·이전
:sp 파일 :vsp 파일 가로·세로 분할
Ctrl+W w 분할 창 이동
Ctrl+W q 분할 창 닫기
:!명령 셸 명령 실행
:w !sudo tee % 권한 없이 열었을 때 저장

:r !date 로 현재 시각을 끼워 넣거나 :r !ls 로 파일 목록을 넣을 수 있습니다. 읽기 전용으로 열었다가 고친 뒤 저장이 안 될 때 :w !sudo tee % 가 해결책입니다.

09레지스터·매크로
명령 동작
"ayy "ap a 레지스터에 복사·붙여넣기
"+y "+p 시스템 클립보드 (gvim·ssh 에서는 제한)
qa ... q a 매크로 기록 시작·끝
@a 매크로 실행
10@a 10번 반복
@@ 직전 매크로 반복

같은 편집을 100줄에 하려면 한 줄에 대해 qa 로 기록하고 99@a 로 반복합니다. 로그 형식 변환이나 설정 일괄 수정에 씁니다.

10설정: .vimrc
text
" ~/.vimrc
set number            " 줄 번호
set hlsearch          " 검색 강조
set incsearch         " 입력하며 검색
set ignorecase        " 대소문자 무시
set smartcase         " 대문자 있으면 구분
set tabstop=4         " 탭 폭
set shiftwidth=4      " 들여쓰기 폭
set expandtab         " 탭을 공백으로
set autoindent        " 자동 들여쓰기
set encoding=utf-8
set fileencodings=utf-8,euc-kr
syntax on             " 색
set paste             " 붙여넣기 시 자동 들여쓰기 꺼짐 (붙여넣을 때만 켜기)

세션 안에서 잠깐 켜려면 :set nu, 끄려면 :set nonu 입니다. 붙여넣기가 계단처럼 밀리면 :set paste 후 붙이고 :set nopaste 로 돌립니다. fileencodings 에 euc-kr 을 넣어야 옛 파일의 한글이 보입니다.

11vi 실수와 복구
상황 해결
입력 모드에서 :wq 를 쳤다 Esc 뒤 u 로 되돌리고 다시
저장 안 하고 나가고 싶다 :q!
파일을 처음 상태로 :e!
화면이 멈췄다 Ctrl+Q (Ctrl+S 를 누른 것)
.swp 파일 경고 다른 세션 확인 후 rm .파일.swp
읽기 전용이라 저장 안 됨 :w !sudo tee %
붙여넣기가 계단식 :set paste
한글 깨짐 :e ++enc=euc-kr
12tmux 세션
명령 동작
tmux 새 세션
tmux new -s deploy 이름 붙여 새 세션
tmux ls 세션 목록
tmux attach -t deploy 다시 붙기
tmux attach 마지막 세션
Ctrl+B d 떼어 두기 (작업은 계속)
tmux kill-session -t deploy 세션 종료
exit 마지막 창을 닫으면 세션 끝

긴 배포·마이그레이션·대용량 복사는 반드시 tmux new -s 이름 안에서 시작합니다. 접속이 끊겨도 tmux attach -t 이름 으로 돌아옵니다. 모든 키는 Ctrl+B 를 누른 뒤 뗀 다음 다음 키를 누릅니다.

13tmux 창·분할
키 (Ctrl+B 뒤) 동작
c 새 창
n p 다음·이전 창
0~9 번호로 창 이동
, 창 이름 변경
& 창 닫기
% 세로 분할
" 가로 분할
화살표 분할 창 이동
o 다음 분할 창
x 분할 창 닫기
z 분할 창 확대·복원
Space 배치 바꾸기

한 창을 " 로 위아래 나눠 위에는 tail -f 로그, 아래에는 명령을 치는 배치가 배포 때 표준입니다. z 로 하나를 잠시 키웠다 돌립니다.

14tmux 복사 모드·기타
키 (Ctrl+B 뒤) 동작
[ 복사 모드 (스크롤)
복사 모드에서 Space 이동 Enter 선택 시작·복사
] 붙여넣기
PgUp / q 위로·나가기
? 키 목록
: tmux 명령 입력
t 시계

tmux 안에서는 마우스 휠 스크롤이 기본으로 안 되므로 Ctrl+B [ 로 복사 모드에 들어가 화살표·PgUp 으로 올려 봅니다. q 로 나옵니다.

15설정: .tmux.conf
text
# ~/.tmux.conf
set -g mouse on                 # 마우스로 분할 창 선택·스크롤
set -g history-limit 50000      # 스크롤 버퍼
set -g base-index 1             # 창 번호 1부터
setw -g mode-keys vi            # 복사 모드에서 vi 키
set -g status-right '#H %F %R'  # 상태줄에 호스트·날짜
bind r source-file ~/.tmux.conf \; display "reloaded"

적용은 tmux source-file ~/.tmux.conf 또는 위 r 바인딩입니다. mouse on 이면 휠 스크롤과 클릭 창 이동이 됩니다. 운영 서버 상태줄에 호스트명이 보이면 창 착각을 줄입니다.

16screen 대응표
동작 tmux screen
새 세션 tmux new -s x screen -S x
목록 tmux ls screen -ls
떼기 Ctrl+B d Ctrl+A d
붙기 tmux attach -t x screen -r x
새 창 Ctrl+B c Ctrl+A c
다음 창 Ctrl+B n Ctrl+A n
분할 Ctrl+B % " `Ctrl+A
스크롤 Ctrl+B [ Ctrl+A [

tmux 가 없는 옛 서버는 screen 이 있습니다. 접두 키가 Ctrl+A 라는 것만 다르고 개념은 같습니다. 폐쇄망이면 dnf install tmux 대신 반입 rpm 이 필요합니다.

목차
  • 한눈에 보기
  • vi 모드
  • 입력 모드 진입
  • 이동
  • 편집
  • 비주얼 모드
  • 검색·치환
  • 파일·버퍼·창
  • 레지스터·매크로
  • 설정: .vimrc
  • vi 실수와 복구
  • tmux 세션
  • tmux 창·분할
  • tmux 복사 모드·기타
  • 설정: .tmux.conf
  • screen 대응표
참고 영상 · 인터넷 연결 시 유튜브 검색이 열립니다리눅스 vi · tmux 명령어vi vim 명령어 모드
이전02 정규식 명령어 (grep·sed·awk·vi·Java)다음01 String · StringBuilder · 정규식