본문 바로가기
Coding/Linux

Linux - vi (1)

by ZaRi 2025. 9. 29.

 

[2022년 11월 15일 학습 기록]
제 예전 블로그에 있던 내용을 이전한 포스트입니다.

 

이제 명령어는 어느정도 끝났고, 리눅스에서 기본적으로 사용하는 문서 편집기인 vi 에디터에 대해 알아보겠다.

vi에디터는 gui환경이 아니라 우리가 지금 명령어를 쓰고 잇는 cli환경에서 사용한다.

 

vi 에디터는 직접 써서 익히는게 맞는 것같고 기능이 너무 많기에 꼭 필요하다고 생각하는 것만 이미지로 남기겠다.


vi 에디터

vi
 
빈 파일 열기
vi
대상(파일명)
해당 파일열기

 

vi 모드는 사용환경이 나누어져 있다.

명령 모드
기본 사용환경, 복사/붙여넣기/잘라내기, 삭제, 입력/실행 모드 전환가능
입력 모드
내용 추가/수정/삭제, 명령모드 전환
실행 모드
명령어, 찾기 등 그 외 대부분의 기능, 명령모드 전환

 

 

이제 오늘은 명령 모드와 입력모드에 대해 정리해보자!!

우선 그 전에 전에 inittab파일 많이 적어 놓은 걸 삭제했기 때문에 ㅠㅠ 다시 많이 복사해주자 ㅠㅠ


-명령 모드-

1.커서 이동

1) 글자 단위 커서 이동(방향키 대체키)

h
한 글자 왼쪽으로
j
한 글자 아래로
k
한 글자 위로
l
한 글자 오른쪽으로

 

겁나 헷갈린다

2) 단어 단위 커서 이동

스페이스바, 엔터를 기준
+특수문자를 별개의 단어로 인식
 
스페이스바와 엔터를 기준
w
다음 단어 첫 글자로
W
b
이전 단어 첫 글자로
B
e
단어의 마지막 글자로
E

 

3) 줄 내부 커서 이동

0
줄의 첫 글자로
$
줄의 마지막 글자로

 

4) 보이는 화면 내부 커서 이동

H
화면의 첫 줄로
M
화면의 가운데 줄로
L
화면의 마지막 줄로

 

5) 문서 내부 커서 이동

gg, [[
해당 파일의 첫 줄로
G, ]]
해당 파일의 마지막 줄로
:숫자 (실행모드)
원하는 숫자번째 줄로

 

누르면 되는 거고 딱히 사진으로 올릴만한 게 없지만. 그래도 좀 허전하니까.

2)만 좀 사진으로 설명해보자!!

현재 'targets' 맨 앞에 커서가 있는 상태로 소문자 w 를 눌러주면

특수문자도 별개의 단어로 인식하기에 t에 커서가 간다.

이제 소문자 b를 눌러서 다시 '로 커서를 옮기고

이번엔 대문자 W를 눌러보자!!

그러면 별개의 단어로 인식하지 않고 다음 단어 instead 앞에 커서가 오는 것을 확인 할 수 있다 ㅎㅎ.

 

 


2. 입력 모드

전환 키
소문자
대문자
i, I
커서 왼쪽으로 입력
줄 왼쪽으로 입력
a, A
커서 오른쪽으로 입력
줄 오른쪽으로 입력
o, O
커서 아래 빈줄 삽입 후 입력
커서 위 빈줄 삽입 후 입력
s, S
커서가 있는 글자 지우고 입력
커서가 있는 줄 지우고 입력

 

이것도 좀 어려워 보이는 것만 해보자!!

소문자 o랑 대문자 S를 써보겠다!

현재 커서가 이곳에 있다.

이제 소문자 o를 써서 편집해보자!!

아래에 빈줄이 생기고 커서가 아래로 이동했다.

그리고 나는 bitcoin을 입력했다.

(*참고: 입력모드 -> 명령모드 로 나가려면 'Esc' 누르면 됨!!)

이제 대문자 S를 써보자!!

대표사진 삭제

AI 활용 설정

사진 설명을 입력하세요.

보는 것과 같이 bitcoin이 사라지고 입력모드가 시작된다.

참고로

아래에 INSETT가 있으면 입력모드이다!!

아무것도 없으면 명령모드이다!!


3. 되돌리기, 다시 실행

리눅스 vi 에디터
윈도우
설명
u
Crtl + z
실행 취소(되돌리기)
Crtl + r
Crtl + y
다시 실행

 

윈도우에서 문서, 엑셀 작업할때 자수 사용하는 키이다

이것을 쓰면 우리가 실수를 범했을때 마치 시간을 되돌리는 듯한 마법을 볼 수 있다.

 

 

 

4. 삭제

: 윈도우처럼 다 삭제 후 다음 줄로 넘어가지 않음

x
"delete'키 처럼 오른쪽 글자 삭제 -> 오른쪽 다 삭제후 왼쪽 글자 삭제
X
"backspace'키 처럼 왼쪽 글자 삭제

 

 

5. 복사, 붙여넣기

설명
yy
커서가 있는 줄 복사(엔터 포함)
숫자 + yy
커서있는 줄 포함 아래 숫자번째 줄만큼 복사
ex) 33 + yy : 33을 입력후 yy
y + 커서이동
커서가 이동한 만큼 복사
ex) y + w : 이동한 단어만큼 복사 (y누른 상태로 w눌러야함
dd
커서가 있는 줄 잘라내기
숫자 + dd
커서있는 줄 포함 아래 숫자번째 줄만큼 잘라내기
d + 커서이동
커서가 이동한 만큼 잘라내기
p
커서 뒤로 붙여넣기
P
커서 앞으로 붙여 넣기

 

이것도 만져보고, 실험해보면 이해할 순 있지만 글만 보고는 이해하기 어려울 수도 있다.

 

y + 커서 이동

숫자 ++ dd

p

P

를 실습해보자!!

커서를 이곳에 두고 저 target라는 단어를 복사해보자!!

y + w (y누른 상태로 w

를 누르면 커서는 그 자리에 있을것이다.

그러면 커서 뒤쪽에 붙여보자!!

p

보는 것과 같이 커서 뒤쪽으로 복사된 것을 확인할 수 있다.

그럼이제 여러줄을 잘라보자

한 네줄??

4 + dd

그러면 아래에 4 fewer lines가 생기고

성공적으로 4줄을 잘라낸것을 확인 할 수 있다. ㅎㅎ

이제 P를 이용해 두번만 앞으로 붙여넣기 해보자!!

P

P

그러면 두번 잘 복사된 것을 확인 할 수 있다 ㅎㅎ


언어를 배울때나 이런 걸 할때 느끼는 건데.

진짜 외우는 것도 중요하지만 많이 써서 익숙해지는 게 중요한 것 같다.

와 진짜 많네 ㄷㄷ

 

 

댓글