System/OS
2003.04.23 10:26
[linux] 간단한 vi편집기 사용 명령
조회 수 13541 댓글 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!) # 수정 내용 취소
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
1113 | System/OS | How to Setup an Email Server on CentOS 7 | hooni | 2018.04.05 | 3043 |
1112 | Develop | How to Test SMTP AUTH using Telnet | hooni | 2018.04.05 | 1597 |
1111 | Develop |
[python] DJI Tello 드론 코딩 (프로그래밍)
58 ![]() |
hooni | 2018.03.04 | 28812 |
1110 | System/OS |
[mac] 맥에서 기본 실행 앱 변경하기
![]() |
hooni | 2018.03.02 | 1977 |
1109 | System/OS | 콘솔에서 패스워드 걸린 zip 압축하는 명령 | hooni | 2018.03.02 | 1145 |
1108 | Develop | What is difference between Get, Post, Put and Delete? | hooni | 2018.02.28 | 1578 |
1107 | Develop | [php] Laravel Route에서 PC/Mobile 분기 | hooni | 2018.01.24 | 2688 |
1106 | Develop | Laravel 5 Failed opening required bootstrap/../vendor/autoload.php | hooni | 2018.01.24 | 1844 |
1105 | Develop |
[php][laravel] 라라벨 개발환경 세팅하기 (Mac, Window)
2 ![]() |
hooni | 2017.12.15 | 2789 |
1104 | Develop |
[php][laravel] 라라벨 프로젝트 생성 및 구조
![]() |
hooni | 2017.12.15 | 2562 |
1103 | Develop | [php][laravel] 초간단 MacOS에서 Laravel 개발 환경 구축 | hooni | 2017.12.15 | 2131 |
1102 | Database |
[mysql] MacOS에 MySQL 설치, 설정, 암호 재설정
![]() |
hooni | 2017.12.15 | 1632 |