초보자 용 vimrc 설정 방법

개요


  • Vim을 다루는 가장 효과적인 방법은 스스로 사용자 정의 할 때라고 느낍니다.
  • Vim 설정 vimrc는 초보자에게는 약간 난이도가 높을 수 있습니다. 그러나 실제로는 매우 간단합니다.
  • 여기서 알기 쉽게 vimrc에 의한 커스터마이즈 방법을 해설해 갑니다.

  • vimrc란?


  • vim의 디폴트 상태로부터 사용하기 쉽도록 설정할 수 있는 파일입니다.
  • 여기에 설정을 기술하는 것으로 커스터마이즈 할 수 있습니다.
  • 초기 상태에서는 vimrc가 존재하지 않으므로 파일을 만드는 곳에서 시작합니다.

  • vimrc 만들기


  • 다음 명령을 터미널에 입력하십시오.
  • $ vim ~/.vimrc
    
  • 그러면 아무것도 없는 화면이 나타납니다. 이것은 파일이 작성된 상태입니다.


  • 여기에 설정을 써 갑니다.
  • 다음 설정을 작성하십시오.
  • " 行番号を表示
    set number
    


  • 그런 다음 :wq 로 파일을 저장하십시오.
  • 다시 vimrc를 여십시오.
  • $ vim ~/.vimrc
    
  • 그러면 아래와 같이 왼쪽에 번호가 표시됩니다.


  • 이렇게 vimrc에 설정을 쓰면 그것이 반영됩니다.

  • 다양한 설정


  • 다음은 내가 실제로 설정한 설명이므로 참고로 내 Vim을 사용자 정의하십시오.
  • " ファイルを上書きする前にバックアップを作ることを無効化
    set nowritebackup
    " ファイルを上書きする前にバックアップを作ることを無効化
    set nobackup
    " vim の矩形選択で文字が無くても右へ進める
    set virtualedit=block
    " 挿入モードでバックスペースで削除できるようにする
    set backspace=indent,eol,start
    " 全角文字専用の設定
    set ambiwidth=double
    " wildmenuオプションを有効(vimバーからファイルを選択できる)
    set wildmenu
    
    "----------------------------------------
    " 検索
    "----------------------------------------
    " 検索するときに大文字小文字を区別しない
    set ignorecase
    " 小文字で検索すると大文字と小文字を無視して検索
    set smartcase
    " 検索がファイル末尾まで進んだら、ファイル先頭から再び検索
    set wrapscan
    " インクリメンタル検索 (検索ワードの最初の文字を入力した時点で検索が開始)
    set incsearch
    " 検索結果をハイライト表示
    set hlsearch
    
    "----------------------------------------
    " 表示設定
    "----------------------------------------
    " エラーメッセージの表示時にビープを鳴らさない
    set noerrorbells
    " Windowsでパスの区切り文字をスラッシュで扱う
    set shellslash
    " 対応する括弧やブレースを表示
    set showmatch matchtime=1
    " インデント方法の変更
    set cinoptions+=:0
    " メッセージ表示欄を2行確保
    set cmdheight=2
    " ステータス行を常に表示
    set laststatus=2
    " ウィンドウの右下にまだ実行していない入力中のコマンドを表示
    set showcmd
    " 省略されずに表示
    set display=lastline
    " タブ文字を CTRL-I で表示し、行末に $ で表示する
    set list
    " 行末のスペースを可視化
    set listchars=tab:^\ ,trail:~
    " コマンドラインの履歴を10000件保存する
    set history=10000
    " コメントの色を水色
    hi Comment ctermfg=3
    " 入力モードでTabキー押下時に半角スペースを挿入
    set expandtab
    " インデント幅
    set shiftwidth=2
    " タブキー押下時に挿入される文字幅を指定
    set softtabstop=2
    " ファイル内にあるタブ文字の表示幅
    set tabstop=2
    " ツールバーを非表示にする
    set guioptions-=T
    " yでコピーした時にクリップボードに入る
    set guioptions+=a
    " メニューバーを非表示にする
    set guioptions-=m
    " 右スクロールバーを非表示
    set guioptions+=R
    " 対応する括弧を強調表示
    set showmatch
    " 改行時に入力された行の末尾に合わせて次の行のインデントを増減する
    set smartindent
    " スワップファイルを作成しない
    set noswapfile
    " 検索にマッチした行以外を折りたたむ(フォールドする)機能
    set nofoldenable
    " タイトルを表示
    set title
    " 行番号の表示
    set number
    " ヤンクでクリップボードにコピー
    set clipboard=unnamed,autoselect
    " Escの2回押しでハイライト消去
    nnoremap <Esc><Esc> :nohlsearch<CR><ESC>
    " シンタックスハイライト
    syntax on
    " すべての数を10進数として扱う
    set nrformats=
    " 行をまたいで移動
    set whichwrap=b,s,h,l,<,>,[,],~
    " バッファスクロール
    set mouse=a
    
    " auto reload .vimrc
    augroup source-vimrc
      autocmd!
      autocmd BufWritePost *vimrc source $MYVIMRC | set foldmethod=marker
      autocmd BufWritePost *gvimrc if has('gui_running') source $MYGVIMRC
    augroup END
    
    " auto comment off
    augroup auto_comment_off
      autocmd!
      autocmd BufEnter * setlocal formatoptions-=r
      autocmd BufEnter * setlocal formatoptions-=o
    augroup END
    
    " HTML/XML閉じタグ自動補完
    augroup MyXML
      autocmd!
      autocmd Filetype xml inoremap <buffer> </ </<C-x><C-o>
      autocmd Filetype html inoremap <buffer> </ </<C-x><C-o>
    augroup END
    
    " 編集箇所のカーソルを記憶
    if has("autocmd")
      augroup redhat
        " In text files, always limit the width of text to 78 characters
        autocmd BufRead *.txt set tw=78
        " When editing a file, always jump to the last cursor position
        autocmd BufReadPost *
        \ if line("'\"") > 0 && line ("'\"") <= line("$") |
        \   exe "normal! g'\"" |
        \ endif
      augroup END
    endif
    
  • 스스로 1개 1개 설정하면서, 기능을 확인해 가는 것도 좋을지도 모릅니다.
  • 이제 Vim을 자유자재로 다루십시오.
  • 좋은 웹페이지 즐겨찾기