ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • VIM 간편하고 강력하게 다루기(vi editor 확장판)
    [Developer]/Linux,Windows,MacOS 2016.04.10 18:57

    이제껏 많은 시간 리눅스를 사용하면서 한번도 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 -  참고하여 정리)


    댓글 0

Designed by Tistory.