私的vimrc
プラグインに関するようなものは記述しないつもり、気づかないうちに書いてるかもしれないけど
一生更新
code: vim
"行番号を表示
set number
"折り返す(デフォルトでも折り返す)、折り返さない設定にするなら set nowrap
set wrap
"カーソルのある行をハイライト
set cursorline
"インデントの横幅をspace*4
set shiftwidth=4
"検索時に大文字小文字を区別しない
set ignorecase
"バッファ切り替え時に出る警告を切る
set hidden
"バックアップファイルを作成しない
set nobackup
set nowritebackup
"下にあるコマンドを表示しているやつの行数を設定する、デフォルトで1
set cmdheight=1
"常にステータスライン(行数とか書いてるライン)を表示する
set laststatus=2
"windowsのクリップボードの共有を行う(ヤンクでクリップボードに保存など)
set clipboard+=unnamedplus
"<Leader>にSpaceを割り当てる
let mapleader = "\<Space>"
"jjでnormal-modeに戻る、エスケープは遠すぎる
inoremap jj <ESC>
"タブの入れ替え
nnoremap <Leader>< :tabm -1<CR>
nnoremap <Leader>> :tabm +1<CR>
"タブ移動
nnoremap <Leader>l gt
nnoremap <Leader>h g<S-t>
"分割されたウィンドウの移動、全てsキーに割り当てる
" sキーを無効にする
nnoremap s <Nop>
" 本来の s キーを使いたいときに S を使うようにする
nnoremap <S-s> s
nnoremap ss :<C-u>sp<CR>
nnoremap sv :<C-u>vs<CR>
nnoremap sq :<C-u>q<CR>
nnoremap s<S-q> :<C-u>bd<CR>
nnoremap sj <C-w>j
nnoremap sk <C-w>k
nnoremap sl <C-w>l
nnoremap sh <C-w>h
nnoremap s<S-j> <C-w>J
nnoremap s<S-k> <C-w>K
nnoremap s<S-l> <C-w>L
nnoremap s<S-h> <C-w>H
nnoremap s> <C-w>>
nnoremap s< <C-w><
nnoremap s+ <C-w>+
nnoremap s- <C-w>-
nnoremap s= <C-w>=
nnoremap s_ <C-w>_
"ヤンク(コピー)せずに削除するのにいちいち"_とか打ってられない、<Leader>を押した後にdで削除できるようにする
nnoremap <Leader>d "_d
xnoremap <Leader>d "_d
"$とか0とか遠いし押しずらい、移動コマンドにCtrlをつけることで行頭行末に移動できるようにする
noremap <C-l> $
noremap <C-h> 0
"あまり直感的でないインクリメントとデクリメントのコマンドを直感的に操作できるようにする
noremap + <C-a>
noremap - <C-x>
"本来 + - で操作できる移動のコマンドの代わりを設定する
noremap <C-j> +
noremap <C-k> -
" Ctrl-hでbackspace, Ctrl-lでdelete, Ctrl-kで上に移動、Ctrl-jで改行とする in insert mode
" backspace, delete, enter という必要かつ遠いキーを使わなくて済むようにする
inoremap <C-l> <Del>
inoremap <C-k> <C-o>k
"vimにおける禁忌のアローキーを封じる
noremap <Left> <Nop>
noremap <Down> <Nop>
noremap <Up> <Nop>
noremap <Right> <Nop>
"補完機能を使うときに tab によって選択するための設定、デフォルトだと <C-n> <C-p> といった結構面倒な位置にある
inoremap <TAB> <C-n>
inoremap <S-TAB> <C-p>
" Vimで「前回の状態を復元する」を実現する
" Vim終了時に現在のセッションを保存する
au VimLeave * mks! ~/vimsession
"引数なし起動の時、前回のsessionを復元
autocmd VimEnter * nested if @% == '' && s:GetBufByte() == 0 | source ~/vimsession | endif
function! s:GetBufByte()
let byte = line2byte(line('$') + 1)
if byte == -1
return 0
else
return byte - 1
endif
endfunction
" vimrc などの 設定ファイルを開く
nnoremap <leader>v :e $MYVIMRC<CR>