vi 편집기
vi(브이아이, /ˈviːˈaɪ/)는 Emacs와 함께 유닉스 환경에서 가장 많이 쓰이는 문서 편집기이다. 1976년 빌 조이가 초기 BSD 릴리즈에 포함될 편집기로 만들었다. vi라는 이름은 한 줄씩 편집하는 줄단위 편집기가 아니라 한 화면을 편집하는 비주얼 에디터(visual editor)라는 뜻에서 유래했다. 간결하면서도, 강력한 기능으로 열광적인 사용자가 많다.
현재는 오리지널 vi를 사용하는 경우는 거의 없고, 일반적으로 기능을 모방하여 만들어진 클론을 사용하고 있다. 이런 클론 중 많이 쓰이는 것은 기능이 다양한 것을 장점으로 내세우며, 리눅스 배포판에 포함되는 Vim, 그리고, BSD 라이선스로 제공되며 원본 vi의 동작과 호환성으로 정평이 나 있는 nvi, 독자적인 팬층을 확보한 elvis등이 있다.
wiki:vi
vi 실행하기
명령어 |
동작 |
vi file |
file을 연다 |
vi file1 file2 |
file1과 file2를 차례로 연다 |
view file |
file을 읽기모드로 연다 |
vi -R file |
file을 읽기모드로 연다 |
vi +n file |
file을 열어 n행에 위치한다 |
vi -r file |
손상된 파일 회복 |
입력모드 전환 명령어
명령어 |
동작 |
i |
커서있는데서 입력모드 전환 |
I |
커서 왼쪽, 행의 처음에 문자 삽입 |
a |
커서 있는 줄 끝에서 입력모드 전환 |
A |
커서 오른쪽, 행의 끝에 문자 삽입 |
o |
커서 있는 줄 아래에 빈 줄 삽입 |
O |
커서 있는 줄 위에 빈 줄 삽입 |
R |
덮어쓰기 모드로 전환 |
커서의 이동
명령어 |
동작 |
^, 0 |
줄의 처음으로 이동 |
$ |
줄의 끝으로 이동 |
H |
화면 맨 위로 이동 |
M |
화면의 중간으로 이동 |
L |
화면 맨 아래로 이동 |
w |
다음 단어 끝으러 커서 이동 |
e |
다음 단어 앞으로 커서 이동 |
shift + ↑ |
한페이지 앞으로 이동 |
shift + ↓ |
한페이지 뒤로 이동 |
3G |
현재 커서 위치한 행에서 3번째 행으로 이동 |
Ctrl + i |
한 화면 위로 이동 |
Ctrl + b |
한 화면 아래로 이동 |
Ctrl + d |
반 화면 위로 이동 |
Ctrl + u |
반 화면 아래로 이동 |
Ctrl + e |
한 줄씩 위로 이동 |
Ctrl + y |
한 줄씩 아래로 이동 |
삭제
명령어 |
동작 |
x |
한 문자 삭제 |
dd |
한 줄 삭제 |
5dd |
커서가 있는 라인부터 5 라인 삭제 |
D |
한 줄 내에서 커서있는 뒤 모두 삭제 |
u |
바로 전에 수행한 명령을 취소 |
:5,10 o |
5~10번째 행 삭제 |
복사와 붙여넣기
명령어 |
동작 |
yy |
현재 줄을 버퍼로 복사 |
p |
버퍼에 있는 내용을 커서 뒤에 삽입 |
P |
버퍼에 있는 내용을 커서 앞에 삽입 |
d |
현재 커서가 위치에 있는 단어 복사 |
3yy |
현재 행을 기준으로 3번째 행까지 n행 복사 |
문자열 찾기
명령어 |
동작 |
/name |
name 문자열 찾기 |
n |
다음 name 으로 이동 |
N |
n과 같으며 역방향으로 이동 |
문자열 대체
명령어 |
동작 |
:s/str/rep |
현재 행의 str을 rep로 대체 |
:%s/str/rep/g |
파일 전체의 str을 rep로 전부 대체 |
파일 저장 및 불러오기
명령어 |
동작 |
:w |
지정된 파일에 저장 |
:wq |
지정된 파일에 저장하고 vi를 종료 |
:w php.ini |
php.ini 파일에 저장 |
:q |
저장하지 않고 종료 |
:q! |
저장하지 않고 강제 종료 |
:wq php.ini |
php.ini 파일에 저장하고 vi를 종료 |
:r php.ini |
php.ini의 내용을 현재 커서가 있는데로 불러온다 |
기타
명령어 |
동작 |
:set nu |
행 번호 보여주기 |
:set nonu |
행번호 보여주기 취소 |
. |
바로 전에 실행한 명령어 재실행 |
Ctrl + I |
불필요한 화면 정리후 다시 표시 |
참고:개발이하고싶어요