티스토리 뷰
우리가 리눅스 환경에서 무언가 설정 파일이라도 수정을 할 경우에는 거의 vi를 사용합니다.
저는 노멀하게만 사용해서 지금까지 vi만을 사용하였는데 vim의 사용까지 알아보려고 합니다.
참고로 vi editor는 vi(sual) editor의 약자입니다.
에디터의 모드
- 명령 모드 : 입력 기능 이외의 특수한 동작을 할 수 있는 기능. 복사, 붙여넣기, 되돌리기등
- 입력 모드 : 키보드를 통해 글자를 입력할 수 있는 기능
- EX 모드 : EX 명령어 (저장, 나가기) 등을 사용할 수 있음.
- 비쥬얼 모드 : 마우스와 같은 기능이라고 합니다.
아래에는 약간의 명령, 입력, EX 모드를 적어드립니다. 비쥬얼은 다른곳에서 찾아보시는게 좋아용
명령모드의 사용법입니다.
ESC키를 두번 누르면 무조건 명령 모드가 되게 됩니다. 입력 모드가 아니더라도 그냥 두번 눌러주세요.
* 종료하기
Key | 동작 |
:w | 현재 변경사항 저장 |
:wq | 현재 변경사항 저장 후 나가기 |
:q! | 저장하지 않고 나가기 (강제로 나가기) |
:q | 나가기 (변경 사항이 있으면 종료되지 않고 오류 발생) |
:!bash | 편집 상태를 그대로 두고 bash 쉘 실행. 재진입을 위해서는 exit 후 엔터 |
ZZ | 현재 변경사항 저장 후 나가기 |
* 커서 이동하기
Key | 동작 |
h or ← | 왼쪽으로 이동 |
l or → | 오른쪽으로 이동 |
j or ↓ | 아래쪽으로 이동 |
k or ↑ | 위쪽으로 이동 |
* 입력 모드로 전환
Key | 동작 |
i | 현재 커서 위치에서 입력 모드로 변경 |
I | 현재 커서의 맨 앞에서 입력 모드로 변경 |
a | 현재 커서의 바로 뒤 위치에서 입력 모드로 변경 |
A | 현재 커서의 맨 뒤에서 입력 모드로 변경 |
* 입력 되돌리기
Key | 동작 |
u | 한 단계 이전으로 돌리기 |
* 글자 지우기
Key | 동작 |
x | 커서 위치 글자 삭제 |
3x | 커서 위치에서 3글자 삭제 |
X | 커서 앞 글자 삭제 (backspace) |
* 줄 지우기
Key | 동작 |
dd | 커서 위치의 줄 삭제 |
2dd | 커서 위치를 기준으로 2줄 삭제 |
D | 커서 위치부터 아래쪽 모두 삭제 |
* 줄 복사
Key | 동작 |
yy | 커서 위치의 줄을 임시 저장 |
2yy | 커서 위치의 2줄을 임시 저장 |
p | 임시 저장된 내용을 커서 다음 줄에 삽입 |
P | 임시 저장된 내용을 커서 이전 줄에 삽입 |
* 빈 줄 추가
Key | 동작 |
o | 커서 다음줄에 빈줄 추가 + 입력 모드 전환 |
O | 커서 이전줄에 빈줄 추가 + 입력 모드 전환 |
* 커서 이동
Key | 동작 |
w | 한 단어 앞으로 이동 |
b | 한 단어 뒤로 이동 |
^ or 0 | 줄 맨 앞으로 이동 |
$ | 줄 맨 뒤로 이동 |
1G | 파일 첫번째 줄로 이동 |
G | 파일의 마지막 줄로 이동 |
* 파일 내 검색하기
Key | 동작 |
/test | 파일에서 test를 찾아서 이동 |
n | 위에서 검색된 상태에서 다음 일치 항목으로 이동 |
N | 위에서 검색된 상태에서 이전 일치 항목으로 이동 |
* 파일 내 문자 치환
:%s/hello/test/ig
설명을 하자면 hello를 test로 변경하는것인데 ig는 옵션
i : 대소문자 구분안하고 없을 경우 대소문자 일치 한 것만 변경
g : 줄 내 모두 변경. 없을 경우 라인에서 첫번째 일치 항목만 변경
'Tool' 카테고리의 다른 글
IntelliJ. How to debug (0) | 2020.08.21 |
---|---|
Tistory. 코드 복사시에 한줄로 되어 버리는 문제. 저작권 표시를 끄자. (1) | 2020.01.20 |
xcode11 업데이트하다가 암이 생길뻔함... xcode installing components An unknown error occurred. See the install log for more details. (2) | 2019.11.20 |
xcode. Provisioning Profile 삭제하기 (0) | 2019.07.10 |
Atom. 단축키 정리 (0) | 2019.04.09 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- cocoapods
- git
- CentOS
- php
- Xcode
- ios
- Linux
- rxswift
- docker
- Gradle
- go
- Kotlin
- Java
- github
- android
- Windows
- golang
- MySQL
- intellij
- war
- ubuntu
- Codable
- windows10
- tomcat
- nodejs
- centos8
- Python
- enum
- Spring
- SWIFT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함