유닉스 최고의 에디터 vi ~!
vi 에디터는 크게 명령 모드와 편집 모드로 나눌 수 있고, 명령 모드에는 vi 명령 모드와 ex 명령 모드가 있다.
vi 시작 시, vi 명령 모드로 시작하며, 특정 키를 눌러, 편집 모드 및 ex 명령 모드로 전환할 수 있다. vi 명령 모드로 돌아오기 위해서는, Esc(Escape)키를 누르면 된다.
- 커서 이동
h : ← 이동
j : ↓ 이동
k : ↑ 이동
l : → 이동
backspace : 커서가 있는 행에서 커서를 왼쪽으로 옮김
space : 커서가 있는 행에서 커서를 오른쪽으로 옮김
+ : 다음 행 으로 커서 이동
- : 이전 행 으로 커서 이동
0 : 현재 행의 처음으로 커서 이동
$ : 현재 행의 끝으로 커서 이동
^ : 현재 행의 첫 문자로 커서 이동(공백 무시)
w: 단어 단위로 커서 이동 (왼쪽 -> 오른쪽 , 위 -> 아래)
b : 단어 단위로 커서 이동 (오른쪽 -> 왼쪽 , 아래 -> 위)
- 화면 이동
Ctrl + F : 한 화면 아래로 이동 (위 -> 아래)
Ctrl + B : 한 화면 위로 이동 (아래 -> 위)
Ctrl + D : 반 화면 아래로 이동 (위 -> 아래)
Ctrl + U : 반 화면 위로 이동 (아래 -> 위)
- 특정 줄로 이동
nG : n 라인으로 커서 이동(n은 라인 넘버)
1G : 첫 번째 라인으로 커서 이동
G : 마지막 라인으로 커서 이동
:n : n 라인으로 커서 이동(n은 라인 넘버)
- 탐색
/문자열 : 문자열을 찾아서 해당 문자열이 존재하면 커서 를 문자열로 이동(주로 위 -> 아래 검색)
?문자열 : 문자열을 찾아서 해당 문자열이 존재하면 커서 를 문자열로 이동(주로 아래 -> 위 검색)
- 입력모드
i : 커서 앞으로 문장 삽입
I : 행의 시작 부분에서 문장 삽입
a : 커서 뒤로 문장 삽입
A : 행의 끝 부분에서 문장 삽입
o : 커서가 위치한 행의 아래에 문장 삽입
O : 커서가 위치한 행의 위에 문장 삽입
- 수정, 삭제
r : 커서가 있는 문자를 변경
R : 커서가 있는 부분부터 글자 덮어서 씀
s : 한 글자를 삭제 한 후 문장 삽입
S : 커서가 있는 문장을 삭제하고 문장 삽입
C : 커서 위치에서 행 끝까지 문자를 덮어 씀
cc : 현재 행 삭제 후 문장 입력
cw : 커서가 있는 문자 삭제 후 문장 입력
x : 커서가 있는 한 글자 삭제
X : 커서 앞 한 글자 삭제
D : 커서가 있는 부분의 뒷 부분의 행을 삭제
dd : 커서가 있는 한 행 삭제
- 대치
:s/패턴/스트림 : 현재 행의 처음 패턴(문자열)을 스트림으로 바꿈
:n s/패턴/스트림 : n 행의 패턴(문자열) 을 스트림으로 바꿈
- 수행 취소
u : 한 문자 씩 실행 취소
U : 한 행 씩 실행 취소
- 복사/붙여넣기
nY : 커서가 있는 행 부터 n행 만큼 복사
yy : 커서가 있는 행 복사
p : 커서 아래 복사된 문자열 붙임
P : 커서 위에 복사된 문자열 붙임
- 파일에 저장
:w : vi 파일을 저장
:w 파일이름 : 파일이름으로 저장
:wq : 저장 후 강제 종료
ZZ : 저장 후 종료
- 다른 파일 편집
:e 파일이름 : vi 를 종료하지 않고 해당 파일 편집
:e! 파일이름 : 현재 편집하고 있는 파일 다시 부르기
:e# : 이전 파일 편집 하기
- 줄 번호 붙이기
:set number : 편집기의 라인 표시
:se nu : 편집기의 라인 표시
:se non : 편집기의 라인 표시 없애기
- 쉘 명령어
:! 명령 : vi 편집기 내에서 외부 명령을 실행
grep 명령어
- 텍스트 문서에서 해당 문자를 찾음
grep [문자] [텍스트파일]
-n 옵션 : 라인 표시 출력
-w 옵션 : 해당 문자가 있는 행 전체 출력
[grep good test.txt]
[grep -n good test.txt]
[grep -w good test.txt]
'IT개발 > Server' 카테고리의 다른 글
[서버] Windows, Linux 계열 대표 포트정보 정리 (0) | 2019.02.16 |
---|---|
[Server] 윈도우 포트 확인 및 kill 하기 (0) | 2014.03.30 |
[Linux] VirtualBox 호스트키 변경하기 (0) | 2014.03.26 |
[Linux] 자주 쓰이는 리눅스 명령어 완벽 정리 (2) | 2014.03.25 |
[Linux] 리눅스 vi 편집기 명령어 (0) | 2014.01.23 |