본문 바로가기
OS/Linux

리눅스 vi 명령어 정리

by 신군. 2017. 2. 26.
반응형


h 왼쪽

j 아래

k 위

l 오른쪽

H,J,K,L(대문자): 끝까지 이동


w:

단어의 처음

특수기호 인식

왼->오

공백인식


b:

단어의처음

특수기호 인식

오->왼

공백인식


e:

단어의 끝

특수기호 인식

왼->오

공백인식


W,B,E(대문자): 특수기호 인식X


줄의 맨 처음(home) : 0 또는 ^

줄의 맨 끝(end) : $


문서의 맨 처음: gg 또는 [[

문서의 맨 끝: G 또는 ]]


화면의 처음으로 이동: H

화면의 중간으로 이동: M

화면의 끝으로 이동: L



책갈피 설정: m + (a~z 또는 A~Z)


책갈피 설정한곳으로 이동: ` + (a~z 또는 A~Z)


마지막 위치로 이동: ``


* 책갈피 기능은 1회성 (문서 닫으면 전부 사라짐)






<edit mode>



i : 현재 위치에서 입력

a : 한칸 오른쪽으로 이동해서 입력 (행 가장 끝에 내용 추가할때 사용)

I : 현재 행의 가장 왼쪽으로 이동해서 입력

A : 현재 행의 가장 오른쪽으로 이동해서 입력

o : 현재 행 아래에 빈 행을 추가해서 입력

O : 현재 행 위에 빈 행을 추가해서 입력

s : 현재 문자를 지우고 입력

S : 현재 행 내용을 지우고 입력


x : 현재 문자를 지움

X : 앞 문자를 지움

r : 현재 문자 하나만 수정

R : 수정모드 (단어가 밀리지 않음)

dd : 현재 행을 삭제

(숫자)+dd : (숫자)행 만큼 삭제


yy : 행 복사

(숫자) + yy : (숫자)행 만큼 복사

p : 현재 행 아래에 붙여넣기

P : 현재 행 위에 붙여넣기



** 조합 예: 

d$ : 현재 행에서 커서 뒷부분 지움

(알파벳 두개입력하는것 응용)




되돌리기(ctrl+z) : u

ㄴ 반대: crtl + r


v + 이동 : 드래그







<command line mode>


/(내용) : 검색

n: 다음으로

N: 이전으로



?(내용) : 검색

n: 이전으로

N: 다음으로



:set nu : 행번호 (= se nu)

:set nonu : 행번호X


:[범위]s/[기존문자]/[치환할문자]

:5s/passwd/samadal -> 5번째 행의 passwd를 samadal로 치환

:20,23s/PASS/madal -> 20~23행의 PASS를 madal로 치환

:%s/MAX/dalma -> 문서 전체의 MAX를 dalma로 치환

:56s/i/a/g -> g: 행에 중복문자 치환


:!(명령어) : 외부명령어 실행


:.!(명령어) : 외부명령어 실행해 문서 내에 출력

(내용이 없는 행에 커서를 두고 쓰기!)


crtl+(w,n) : 창 나누기

ctrl + ww : 창 바꾸기

:f : 문서 정보


:e [경로] : 문서 열기

:enew : 새 문서 열기

:save [이름] : [이름]으로 저장

:w : 저장



:[숫자]r [파일] => 편집중인 문서 [숫자]라인 다음줄부터 [파일]내용 추가

:[숫자]r! [명령어] => 편집중인 문서 [숫자]라인 다음줄부터 [명령어] 결과값 추가


:[숫자] => 커서를 [숫자]행으로 이동











<예제문제>


/home/samadal/안에 있는 모든 내용 삭제 후

/home/samadal/a/b/

/home/test/c/d/

디렉터리를 생성하세요.

단, 명령어는 한줄로 실행하고 파일(/backup/madal)을 연상태에서 하세요



=>

:!mkdir -p ./a/b/ /home/test/c/d/ | rm ./*



반응형