vi editor

What is vi?

  • Unix 계열에서 사용되는 text 편집기
  • 최근의 Redhat 계열 Linux에서는 vim을 vi로 alias 처리(vim 패키지 미설치시 미적용)
  • UNIX와 Linux의 Terminal CLI 환경에서는 가장 기본적인 편집기이기 때문에 기본적인 사용키 정도는 익혀두는 것이 좋습니다.

3 modes of vi

  • Command Mode(명령) : esc 입력 상태, 기본값
  • Insert Mode(입력) : 편집 상태
  • Last Line Mode(명령) : Command Mode상 : “shift + ;” 입력 상태, 파일 또는 vi 상태 제어

Commande Mode Control

InputFunction
h왼쪽 이동
j위로 이동
k아래로 이동
l오른쪽 이동
^ or 0행의 가장 처음으로 이동
$행의 가장 끝으로 이동
gg제일 첫 행으로 이동
G제일 끝 행으로 이동
b왼쪽 특수문자 혹은 한단어의 처음으로 이동
B왼쪽 한단어의 처음으로 이동
x현재 커서 위치 삭제
X현재 커서가 위치한 앞 글자 삭제
dw현재 커서 위치 한단어 삭제
d$현재 커서 위치 행 삭제
dd현재 커서부터 마지막 행까지 삭제
CTRL+b한페이지 위로 이동
CTRL+f한 페이지 아래로 이동
숫자+G해당 숫자의 행으로 이동
w오른쪽 특수문자 혹은 한단어의 처음으로 이동
W오른쪽 한단어의 처음으로 이동
i현재 커서 앞쪽에 입력
I현재 커서 행의 맨 앞에서 입력
a현재 커서 뒤쪽에 입력
A현재 커서 행의 마지막에 입력
o현재 커서 행의 아래 줄에 입력
O현재 커서 행의 위쪽 줄에 입력현재 커서 행의 위쪽 줄에 입력
s현재 커서의 한 글자를 지우고 입력
S현재 커서의 행을 지우고 입력
r현재 커서의 한 글자를 교체
cw현재 커서의 한 단어 교체
uUndo(입력시 마다 이전 작업으로 이동)
숫자+yy현재 커서부터 숫자만큼의 행을 복사(1은 생략 가능)
yw현재 커서의 한 단어 복사
Y$현재 커서부터 마지막 행까지 복사
숫자+p복사한 내용을 현재 커서 다음에 붙여넣기(숫자 횟수 만큼)
숫자+P복사한 내용을 현재 커서 전에 붙여넣기(숫자 횟수 만큼)
/커서의 위치에서 아래로 검색
?커서의 위치에서 위로 검색
n검색 결과에서 아래 행 이동
N검색 결과에서 위 행 이동
모든 제어는 커서의 위치 기준

Insert Mode Control

  • i, a등의 Command Mode 제어키를 통해 입력 모드로 전환
  • 문서의 작성 또는 편집이 가능한 상태

Last Line Mode Control

InputFunction
:s/찾는문자열/치환문자열 현재 커서 행에서 검색, 치환
:1,10s/찾는문자열/치환문자열 1행에서 10행까지 검색, 치환
:%s/찾는문자열/치환문자열전체 행에서 검색, 치환
\+/특수문자를 검색하려면 해석방지를 위해 그 앞에 \를입력
:nohl검색등을 통해 하이라이트(Highlight)처리된 블럭을 해제
:set number행 번호 표시
:set nonumber행 번호 표시 취소
:set autoindent들여쓰기 설정
:set noautoindent들여쓰기 제거
:set list문단,조판부호 보기
:set nolist문단,조판부호 안보이게
:set ignorecase검색시 대소문자 구별 제거
:set noignorecase검색시 대소문자 구별
:set window=30한 화면당 행의 갯수 30개로 지정
:set all현재 설정된 vi 모든 설정값 보기
:q저장하지 않고 vi 종료
:q!읽기전용인 파일을 수정후 강제로 저장할때
:w현재내용을 저장
:w!읽기전용인 파일을 수정후 강제로 저장할때
:wq저장하고 종료
:wq!읽기전용인 파일을 수정후 강제로 저장하고 종료하기
:w “filename”새로운 파일명으로 저장
모든 제어는 커서의 위치 기준

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.