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 불필요한 화면 정리후 다시 표시



참고:개발이하고싶어요