Vim 開発

【MacでVim】part2 基本設定

vimの基本設定を行う

.vimrcファイルをHomeディレクトリ配下に作成し、編集します

vim ~/.vimrc
" シェルを指定する
set shell=/usr/local/bin/fish
" encoding
set encoding=utf8
scriptencoding utf8
set fileencoding=utf-8
set termencoding=utf8
set fileencodings=utf-8,ucs-boms,euc-jp,ep932
set fileformats=unix,dos,mac
set ambiwidth=double
set nobomb
set t_Co=256
" スワップファイルの作成先を変更
set noswapfile
" ヤンクをクリップボードに連携する
set clipboard+=unnamed
" ビープ音を消す
set belloff=all
" 行番号を表示
set number
" タイトル
set title
" インデント系
filetype plugin indent on
set expandtab
set tabstop=2
set softtabstop=2
set autoindent
set smartindent
set shiftwidth=2
au FileType go setlocal sw=4 ts=4 sts=4 noet
" 挿入モードでバックスペース削除を有効
set backspace=indent,eol,start
" 検索するときに大文字小文字を区別しない
set ignorecase
" 検索した時にハイライト
set hlsearch
" キーバインド------------------------------------------------------------------
" xで削除した時はヤンクしない
vnoremap x "_x
nnoremap x "_x
" 1 で行頭に移動
nnoremap 1 ^
" 2で行末に移動
nnoremap 2 $
" 9 で前のバッファタブへ
nnoremap <silent> 9 :bprev<CR>
" 0 で次のバッファタブへ
nnoremap <silent> 0 :bnext<CR>
" Option + | でファイル内の文字置換
nnoremap \ :%s/old/new/g<LEFT><LEFT><LEFT><LEFT><LEFT><LEFT><LEFT><LEFT>
" 現在のバッファ削除
nnoremap bd :bd<CR>
" 括弧の補完
inoremap {<Enter> {}<Left><CR><ESC><S-o>
inoremap [<Enter> []<Left><CR><ESC><S-o>
inoremap (<Enter> ()<Left><CR><ESC><S-o>
" クオーテーションの補完
inoremap ' ''<LEFT>
inoremap " ""<LEFT>
" insertモードでemacsのキーバインドを使えるようにする
imap <C-p> <Up>
imap <C-n> <Down>
imap <C-b> <Left>
imap <C-f> <Right>
imap <C-a> <C-o>:call <SID>home()<CR>
imap <C-e> <End>
imap <C-d> <Del>
imap <C-h> <BS>
imap <C-k> <C-r>=<SID>kill()<CR>
" visualモードでインデント調整後に選択範囲を開放しない
vnoremap > >gv
vnoremap < <gv
" 画面分割系
nnoremap sj <C-w>j
nnoremap sk <C-w>k
nnoremap sl <C-w>l
nnoremap sh <C-w>h
nnoremap ss :<C-u>sp<CR><C-w>j
nnoremap sv :<C-u>vs<CR><C-w>l
" plugin manager ---------------------------------------------
" 4章で紹介
" ------------------------------------------------------------
" カラースキーム(任意です)
if (empty($TMUX))
  if (has("nvim"))
    let $NVIM_TUI_ENABLE_TRUE_COLOR=1
  endif
  if (has("termguicolors"))
    set termguicolors
  endif
endif
syntax on
タイトルとURLをコピーしました