이제껏 많은 시간 리눅스를 사용하면서 한번도 VI를 떠나 산적이 없는것 같다.
특히 vi만 이용한 적은 없으니 vim에 대해서 사용할 때마다 잘 쓰고 싶은 마음이 굴뚝같았지만..
차일피일 미루다가 몇년째...
이제는 좀 파워풀하게 쓸 필요가 있겠다싶어서 아래의 내용을 정리해본다.
더 필요한 내용이 있을지 모르지만, 최소한 아래의 내용은 내 머리가 아닌 손으로 다 익히고 난 뒤에 추가할 예정이다.
아래의 내용만 다 알고 제대로 사용해도 리눅스상에서 독자적으로 편집 및 활용이 가능할 것이라고 의심치 않는다.
강제로 저장 및 종료
:wq!
모드 전환
a 추가하는 모드로써 한칸 뒤로 이동하여 입력커서가 깜박인다.
A 현재 행의 맨 끝으로 이동 후 입력모드로 전환된다.
i 현재 커서에서 입력모드로 전환된다.
I 현재 행의 맨 앞으로 이동 후 입력모드로 전환된다.
o 현재 행 아래에 새로운 행을 하나 만든 후 입력모드로 전환된다.
O 현재 행 위에 새로운 행을 하나 만든 후 입력모드로 전환된다.
R 수정모드이므로 모든 글자는 덧씌워진다.
텐키리스를 고려한 커서 이동방법
h l : 좌우
j k : 상하
^ : 행의 맨 앞으로 이동
$ : 행의 맨 뒤로 이동
Ctrl + b : Page Up과 같음
Ctrl + f : Page Down과 같음
Ctrl + u : Page Up을 반만 하는 효과
Ctrl + d : Page Down을 반만 하는 효과
gg : 맨 위로 이동
G : 맨 아래로 이동
:행번호 : 원하는 행번호로 이동
삭제(레지스터에 현재 삭제된 내용이 저장된 상태)
x : 현재 커서에 위치한 문자 삭제
dd : 현재 행 삭제
D : 현재 위치에서 현재 행의 끝부분까지 삭제
J : 아래 행을 현재 행의 끝에 붙임(아래행의 앞부분 공백 제거)
레지스터의 내용을 붙여넣기
p : 현재 행에 붙여넣기
P : 현재 행의 위에 붙여넣기
숫자p : 레지스터의 내용을 숫자만큼 반복해서 붙여넣기
복사하기
yy, Y : 현재행을 레지스터에 복사하기
:reg : 현재 레지스터에 복사된 내용을 확인하기(가장 낮은 숫자일수록 최신 데이터)
되돌리기
u : undo기능. 되돌리기(맨 처음까지 계속 반복가능)
Ctrl + R : redo기능. 취소했던 명령 다시 실행하기
비주얼모드
v : 일반 비주얼모드로 현재 커서위치에서 블록 지정 시작
V : 비주얼 라인 모드로 현재 행부터 행단위로 블록 지정
Ctrl + v or Ctrl + q : 비주얼 블록 모드로 열 단위로 블록 지정
옵션관련
:set all : 옵션상태 확인하기
:set nu : 화면에 행 번호를 표시
:set ai : 자동 들여쓰기를 사용
cindent : c언어 스타일의 들여쓰기 사용
tw=value : 편집할 화면의 열 길이를 지정(0이면 비활성화)
문서관련
:syntax enable 문법표시 사용
:syntax clear 문법표시 사용하지 않음
:colorscheme <scheme> : 스킴색상 사용(Tab이나 Shift-tab을 누르면 목록순으로 보여줌)
:center : 중앙 정렬 사용
:right : 오른쪽 정렬 사용
:left : 왼쪽 정렬 사용
/문자열 : 문자열 검색(이후 반복검색은 n-앞으로, N-반대로 검색할수 있음)
/%s/^M//g : 윈도우 줄바꿈을 유닉스 줄바꿈으로 교체(^M은 Ctrl+v + Ctrl+m을 이용)
/범위s/찾을문자열/교체할문자열/옵션 : 문자열 교체
:set fencs=utf-8,korea : 두가지 인코딩 형식을 차례로 테스트하여 불러옴
:set fencs : 현재 파일의 인코딩 형식을 보여줌
% : 가장 가까운 괄호 짝으로 이동
창관련
:sp : 창을 위아래로 분할
:vs : 창을 좌우로 분할
Ctrl+w + [h,j,k,l] : 분할된 창에서 지정한 방향으로 이동
:e . : 현재 디렉토리를 탐색기처럼 보여줌(이동하여 enter하면 해당파일을 열 수 있음)
개발관련
{visual block} + = : visual로 지정한 범위만큼 들여쓰기를 재정렬함
편집중.. Ctrl+n, Ctrl+p, Ctrl+x : 낱말 자동완성 기능 사용(리스트 화면 출력됨)
:TOhtml : 현재 문서를 html 스타일로 변환시키기
이 밖에… 플러그인 추천
NERDtree를 이용하면 추가 기능을 이용할 수 있으나… 이것은 추가기능 필요시 활용하려고 함
(손에잡히는 vim - 참고하여 정리)
'[Developer] > Linux,Windows,macOS' 카테고리의 다른 글
ssh접속을 위해 클립보드에 public key 복사하기 (0) | 2016.09.12 |
---|---|
Gitlab 설치시 오류 대처법 1 (0) | 2016.09.12 |
Owncloud에서 업그레이드 직후 당황스런 에러 대처법 (3) | 2015.07.09 |
아파치를 비롯한 소스빌드 응용프로그램 rpm모음 사이트 (0) | 2014.10.14 |
Apache 2.4.7과 Tomcat 6 연동하기 (0) | 2014.07.26 |
댓글