반응형

vimrc는 Vim을 열 때 자동으로 적용할 편집 환경을 모아 두는 설정 파일이다. 검색 강조, 대소문자 처리, 들여쓰기, 탭 폭, 상태바, 줄 번호, 플러그인 설치 같은 설정을 한곳에서 관리할 수 있다.

이 글은 실제로 필요성을 확인하며 추가한 vimrc 설정을 주석과 함께 남긴 메모로, 검색과 들여쓰기, 탭 변환, 스크롤 여백, 상태바, 단축키 설정이 중심이다.

 

핵심 정리

vimrc 설정은 한 번에 많이 넣기보다 어떤 불편을 해결하는지 확인하면서 추가하는 편이 안전하다. 검색 관련 설정에서는 검색어 강조, 대소문자 무시, 대문자를 입력했을 때만 대소문자를 구분하는 흐름을 함께 볼 수 있다. 들여쓰기와 탭 설정에서는 tabstop, shiftwidth, softtabstop, expandtab의 역할을 구분해야 한다. 상태바와 줄 번호 설정은 현재 위치와 파일 상태를 빠르게 파악하게 해 주고, scrolloff는 화면 이동 시 커서 주변 여백을 유지하는 데 도움을 준다. Plug 설치 메모와 창 정리 단축키는 Vim을 오래 쓰면서 반복 작업을 줄이는 보조 설정으로 볼 수 있다.

  • 검색 설정은 hlsearch, ignorecase, smartcase의 조합을 먼저 확인한다.
  • autoindent와 smarttab은 기본 들여쓰기 흐름을 정리할 때 사용한다.
  • tabstop은 탭 문자를 화면에 몇 칸으로 보일지 정한다.
  • shiftwidth는 자동 들여쓰기나 들여쓰기 명령에서 사용할 폭을 정한다.
  • softtabstop은 입력 모드에서 탭 키를 눌렀을 때의 체감을 조정한다.
  • expandtab은 탭 입력을 공백으로 바꿀 때 사용한다.
  • ruler, laststatus, statusline은 현재 위치와 파일 상태를 확인하는 데 도움을 준다.
  • leader 단축키와 플러그인 설정은 자주 쓰는 작업을 줄일 때만 천천히 추가한다.

원문은 직접 사용해 본 vimrc 옵션과 주석을 모아 둔 설정 기록입니다. 보강문에서는 옵션 이름을 외우기보다 검색, 들여쓰기, 탭, 화면 표시, 단축키라는 목적별로 나누어 읽도록 정리했습니다. Vim 설정은 환경마다 체감이 다르므로 한 번에 복사하기보다 한 줄씩 켜고 편집 습관에 맞는지 확인하는 편이 좋습니다.

이어서 볼 글

 

vimrc

아래는 내가 하나씩 필요성 확인하면서 넣고, 주석 단 것

basic


" search
set hlsearch  " highlights all search patterns
set ignorecase
set smartcase  " if you type, '/Copyright' it will be case sensitive

" auto indent
set autoindent
set smarttab
" set cindent  " when I enable this, whenever I type # cursor moves to start of the line. so I disabled it
" set smartindent  " many web pages suggests not to use this

" tab size
set tabstop=4      " how many columns vim will use to print tab
set shiftwidth=4   " how many columns vim use when you hit >> or vim does auto indenting
set softtabstop=4  " how many columns vim use when you hit tab in insert mode (usually same as shiftwidth)
set expandtab      " tab will be converted to spaces

" scroll
set scrolloff=5  " when page up/down(ctrl + F/B), cursor will be located with this offset

" status bar
set ruler  " display cursor location at lower-bottom of screen
set laststatus=2 " 상태바 표시를 항상한다
set statusline=\ %<%l:%v\ [%P]%=%a\ %h%m%r\ %F\

" : mode
set history=9999
set wildmenu               " tab completion for : mode
set wildmode=list:longest  " tab completion for : mode will be shown in multiple lines

" etc
syntax on   " syntax coloring
set number  " line number
set backspace=indent,eol,start  " backspace key will delete everything
set visualbell
set showcmd  " when you type 'y2d', intermediate command will be shown
map <leader>b Oimport pudb; pudb.set_trace()
set colorcolumn=80

" 'p' to paste, 'gv' to re-select what was originally selected. 'y' to copy it again.
xnoremap p pgvy

Plug 설치

https://github.com/junegunn/vim-plug


curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

단축키

ctrl w, o : 현재창만 남기고 다 닫기 (서브창 없앨 때 편함)

반응형

+ Recent posts