System/OS
2003.04.23 10:26
[linux] 간단한 vi편집기 사용 명령
조회 수 13520 댓글 0
환경:
:set nu # 라인줄 보기
:set nonu # 라인줄 취소
:wq(:ZZ) # 저장하고 빠져 나오기
:q! # 그냥 빠져 나오기
:syntax off # 글자 안나올 때 syntax hilighting 기능을 꺼버린다
이동: h, j, k, l
^(0) # 그 줄의 처음으로
$ # 그 줄의 끝으로
G([[) # 그 파일의 끝으로 이동
1G(]]) # 그 파일의 첫줄로 이동
w(W) # 우측으로 한단어(빈칸까지) 이동하고 단어의 앞에 위치 word
b(B) # 좌측으로 한단어(빈칸까지) 이동하고 단어의 앞에 위치 back
e(E) # 우측으로 한단어(빈칸까지) 이동하고 단어의 끝에 위치 end
H # 한 화면의 처음으로 이동 high
M # 한 화면의 중간으로 이동 middle
L # 한 화면의 끝으로 이동 low
ctrl+g # 정보 보기(파일이름, 커서의 줄넘버, 총 줄)
ctrl+f # 아래로 한화면 이동 forward
ctrl+b # 위로 한화면 이동 backward
ctrl+d # 아래로 반화면 이동 down
ctrl+u # 위로 반화면 이동 up
6j # 아래로 6칸 이동
6k # 위로 6칸 이동
입력모드:
a(A) # 현재 커서의 문자뒤에서(그줄뒤에서) 입력모드 append
i(I) # 현재 커서의 문자앞에서(그줄앞에서) 입력모드 insert
o(O) # 현재 커서의 다음줄에(위줄에) 빈칸을 새로 만들고 입력모드
바꾸기:
x # 우측으로 한문자 지우고 명령모드
X # 좌측으로 한문자 지우고 명령모드
s # 한문자를 지우고 입력모드
r # 한문자만 바꿔치기
R # 한문자씩 계속 진행하면서 바꿔치기 한다
C # 현재커서 위치에서 줄의 끝까지 지우고 입력모드
cw # 우측으로 한단어 지우고 입력모드 change word
cb # 좌측으로 한단어 지우고 입력모드 change back
J # 현재 줄을 다음줄과 한줄로 연결
복사, 붙여넣기(p), 잘라내기:
dG # 현재 커서가 있는 줄부터 끝줄까지 잘라내기
d1G # 현재 커서가 있는 줄부터 처음줄까지 잘라내기
yw # 우측으로 한단어 복사
yb # 좌측으로 한단어 복사하고 단어 앞으로 이동
y0 # 좌측으로 그줄 처음까지 복사하고 그줄 앞으로 이동
y$ # 우측으로 그줄 끝까지 복사
dd(yy) # 한줄 잘라내기(복사)
3dd(3yy) # 세줄 잘라내기(복사)
6x # 커서가 있는 문자부터 6개의 문자를 지우라
6s # 커서가 있는 위치의 문자부터 6개의 문자를 지운 후 입력모드로 전환
6r # 6개의 문자 각각을 모두 다음에 입력하는 하나의 문자로 바꾼다
6r0 # 현재 커서가 있는 위치부터 7개의 문자를 '0' 즉 '0000000'으로 바꾼다
찾기:
?'findword' # 특정단어 찾기
/'findword' # 특정단어 찾기
/'findword' # 특정단어를 문자로 인식해서 찾기 예 ., .., $, ^ 등
n # 뒤로 찾기
N # 앞으로 찾기
:1,$s/^M//g # ^M(ctrl+v+M) 문자 일괄 지우기
:%s/oldword/newword/g # 처음부터 끝까지에서 특정단어를 새단어로 바꾼다
버퍼를 이용한 복사, 붙여넣기, 잘라내기:
"a2yy # 현재 커서가 있는 줄을 포함해서 2줄을 버퍼(") a에 넣는다
"by$ # 현재 커서가 있는 위치부터 줄의 끝까지의 내용을 버퍼(") b에 넣는다
ap # a에 저장된 2줄의 내용을 현재 커서가 있는 줄 다음에 붙여 넣는다
bp # 버퍼 b에 저장된 내용을 현재 커서가 있는 문자의 뒤에 붙여 넣는다
편집모드 고급활용:
:!'command' # 편집모드 상태에서 명령어 실행
:sh # 편집모드에서 잠시 쉘로 나가 작업하고 $ exit, ctrl+d로 다시 원래 편집모드로 돌아옴
:e 'newfile' # 편집모드에서 새파일을 편집
:e 'oldfile' # 편집모드에서 이전파일을 편집
:e# # 이전 편집파일 불러오기
:e!(q!) # 수정 내용 취소
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
81 | Develop | [android] 개발 환경 세팅 따라하기 ㅋㅋ | hooni | 2013.04.23 | 40451 |
80 | Develop | [android] 간단한 SQLIite 예제 | hooni | 2017.06.14 | 1441 |
79 | Develop | [android] 가속도 센서를 이용한 흔듦(Shake) 감지 | hooni | 2014.11.04 | 1994 |
78 | Develop | [android] [번역] 안드로이드 Android Cloud to Device Messaging(C2DM) | hooni | 2013.04.23 | 20471 |
77 | PPT | [android] XML파서(XMLParser)의 종류와 성능 비교에 대한 발표 자료 | hooni | 2013.04.23 | 75698 |
76 | Develop | [android] SurfaceView를 이용한 애니메이션 ㅎㅎ | hooni | 2013.04.23 | 57745 |
75 | Develop | [android] SQLiteOpenHelper를 이용한 DBManager | hooni | 2017.06.14 | 2160 |
74 | Develop | [android] N-Puzzle 게임 | hooni | 2015.07.09 | 947 |
73 | Develop | [android] ListView+ArrayAdapter 테스트 | hooni | 2013.04.23 | 43940 |
72 | Develop | [android] keytool을 사용하여 키스토어 생성 | hooni | 2013.04.23 | 69570 |
71 | Develop | [android] How can I place app icon on launcher home screen? | hooni | 2016.11.15 | 1399 |
70 | Develop | [android] GCM 사용하기 1 (GCM 서비스 신청하기) | hooni | 2013.07.06 | 51417 |