vi 편집기 기본 명령어
vi 실행
vi [파일명] : 기존 파일을 열거나 새로운 파일을 작성
vi +<숫자> [파일명] : <숫자>행에 해당 파일 열기
vi +/"검색어" [파일명] : 파일을 열어서 "검색어"의 처음 발견된 단어에서부터
vi -r [파일명] : 손상된 파일 복구
view [파일명] : 읽기 전용으로 파일 열기
편집기 상태에서 커서의 이동 관련 단축키
h(←) : 커서를 왼쪽으로 이동
j(↓) : 커서를 아래쪽으로 이동
k(↑) : 커서를 위로 이동
l(→) : 커서를 오른쪽으로 이동
w : 한 단어 오른쪽으로 커서 이동
b : 한 단어 왼쪽으로 커서 이동
^ : 라인의 처음으로 이동
$ : 라인의 마지막으로 이동
H : 화면의 맨 위로 이동
M : 화면의 중간으로 이동
L : 화면의 맨 아래로 이동
Ctrl + F : 한 화면 뒤로 이동
Ctrl + D : 반 화면 뒤로 이동
Ctrl + B : 한 화면 앞으로 이동
Ctrl + U : 반 화면 앞으로 이동
편집기 상태에서 문자 삽입 관련 단축키
a : 커서 오른쪽에 문자 삽입
A : 커서 오른쪽 행의 끝에 문자 삽입
i : 커서 왼쪽에 문자 삽입
I : 커서 왼쪽 행의 처음에 문자 삽입
o : 커서 아래에 행 삽입
O : 커서 위에 행 삽입
Esc키 : 입력 상태에서 편집기 상태로 전환
편집기 상태에서 텍스트 변경하는 단축키
cw : 단어 바꾸기
R ; 현재 커서 위치부터 바꾸기
r : 커서 위치 문자를 다른 문자로 바꾸기
~ : 대,소문자 변경
J ; 현재 행과 아래 행 결합
u : 이전 명령 취소
x : 커서 위치 문자 삭제
dw : 커서 위치 단어 삭제
dd ; 커서 위치 행 삭제
D : 커서 오른쪽 행 삭제
: 5, 10 d : 5-10번째 삭제
편집기 상태에서 텍스트 복사 및 이동
yy : 커서 위치 행 복사
<숫자>y : 커서 위치로부텨 <숫자>행 복사
p : 붙여넣기
: 1,2 co 3 : 1-2행을 3행으로 복사
: 4,5 m 6 : 4-5행을 6행으로 이동
편집기 상태에서 행 번호 설정
:set nu : 행 번호 표시
:set nonu : 행 번호 숨기기
편집기 상태에서 행 찾기
G : 파일의 마지막 행으로 가기
21G : 파일의 21번째 행으로 가기
:<숫자> : <숫자> 라인으로 가기
편집기 상태에서 파일을 파일로 삽입
:r [파일명] : 커서 다음에 파일 삽입
:34 r [파일명] : 파일을 34번째 행 다음에 삽입
편집기 상태에서 저장 및 종료
;q : 변경한 내용이 없을 경우 종료
:q! : 변경한 내용이 있더라도 저장 없이 강제 종료
:w : 변경한 내용 저장
:w! : 읽기 전용 파일이라도 변경한 내용 강제 저장
:wq or :x : 저장 및 종료
:wq! : 강제 저장 및 종료
vi 설정 ($ vi ~/.vimrc) (출처: http://ra2kstar.tistory.com/100 [초보개발자 이야기.])
유저 홈 디렉토리에서 '.vimrc' 파일에서 설정 가능
자동 들여쓰기
set autoindent
C 프로그래밍을 할때 자동으로 들여쓰기
set cindent
검색할 때 문서의 끝에서 다시 처음으로 돌아가지 않게 하기
set nowrapscan
백업 파일을 만들지 않기
set nobackup
키를 잘못눌렀을 때 삑 소리를 내는 대신 번쩍이게 하기
set visualbell
화면 우측 하단에 현재 커서의 위치보기
set ruler
Tab을 눌렀을 때 8칸 대신 4칸 이동
set tabstop=4
자동 들여쓰기를 할때 4칸 들여쓰기
set shiftwidth=4
한글 처리를 하기위한 구문
if $LANG[0] == `k' && $LANG[1] == `o'
set fileencoding=korea
endif
문법 강조 기능
if has("syntax")
syntax on " Default to no syntax highlightning
endif
'나는 프로그래머다! > Linux' 카테고리의 다른 글
Linux - 시그널 Signal (Ctrl+c, Ctrl+z) (0) | 2018.05.13 |
---|---|
Linux - 디렉토리 용량 확인 (0) | 2018.05.13 |
임베디드 리눅스 시스템 스터디 (0) | 2017.09.26 |
top 명령어 (실시간 CPU 사용률 체크) (0) | 2017.08.04 |
쓰레드 함수 (pthread) 알아 보기 (2) | 2017.08.01 |
grep 명령어 - 문자열 패턴 검색 (0) | 2017.07.07 |
리눅스 기본 명령어 정리 (0) | 2017.07.07 |
Container_of 매크로 (0) | 2016.11.09 |