새소식

Linux

Linux - vi 명령어 모음

  • -

자주 쓰는 명령어

vi filename        # 파일 열기

a                  # 입력 모드로 전환
i                  # 입력 모드로 전환
Esc                # 명령 모드로 전환

:w                 # 파일 저장
:q                 # 파일 종료
:wq                # 저장 후 종료
:q!                # 저장하지 않고 종료
:w filename        # 다른 이름으로 저장

dd                 # 현재 줄 삭제

G                  # 파일의 끝으로 이동
gg                 # 파일의 처음으로 이동

:set nu            # 줄 번호 표시

명령어들

# vi 텍스트 에디터 명령어

# 기본 파일 조작 명령어
vi filename        # 파일 열기
:w                 # 파일 저장
:q                 # 파일 종료
:wq                # 저장 후 종료
:x                 # 저장 후 종료 (같은 :wq)
:q!                # 저장하지 않고 종료
:w filename        # 다른 이름으로 저장
:e filename        # 다른 파일 열기
:saveas filename   # 다른 이름으로 저장 후 열기
:n                 # 다음 파일 열기 (열려 있는 파일 목록 중)
:N                 # 이전 파일 열기

# 모드 전환
i                  # 현재 커서 위치에서 입력 모드로 전환
I                  # 현재 줄의 처음에서 입력 모드로 전환
a                  # 현재 커서 다음 위치에서 입력 모드로 전환
A                  # 현재 줄의 끝에서 입력 모드로 전환
o                  # 현재 줄 아래에 새로운 줄 삽입 후 입력 모드로 전환
O                  # 현재 줄 위에 새로운 줄 삽입 후 입력 모드로 전환
Esc                # 입력 모드에서 명령 모드로 전환

# 커서 이동 명령어
h                  # 왼쪽으로 한 글자 이동
j                  # 아래로 한 줄 이동
k                  # 위로 한 줄 이동
l                  # 오른쪽으로 한 글자 이동
0                  # 현재 줄의 맨 앞으로 이동
^                  # 현재 줄의 첫 번째 비어 있지 않은 문자로 이동
$                  # 현재 줄의 맨 끝으로 이동
G                  # 파일의 끝으로 이동
gg                 # 파일의 처음으로 이동
:n                 # n번째 줄로 이동
Ctrl+f             # 한 화면 아래로 이동
Ctrl+b             # 한 화면 위로 이동
Ctrl+d             # 반 화면 아래로 이동
Ctrl+u             # 반 화면 위로 이동
w                  # 다음 단어의 처음으로 이동
b                  # 이전 단어의 처음으로 이동
e                  # 현재 단어의 끝으로 이동

# 텍스트 편집 명령어
x                  # 현재 커서 위치의 문자 삭제
X                  # 현재 커서 이전의 문자 삭제
dd                 # 현재 줄 삭제
dw                 # 현재 단어 삭제
D                  # 현재 커서 위치부터 줄 끝까지 삭제
C                  # 현재 커서 위치부터 줄 끝까지 삭제 후 입력 모드 전환
u                  # 마지막 명령 취소 (undo)
Ctrl+r             # 취소한 명령 다시 실행 (redo)
yy                 # 현재 줄 복사
p                  # 현재 커서 다음 위치에 붙여넣기
P                  # 현재 커서 이전 위치에 붙여넣기
J                  # 현재 줄과 다음 줄을 합침
~                  # 현재 커서 위치의 문자의 대소문자 전환

# 범위 지정 명령어
v                  # 비주얼 모드 시작 (문자 단위 선택)
V                  # 비주얼 라인 모드 시작 (줄 단위 선택)
Ctrl+v             # 비주얼 블록 모드 시작 (블록 선택)
y                  # 비주얼 모드에서 선택한 영역 복사
d                  # 비주얼 모드에서 선택한 영역 삭제
c                  # 비주얼 모드에서 선택한 영역 삭제 후 입력 모드 전환

# 텍스트 교체 명령어
:s/old/new/g       # 현재 줄에서 old를 new로 교체
:%s/old/new/g      # 파일 전체에서 old를 new로 교체
:%s/old/new/gc     # 파일 전체에서 old를 new로 교체 (교체 여부를 확인)
:1,10s/old/new/g   # 1에서 10번째 줄에서 old를 new로 교체

# 검색 명령어
/keyword           # 키워드 검색 (아래 방향)
?keyword           # 키워드 검색 (위 방향)
n                  # 다음 검색 결과로 이동
N                  # 이전 검색 결과로 이동
*                  # 현재 커서 위치의 단어를 아래 방향으로 검색
#                  # 현재 커서 위치의 단어를 위 방향으로 검색

# 파일 설정 명령어
:set number        # 줄 번호 표시
:set nonumber      # 줄 번호 숨기기
:set ignorecase    # 대소문자 구분 없이 검색
:set noignorecase  # 대소문자 구분하여 검색
:set hlsearch      # 검색어 하이라이트
:set nohlsearch    # 검색어 하이라이트 해제
:set autoindent    # 자동 들여쓰기 설정
:set noautoindent  # 자동 들여쓰기 해제
:set tabstop=4     # 탭 폭을 4로 설정
:set shiftwidth=4  # 들여쓰기 시 4칸 이동
:set expandtab     # 탭을 공백으로 변환
:set noexpandtab   # 탭을 공백으로 변환하지 않음

# 기타 유용한 명령어
:!command          # 외부 셸 명령어 실행 (예: :!ls)
:r filename        # 파일 내용 삽입 (현재 커서 위치에)
:help command      # 특정 명령어에 대한 도움말 표시 (예: :help yy)
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.