vi editor 다루기
환경설정
vi editor의 환경을 설정
환경설정 파일 : .vimrc (일반적으로는 존재하지 않음)
1. 계정의 홈디렉토리로 이동
cd ~/
2. .vimrc 생성 혹은 편집
vi .vimrc
아래를 수정하여 본인의 환경에 맞게 수정
set number " 라인 번호를 붙임
set tabstop=4 " 탭문자는 4컬럼 크기로 보여주기
set shiftwidth=4 "문단이나 라인을 쉬프트할 때 4컬럼씩 하기
set autoindent " 자동 들여쓰기
syntax on " 적절히 syntax에 다라 하이라이팅 해주기
set cindent " c언어 자동 들여쓰기
set title " 타이틀바에 현재 편집중인 파일을 표시
set showmatch " 매치되는 괄호의 반대쪽을 보여줌
set textwidth=79 " 만약 79번째 글자를 넘어가면 다음행으로
set smartindent " 좀 더 똑똑한 들여쓰기를 위한 옵션
set ts=4 " 탭 간격 조절
:colorscheme ron " vi 편집기 색상을 ron 으로 변경
위에서 :colorscheme 를 주석
편집기 색상변경
cd /usr/share/vim/vim81/colors // vim81은 사용환경에 따라 다를 수 있음
위로 접근하면 다양한 colors를 확인가능
그리고 .vimrc 에서 :colorscheme [색상] 으로 변경하면 됩니다.
더 많은 색상변경을 원하시면 https://www.vim.org/scripts/index.php 에서 선택하시면 됩니다.
편집기 모드
명령모드
vi 편집기의 기본모드.( 입력 상태이면 편집 명령어 사용 불가능)
입력모드
i,I,a,A,o.O (입력모드 상태가 아니면 편집기 입력이 불가능)
확장모드
확장 모드 명령어는 명령어를 입력할 때 대부분 먼저 ‘:’을 붙이고 명령어를 입력함으로써 다른 모드 명령어와 구분이 된다.
유용한 단축키
기본
Esc
명령모드로 전환
Shift + :
Command Line 활성
a
명령보드에서 Insert 모드로 전환
확장모드 명령어 (:)
:set nu
좌측에 현재 라인번호 출력
:라인번호
라인번호로 이동
:w
바뀐내용을 저장
:wq
저장후 종료
:q
종료 (수정된 내용이 저장되지 않았다면 경고문 출력)
:q!
강제 종료 (수정된 내용을 저장없이 강제 종료)
:w [파일명]
[파일명]으로 현재 편집하고 있는 파일 저장
:w! [파일명]
[파일명]으로 현재 편집하고 있는 파일을 강제 저장 ([파일명]이 다른 편집기로 열려있어도 강제 저장)
:e [파일명]
현재 창에서 바로 [파일명] 열기
:new [파일명]
새로운 윈도우를 생성후 [파일명] 열기
:%s/찾을말/바꿀말/g
문자를 교체
:/찾을말
:?찾을말
문서내에서 '찾을말'을 검색
'/'은 아래로 검색, '?'는 위로 검색
'n'을 누르면은 아래, 'N'은 위로 계속 찾게 됩니다.
:set ic
:set ignorecase
대소문자를 구분 안함
그리고 그 보던 파일을 복사 해버리고 싶으면
편집모드 명령어
이동
w
단어의 앞부분씩 이동
b
w와 같으나 뒷쪽방향으로 이동
e
단어의 끝부분씩 이동
gg
맨 처음으로 이동
G
맨 마지막으로 이동
$
그 줄 마지막으로 이동
0
그 줄 처음으로 이동
^
줄의 처음으로 이동
L
현재 페이지에서 맨 아랫줄 커서 이동
B
앞쪽으로 빈칸 단위로 이동
W
뒷쪽으로 빈칸의 앞쪽 단위로 이동
E
뒷쪽으로 빈칸의 뒷쪽 단위로 이동
[[
문서의 맨처음
]]
문서의 맨 마지막으로 커서 이동
Ctrl+d
반페이지씩 아래로 스크롤
Ctrl+u
반페이지씩 위로 스크롤
Ctrl+f
한페이지씩 아래로 스크롤
Ctrl+b
한페이지씩 위로 스크롤
`
레지스트 기록한곳으로 이동 할때에 `저장문자
( 한 단락위로
) 한 단락 아래로
편집
x
지우기
i
현재위치에서 삽입
a
현재글자의 뒷쪽에 이어서 삽입
u
되살리기
P
빈줄 한줄씩 삽입
K
man 페이지 찾기 모드
V
한줄 블럭씌우기
R
replace 로 수정모드
A
그 줄의 마지막에서 삽입
O
한줄 건너뛰어 삽입
S
그 줄 새로 작성, 현재 줄 지워지고 삽입모드
C
현재의 줄만 현재 커서의 뒷부분이 지워지고 삽입모드
Y
한줄 복사
D
그 줄의 처음에 있을때 누르면 한줄 삭제 (삭제되면서 버퍼에 저장 잘라내기라고 봐두 됨)
p
아래로 붙여넣기인반면 P는 위로 붙여넣기
ZZ
저장하고 종료
x
지우기로 del키와 같지만 X는 백슬래쉬 처럼 뒤로 지워집니다.
J
그 현재 위치 다음의 빈 줄을 다 붙여줍니다. 한 문장으로 만들때 사용하면 좋습니다.
기타
Ctrl + g
그 문서의 커서가 위치한 곳의 정보가 아랫줄에 나옵니다.
~
대소문자 변환 블럭을 씌워 ~눌르면 대소문자가 뒤바뀜
!!
쉘명령어 사용 결과값만
:!
쉘명령어 사용 실행과정부터 나옴
Ctrl + v
열로 블록 선택 (선택 후 정렬할 부분 << 해주면 됨 )
Ctrl + l
화면을 리플래쉬 합니다.
Ctrl + S
on/xoff flow control 사용시, Scroll Lock
Ctrl + Q
Ctrl + S 를 해제
Ctrl + w + n
화면 분할(새로운 윈도우 생성)
Ctrl + w, w
Ctrl + w, j
Ctrl + w, 아래 방향키
창 이동(아래로) (여러 창이 열려 있을 경우) Ctrl + w 키를 동시에 누른 후 손을 때고 w 만 누름
Ctrl + w, k
Ctrl + w, 위 방향키
창 이동(위로) (여러 창이 열려 있을 경우)
Ctrl + w, o
현재 창만 제외하고 다른 창 모두 닫기
Ctrl + w, +키
현재창을 크게
Ctrl + w, -키
현재 창을 작게
ctrl + w, c
재창을 닫기
ctrl + w + _
현재 창을 최대화
ctrl + w + =
열려있는 창들의 크기를 모두 같게
.
편집모드에서 입력한 내용을 그대로 복사하여 입력
:set list
tab은 '^I' 로 라인의 끝은 '$' 로 표시
:set nolist
위의 ':set list' 속성 삭제
Table of contents 목차
- vi editor 다루기
- 환경설정
- 편집기 색상변경
- 편집기 모드
- 유용한 단축키