본문으로 바로가기

VI명령어

category Unix 2016. 2. 24. 21:58
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

VI명령어

고객지원센터에서 장애지원 및 설치를 담당했을 때
주로 Unix계열의 서버(HP, Solaris, Linux, AIX)에서 업무를 진행하였다.

Unix서버 개발자 또는 Unix C개발자가 아니면 VI 명령어를 많이 모르는 것 같았다.
vi명령어만 잘 사용한다면 문서 편집은 이것보다 쉬운게 없다고 하지만 사실 나는 그정도 레벨은 아니고..
회사다니면서 정리했던 vi명령어를 공유한다 ~!

최소 커서 이동, 복사, 지우기, 붙여넣기, 탐색은 할 줄 알아야 기초라고 생각된다.
난 이 기초만알고도 왠만한 작업은 했었다.. 비효율 적이지만..ㅠㅠ


구분

명령어(줄)

설명

입력모드

i(insert)

커서 기준으로 앞에 입력


I

커서 행 맨 처음에 입력


a(append)

커서 기준으로 다음칸에 입력


A

커서 행 맨 마지막에 입력


o(open line)

커서 다음행 입력


O

커서 이전행 입력


s

커서위치글자 지우고 입력


S

커서 행 한줄 지우고 입력


명령모드

x

커서 뒤 글자 삭제


X

커서 앞 글자 삭제


dd

커서 행 삭제


숫자dd

숫자만큼 행 삭제


yy

커서 행 복사


숫자yy

숫자만큼 복사


p(소문자)

현재 커서 다음행에 붙여넣기


P(대문자)

현재 커서 이전행에 붙여 넣기


u

이전상태로 돌려놓기


U

바로 이전 상태까지만상태 돌려놓기


gg

처음 행으로 이동


G

마지막 행으로 이동


^    $

현재행의 처음 & 끝으로 이동


Ctrl+F

한 화면 아래로 스크롤


Ctrl+B

한 화면 위로 스크롤


Ctrl+E

한 행 아래로 이동


Ctrl+Y

한 행 위로 이동


W

다음 단어로 이동(스페이스바 기준)


+

다음행 첫글자로 이동


-

위 행의 맨 첫글자로 이동


~

소문자를 대문자로, 대문자를 소문자로 변경


v방향키

블록설정


J

현재줄, 다음줄을 연결(Enter가 없다)


Ctrl+G

파일명&총 라인수&현재줄 정보 


{   }

맨 첫줄 & 마지막줄로 이동


K


H

왼쪽


J

아래


L

오른쪽


n(소문자)

검색어 다음꺼 찾기


N(대문자)

검색어 이전꺼 찾기


실행모드(:)

:! ls -al

vi 종료하지 않고 ls –al 명령어 실행


:q!

수정 사항 적용 안하고 종료


:w

저장하기


:wq

저장 후 종료하기


:e test

바로 test 파일 불러오기


:set number

행 앞에 숫자 붙이기


:set nonumber

행 앞에 숫자 지우기


:숫자

숫자 행으로 이동


:set ignorecase(ic)

대소문자 구분 없이 검색


:set noignorecase

대소문자 구분하고 검색


:set incsearch

한글자씩 입력할 때마다 그때의 검색 결과를 바로 보여준다.


:set noincsearch

한글자씩 입력할 때마다 결과를 바로 보여주지 않는다.


:%s/old/new/g

old를 new로 치환한다.


:%s/aaa//g

aaa를 삭제한다.


:1,100s/aaa/bbb/g

1~100행까지 aaa를 bbb로 치환한다.


:-3,+4s/aaa/bbb/g

현재 커서 위로 3행, 아래로 4행까지 aaa를 bbb로 치환


:s/aaa/bbb

현재 줄만 aaa를 bbb로 치환한다.


:%s/aaa/bbb/gc

치환 전에 확인 메시지 출력 후 치환한다.


:1,2 co 3

1-2행을 3행 다음으로 복사한다.


:4,5 m 6

4-5행을 6행 다음으로 이동한다.


/검색어

검색할 때 사용한다. (방향이 아래쪽)


?검색어

검색할 때 사용한다. (방향이 위쪽)


/.

전부를 의미


/[a-z]

소문자 한글자로 된 것을 검색한다.


/[a-zA-Z]

대소문자 한글자로 된 것을 검색한다.


/a[a-z]123

a로 시작하고 두번째글자가 소문자이고 123으로 끝나는 것을 검색한다.


/[^a-z]

a-z 제외하고 검색한다.


M

커서를 화면 중간 라인으로 이동


/a*

a가 0번이상 반복


/a$

a로 끝나는 것을 검색한다. 


/DEBUG$

DEBUG로 끝나는 것을 검색한다.


'Unix' 카테고리의 다른 글

Find 명령어 사용법  (0) 2016.02.28