리눅스 명령어 vi, vim

김규연·2023년 7월 19일
0

linux

목록 보기
8/11

⚙️ 리눅스 명령 구조

형식 -> 명령 [옵션][인자]

  • 명령 : 사용자가 컴퓨터 운영체제나 응용프로그램에게 어떤 서비스를 수행하도록 요구하는 것
  • 옵션 : 옵션을 사용하여 명령의 세부 기능을 선택할 수 있다. 리눅스의 기능을 풍부하게 하는 중요한 특징. "-"기호로 시작하며 영문 소문자나 대문자로 구성. 명령에 따라 어떤 옵션이 있고 그 기능이 무엇인지는 해당 명령의 사용법을 참조
  • 인자 : 명령으로 전달되는 값으로 주로 파일명이나 디렉터리명

🧐 편집기능 명령어 vi, vim

  • vi [파일명] : 파일 열기, 작성
  • vi +[행번호][파일명] : 파일을 열고, 입력한 행으로 커서 이동
  • vi +/"문자열" [파일명] : "문자열"의 처음발생 단어부터 열기
  • vi -r [파일명] : 손상된 파일 회복
  • view [파일명] : 읽기 전용으로 열기
    편집기는 명령도드, 입력모드, 마지막 행 모드로 총 3가지 모드로 구성되어 있다. 흔히 사람들이 말하는 vi 명령어는 이 세가지 모드를 자유자재로 왔다갔다 하면서 코드나 글을 작성하는 것을 말한다.

📌 명령어 vi, vim의 세가지 모드

  • 명령모드 : 명령어로 vi, vim를 시작하게 되면 들어가게 된다. 여기서는 방향키를 이용하여 커서를 이동할 수 있으며, 다양한 명령어로 문단 삭제, 붙여넣기 등의 동작을 할 수 있다.
  • 입력모드 : 명령모드에서 i 나 a 명령을 통해서 입력모드로 넘어갈 수 있다. 입력모드로 가게되면, 자유롭게 코드나 글을 작성할 수 있다. 명령모드로 다시 돌아오려면 esc 룰 누르면 된다.
  • 마지막 행 모드 : 마지막 행 모드는 명령모드에서 : (콜론)을 입력하면 화면 맨 밑단에 :____ 하며 입력할 수 있는 공간이 나온다. 여기서 현재까지 내가 작성한 내용을 저장하고 vi, vim 종료(wq)할지, 그냥 종료(q, q!)할지 등을 입력할 수 있다.

📌 vi, vim 편집기 명령어 정리

  1. 커서 이동
vi 명령어동작
h왼쪽으로 커서 이동
j아래로 커서 이동
k위로 커서 이동
l오른쪽으로 커서 이동
w오른쪽 한 단어의 끝부분으로 커서 이동
e오른쪽 한 단어의 앞부분으로 커서 이동
b왼쪽 한 단어의 앞부분으로 커서 이동
Enter한 행 아랠로 커서 이동
Backspace한 문자 왼쪽으로 커서 이동
SpaceBar한 문자 오른쪽으로 커서 이동
^행의 맨 왼쪽으로 커서 이동
$행ㅇ의 맹 오른족으로 커서 이동
H화면의 맨 위로 이동
M화면의 중간으로 이동
L화면의 맨 아래로 이동
숫자G숫자만큰 지정한 줄로 커서 이동
Ctrl + i한 화면 위로 이동
Ctrl + b한 화면 아래로 이동
Ctrl + d반 화면 위로 이동
Ctrl + u반 화면 아래로 이동
Ctrl + e한 줄씩 위로 이동
Ctrl + y한 줄씩 아래로 이동
  1. 문자, 행, 삽입 명령어
vi 명령어동작
a커서 오른쪽에 문자 삽입
A커서 오른쪽, 행의 끝에 문자 삽입
i커서 왼쪽에 문자 삽입
l커서 왼쪽, 행의 처음에 문자 삽입
o커서 아래에 행 삽입
O커서 위에 행 삽입
Esc종료
  1. 텍스트 변경 명령어
vi 명령어동작
cw단어 변경
cc행 변경
C커서 오른쪽의 행 변경
s커서가 위치한 문자열 대체
S커서가 위치한 라인의 문자열 대체
r커서 위치 문자를 다른 문자로 대체
r-Enter행 분리
J현재 행과 아래 행 결합
xp커서 위치 문자와 오른쪽 문자 교환
~문자형(대,소문자) 변경
u이전 명령 취소
U행 변경 사항 취소, 이전의 최종 행 취소
.이전 최종 명령 반복
  1. 텍스트 삭제 명령어
vi 명령어동작
x커서가 있는 문자 삭제
nx커서가 있는 위치부터 n개의 문자를 삭제
dw현재 커서에 있는 한 단어 삭제
dd커서가 있는 라인 삭제
ndd커서가 있는 라인부터 n개의 하인 삭제
db커서의 위치에서 거꾸로 한 단어 삭제
D커서 오른족 행 삭제
:5,10d5~10번째 행 삭제
  1. 복사 및 이동 명령어|
vi 명령어동작
yy커서가 위치한 줄 복사
Y행 yank 또는 복사
yh커서의 왼쪽 문자 복사
yl커서에 위치한 문자 복사
yi커서가 위치한 줄고 그 아랫줄 복사
yk커서가 위치한 줄과 그 윗줄 복사
pyank 된거나 삭제된 행 현재 행 위로 삽입
Pyank 되거나 삭제된 행 현재 행 아래에 삽입
:1,2 co 31~2행을 3행 다음으로 복사
:4,5 m 64~5행을 6행 위로 이동
  • yank : 잡아당기다
  1. 행 번호 설정 명령어
vi 명령어동작
:set nu 또는 :set numbe에디터의 각 행의 좌측에 행 번호 표시
:set nonu에디터의 각 행의 좌측 행 번호 숨기기
  1. 행 찾기 명령어
vi 명령어동작
G파일의 마지막 행으로 가기
21G파일의 21번째 행으로 가기
Ctrl + G현재 File name과 커서의 라인 정보
  1. 탐색 및 대체 명령어
vi 명령어동작
/문자열오른쪽 아래 방향으로 문자열 검색
?문자열왼쪽 위 방향으로 문자열 검색
n문자열의 다음으로 계속 검색
N문자열의 이전으로 계속 검색
:g/search-string/s각 발생 탐색 후 확인하고 대체
:s/string/rep현재 행의 str을 rep로 대체
:1,.s/string/rep/1부터 현재 행의 str을 rep로 대체
:%s/string/rep/g파일 전테 str을 rep로 전부대체
:.$/aaa/bbb커서의 위치로부터 파일의 끝가지 있는 모든 aaa를 bbb로 대체
  1. 화면 정리 명렁어
vi 명령어동작
Ctrl + l불필요한 화면 정리 후 다시 표시
  1. 파일 명령어
vi 명령어동작
:r 파일명커서 다음에 파일 삽입
:행번호 r 파일명입력한 파일을 입력한 행번호 다음에 삽입
  1. 보관 및 종료 명령어
vi 명령어동작
:w변경사항 저장
:w 파일명변경사항 입력한 파일명으로 저장
:wq변경사항 보관후 vi 종료
ZZ변경사항 보관 후 vi 종료. 임시 버퍼의 내용을 vi로 호출할 때 사용되었던 파일에 기록한 후 vi를 빠져나옴
:q!변경사항 보관하지 않고 종료
q수정한 파일을 저장하지 않고 vi 종료
e!수정한 것을 무시하고 다시 편집상태로

참고한 사이트
참고한 사이트

profile
오늘도 뚠뚠 개미 개발자

1개의 댓글

comment-user-thumbnail
2023년 7월 19일

이 글은 저에게 많은 도움이 되었습니다.

답글 달기