본문 바로가기
Kali Linux

week-3 [과제 3]

by sseddi 2020. 5. 22.
728x90

[과제 3]

vi 편집기 조사하고 문서화 + 실습

 

vi 편집기란?

Visual editor의 약자로 리눅스나 유닉스에서 환경설정 파일 등을 수정해야 할 때 사용하는 편집기

리눅스에서 가장 많이 사용하는 텍스트 에디터이다.

 

vi 편집기는 4가지 모드가 있다.

 

1. 명령 모드 (command mode)

다양한 명령을 내리는 모드

 

2. 입력 모드 (insert mode)

키보드를 이용해 자유롭게 텍스트 입력

 

3. EX 모드 (ex mode)

명령어 사용 (저장, 나가기 등)

 

4. 비쥬얼 모드( visual mode)

 

 

시작하기

vi[파일명]

처음 실행시 명령 모드 상태가 된다.

다른 폴더에 존재하는 파일명 입력할 때는 경로도 함께 입력해야 한다.

기존에 hello.c 라는 파일이 없어 hello.c 파일을 새로 만들어준다.

 

종료하기

명령 모드로 먼저 전환한 후 이동 명령키 입력

esc 누르면 명령 모드로 전환

key 동작
:w 현재 변경사항 저장
:wq 현재 변경사항 저장 후 나가기
:q! 저장하지 않고 나가기
:q 나가기
:!bash 쉘 환경으로 전환
ZZ 현재 변경사항 저장 후 나가기

:w 눌렀을 때 현재 변경사항 저장
:wq 눌렀을 때 현재 변경사항 저장 후 나가기
:q! 눌렀을 때 저장하지 않고 나가기
:!bash 눌렀을 때 창으로 나가진다.
ZZ눌렀을 때 엔터도 치기 전에 바로 나가진다.

 

입력 모드 전환하기

key 동작
i 현재 커서의 위치로 입력 모드로 전환
I( i 대문자 )  현재 커서 줄의 맨 앞 위치로 입력 모드 전환
a 현재 커서의 바로 뒤 위치로 입력모드 전환
A 현재 커서 줄의 맨 뒤 위치로 입력 모드 전환

세미콜론에서 커서를 두고 i를 눌렀을 때
세미콜론에서 커서를 두고 I(대문자 i)를 눌렀을 때
세미콜론에서 커서를 두고 a를 눌렀을 때
세미콜론에서 커서를 두고 A를 눌렀을 때 a를 눌렀을 때와 같은 결과 값이지만 어디에서 눌러도 그 줄의 맨 끝으로 위치한다.

i,I,a,A모두 왼쪽 밑 모서리에 -- INSERT -- 표시가 나온 것을 보아 입력모드로 변경되었다는 것을 알 수 있다.

 

커서 이동하기

명령 모드로 먼저 전환한 후 이동 명령키 입력

esc 누르면 명령 모드로 전환

key 동작
h 왼쪽으로 1 space 이동
l( L 소문자 ) 오른쪽으로 1 space 이동
j 아래 줄로 이동
k 윗 줄로 이동
왼쪽 방향키 왼쪽으로 1 space 이동
오른쪽 방향키 오른쪽으로 1 space 이동
아래 방향키 아래 줄로 이동
위 방향키 윗 줄로 이동

아래 사진은 모두 세 번째 줄 p에 커서를 놓고 실습했다.

명령모드에서 h 입력(왼쪽으로 한 칸 이동)
명령모드에서 ㅣ(엘 소문자) 입력(오른쪽으로 한 칸 이동)
명령모드에서 j 입력 (아래 줄로 이동)
명령모드에서 k 입력 (윗 줄로 이동)

입력 되돌리기

u를 누르면 한 단계가 되돌아가고 반복해서 사용하면 그 전으로도 되돌아간다.

왼쪽 밑 모서리에 before 적혀있고 시간도 함께 나온다.

 

입력 다시 실행하기

ctrl+r

왼쪽 끝 모서리에 Already at newest change 라고 적혀있고, 두 번째 printf 문 맨 끝에 새미콜론이 사라진 것을 볼 수 있다. 가장 나중에 입력된 것이 되돌아간다는 것을 알 수 있다.

 

지우기

명령 모드 상태에서 커서를 지울 글자로 이동 후 x 키를 누른다.

key 동작
x 커서 위치 글자 삭제
[숫자]x 커서 위치 포함 숫자만큼 삭제
X 커서 앞 글자 삭제(ex. backspace)
dw 커서 위치로부터 다음 단어 첫 글자 전까지 지우기
[숫자]db 커서 위치로부터 숫자만큼 앞에 있는 단어 삭제
[숫자]dd 커서 위치로부터 숫자만큼 줄 삭제
D 커서 위치로부터 줄 끝까지 삭제

왼쪽> ;에 커서를 놓은 후 / 오른쪽> x눌렀을 때
[숫자]x는 뒤부터 사라지므로 왼쪽> 커서를 )에 놓은 후 / 오른쪽> 2x 눌렀을 때

 

X(대문자) 눌렀을 때 앞글자 사라짐
커서 m에 놓고 dw 눌렀을 때, 커서 위치로부터 다음 단어인 s 첫 글자 전까지 지워졌다.
커서 m에 놓고 2db 눌렀을 때, 커서 위치도 한 단어로 치고 뒷 단어인 seyeon 삭제
커서 m에 두고 2dd 눌렀을 때, 커서가 위치한 줄과 그 다음 줄이었던 } 사라진 것을 볼 수 있다.

 

커서 m에 두고 D 눌렀을 때, 커서 포함해서 그 줄의 끝까지 사라진 것을 볼 수 있다. 

복사하기

key 동작
[숫자]yw 커서 위치 포함 뒤에 있는 단어 숫자만큼 복사
[숫자]yb 커서 위치로부터 앞에 있는 단어 숫자만큼 복사
[숫자]yy 커서가 있는 줄 숫자만큼 복사

복사하기 실습은 모두 커서를 s에 두고 하였다.
2yw 후 p로 괄호 다음에 붙어넣기 한 것, 커서 위치 포함 단어 두 개 복사된 것 알 수 있다.
2yb 후 p로 괄호 다음에 붙어넣기 한 것, 커서 위치에서 앞에 위치한 단어 두 개 복사된 것 알 수 있다.

-> '과 m을 각각 한 단어로 인식한 것으로 보임

2yy 후 p로 괄호 다음에 붙어넣기 한 것, 커서 위치 포함 그 밑의 줄까지 두 줄이 복사된 것 알 수 있다.

붙여넣기

key 동작
p 커서 다음에 붙여넣기
P(대문자) 커서 이전에 붙여넣기

p는 앞에 복사하기와 함께 실습해 따로 이곳에 넣지 않겠다.

2yy 후 P로 괄호에 붙어넣기 한 것, 마지막 대괄호 안쪽에 붙여넣기가 된 것을 알 수 있다.

 

검색하기

명령 모드로 먼저 전환한 후 이동 명령키 입력

esc 누르면 명령 모드로 전환

key 동작
/[문자열] 앞에서부터 문자열 검색
?[문자열] 뒤에서부터 문자열 검색

/in눌렀을 때, 맨 앞 줄에 있는 include의 in이 검색되는 것을 볼 수 있다.
?in눌렀을 때 뒷 줄에 있는 print의 in이 검색되는 것을 볼 수 있다.

이외에 더 많은 명령어들이 있었는데 vi 편집기를 실제로 더 사용하면서 사용한 것들을 추가적으로 정리하면 좋을 것 같다.

 

 

참고)

https://blog.lael.be/post/7321

 

vi 에디터 사용법 (vim editor)

이 글에서는 거의 대부분의 리눅스 배포판에 포함되어 있는 vi 호환 에디터인 vim 에디터의 사용법에 대해 설명합니다. 당신이 최근 5년 이내에 배포된 리눅스를 설치하였다면 vim 에디터는 이미

blog.lael.be

https://withcoding.com/112

 

리눅스 vi 에디터 사용법 (vim 단축키 정리)

리눅스에서 가장 많이 사용하는 텍스트 에디터는 vi 에디터(정확하게 말하면 vim 에디터)입니다. 처음 배울 때는 어려워도 조금씩 알고나면 그만한 가치가 있는 프로그램이라 생각합니다. vi 에디

withcoding.com

 

728x90

'Kali Linux' 카테고리의 다른 글

week-3 [과제 1]  (0) 2020.05.22
week-2 [과제 2]  (0) 2020.05.18
week-2 [과제 3]  (0) 2020.05.18
week-2 [과제 1]  (0) 2020.05.18
week-2 [과제 4]  (0) 2020.05.17

댓글