본문 바로가기
[Public] 임베디드/Linux

[Linux] vi, vim 활용하기 #2 (명령어에 대해서 알아보기)

by 차출발 2011. 2. 9.
반응형

지난 시간에 이어 이번에는 간단한 명령에 대해서 알아보자

명령모드에는 표준모드, 입력모드, 명령라인모드가 있다고 했다.

 

 

먼저 기본적인 명령라인모드에 대해서 알아보자

명령모드에서는 : 을 설정하여 명령 모드로 넘어 갈 수 있다.

간단한 명령모드의 명령어는 다음과 같다

명 령

설 명

:w

저장

:w file.txt

File.txt 파일로 저장

:w>>file.txt

File.txt 파일에 덧붙여 저장

:q

Vi 종료

zz

저장 후 종료

:wq!

강제 저장 후 종료

:e file.txt

File.txt 파일을 불러옴

:e

현재 파일을 불러옴

 

 

다음으로는 입력모드 이다.

  1. 입력 명령어

명 령

설 명

A / a

커서 행의 맨 마지막부터 입력 /커서 위치의 다음 칸부터 입력

I / i

커서 행의 맨 앞에서부터 입력 / 커서 위치의 입력

O / o

커서의 다음 행에 입력 / 커서 이전의 행에 입력

s

커서 위치의 한 글자를 지우고 입력

cc

커서 위치의 한 행을 지우고 입력

 

  1. 이동 명령어

명 령

설 명

h

j

k

l

w

다음 단어의 첫 글자 이동

b

이전 단어의 첫 글자 이동

^

행 내의 첫 글자로 이동 (Home)

$

행 내의 마지막 글자로 이동 (End)

+

다음 행의 첫 글자로 이동

-

이전 행의 첫 글자로 이동

 

 

다음으로는 표준모드 이다.

  1. 편집 명령어

     

    1. 삭제

명 령

설 명

x, dl

커서 위치의 글자 삭제

X, dh

커서 바로 앞의 글자 삭제

dw

한 단어를 삭제

d0

커서의 위치부터 행의 처음까지 삭제

D, d$

커서 위치부터 행의 끝까지 삭제

dd

커서가 있는 행을 삭제

dj

커서가 있는 행과 그 다음 행을 삭제

dk

커서가 있는 행과 그 앞 행을 삭제

 

 

  1. 복사와 붙여 넣기

명 령

설 명

yw

현재 커서 위치의 한 단어를 복사

yy

현재 커서 위치의 한 행을 복사

P

붙여 넣기

 

  1. 잘라내기

    잘라내기를 이해하기 위해서는 vi 레지스터에 대해서 자세히 알고 있어야 한다.

    Vi 레지스터는 총 17개를 가지고 있다.

    만약 dd 명령으로 한 행을 지우면 한 지워짐과 동시에 그 내용이 레지스터 1번째에 들어간다.

    그리고 다시 dd 로 한 행을 지우면 1레지스터에 들어 있던 내용은 2에 옮겨가고 1레지스터에 새로운 내용이 들어간다.

    즉 한마디로 큐의 원리와 같이 작용됨을 알 수 있다.

    이 레지스터를 보다 더 자세히 확인 하기 위해서는 명령 모드 :reg 를 통하여 각 레지스터에 들어 있는 내용을 알 수 있다.

     

    이제 잘라 냈으면 붙여 낼 차례이다.

    이때는 p 명령으로 붙여 넣으면 된다.

     

  2. 블록 지정

    마우스사용에서는 블록지정을 통하여 쉽게 오른쪽 마우스를 누르고 복사 붙여 넣기를 했지만 여기선 어떻게 할 것인가?

    그래서 우리는 앞에서 배운 내용을 토대로 5개의 단어를 지우려면 5dw 이런 식으로 숫자를 사용했다.

    하지만 우리는 마우스 식으로 블록을 지정해서 간단하게 사용해보자

    이때는 v 키를 눌려주라

     

    블록지정이 된 후

    사용 가능한 키는

명 령

설 명

~

대소문자 전환

d

삭제

y

복사

c

치환

>

라인 앞에 탭 삽입

<

라인 앞에 탭 제거

:

선택된 영역에 대해서 ex명령

J

행을 합침

U

대문자로 만듦

u

소문자로 만듦

 

 

  1. 되돌리기와 되살리기

    자 이제 우리게 가장 유용하게 사용하는 되돌리기와 되살리기다.

    보통우리는 Ctrl + z 에 익숙할 것이다.

    하지만 vim 에서 되돌리기 기능은 u 명령을 사용한다 (원래 u의 명령은 되돌리기가 아닌 명령취소이다.)

    그리고 되살리기 기능은 Ctrl + r 키를 사용한다

     

     

  2. 문자열 탐색

    Vim 에서 특정한 문자열을 이제 찾아보자

    우리가 보통 사용하는 Ctrl + f 키라 생각하자

    그냥 단순히 한 문자열만 찾으려면 표준모드에서 /, ? 키를 누른 후 찾기 원하는 문자열을 입력하면 된다.

    /[찾고자 하는 문자열] (순방향)

    ?[찾고자 하는 문자열] (역방향)

     

     

  3. 문자열 치환

    우리가 문자열을 왜 찾았단 말인가 ?

    보통 바꾸기 위해서 많이 사용되지 않는가?

    그렇다 문자열을 치환 즉 바꿔보자

    이때는 : 명령을 사용한다

    :[범위]/[찾은 문자열]/[바꿀 문자열]/[행 범위]