Last active
September 10, 2019 21:20
-
-
Save masquaremo/37193a85ca15b16f0eb8b0416b6b431b to your computer and use it in GitHub Desktop.
自分用vimrc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"=================================================== | |
" vimrc(vim8-Win64 GUIで動確) | |
"=================================================== | |
scriptencoding utf-8 "このファイルのエンコード | |
"--------------------------------------------------- | |
" ファイル系 | |
set fileencodings=utf-8,cp932 " ファイルを開いたときに自動認識するエンコード | |
set fenc=utf-8 "文字コードをUFT-8に設定 | |
set nobackup " バックアップファイルを作らない | |
set noswapfile " スワップファイルを作らない | |
set autoread " 編集中のファイルが変更されたら自動で読み直す | |
set hidden " バッファが編集中でもその他のファイルを開けるように | |
"--------------------------------------------------- | |
" 操作系 | |
set wildmode=list:longest " コマンドラインの補完 | |
set virtualedit=onemore " 行末の1文字先までカーソルを移動できるように | |
set scrolloff=5 " スクロールする時の上下オフセット | |
set mouse=a " ターミナル環境でもマウスが使えるように | |
"--------------------------------------------------- | |
" 操作系(バックスペース) | |
set backspace+=start " 既存の文字を削除できるように設定 | |
set backspace+=eol " 行頭で[Backspace]を使用した場合上の行と連結 | |
set backspace+=indent " オートインデントモードでインデントを削除できるように設定 | |
"--------------------------------------------------- | |
" 見た目系 | |
syntax on "コードカラー化 | |
set nowrap " 折り返ししない | |
set number " 行番号を表示 | |
set cursorline " 現在の行を強調表示 | |
"set cursorcolumn " 現在の行を強調表示(縦) | |
set showmatch " 括弧入力時の対応する括弧を表示 | |
set showcmd " 入力中のコマンドをステータスに表示する | |
"カレントWindowだけカーソルライン強調表示 | |
augroup change_window | |
autocmd! | |
autocmd WinLeave * setlocal nocursorline | |
autocmd WinEnter * setlocal cursorline | |
augroup END | |
"--------------------------------------------------- | |
" 見た目系(ステータスライン) | |
set laststatus=2 " ステータスラインを常に表示 | |
set statusline=[%n] " バッファ番号 | |
set statusline+=%h " ヘルプページなら[HELP]と表示 | |
set statusline+=%w " プレビューウインドウなら[Prevew]と表示 | |
set statusline+=%m " 変更フラグ | |
set statusline+=%r " 読み込み専用フラグ | |
set statusline+=%t " ファイル名 | |
set statusline+=\ " 空白 | |
set statusline+=%< " 切り詰める位置 | |
set statusline+=- " ハイフン | |
set statusline+=\ " 空白 | |
set statusline+=%{expand('%:p:h')} " カレントディレクトリ表示 | |
set statusline+=\ " 空白 | |
set statusline+=%= " これ以降は右寄せ表示 | |
set statusline+=%l/%L,%v " カーソル行、総行数、カーソル桁位置 | |
set statusline+=\ " 空白 | |
set statusline+=[%{&fileencoding},%{&ff},%Y] " file encoding, ファイルタイプ | |
"set statusline=[%n]%h%w\ %t%m%r\ %<-\ %{expand('%:p:h')}\ %=%l/%L,%v\ [%{&fileencoding},%{&ff},%Y] | |
"--------------------------------------------------- | |
" 見た目系(特殊文字の可視化) | |
set list listchars=tab:\>\-,trail:_ " タブを「>-」、行頭行末空白を「_」 | |
augroup highlightZenkakuSpace "全角スペースに色をつける | |
autocmd! | |
autocmd VimEnter,ColorScheme * highlight ZenkakuSpace term=underline ctermbg=Gray guibg=DarkGray | |
autocmd VimEnter,WinEnter * match ZenkakuSpace / / | |
augroup END | |
"set visualbell " ビープ音を可視化 | |
"--------------------------------------------------- | |
" Tab/インデント系 | |
set expandtab " Tab文字を半角スペースにする | |
set autoindent " 自動インデント | |
set tabstop=4 " 行頭以外のTab文字の表示幅(スペースいくつ分) | |
set shiftwidth=4 " 自動インデントでのTab文字の表示幅 | |
set softtabstop=0 "キーボードから入るタブの数(0の時はtabstopの値) | |
"ファイルタイプ別にタブ幅などを変える | |
augroup file_type_indent | |
autocmd! | |
autocmd FileType c setlocal tabstop=4 softtabstop=4 shiftwidth=4 cindent cinoptions+=:0 expandtab | |
autocmd FileType cpp setlocal tabstop=4 softtabstop=4 shiftwidth=4 cindent cinoptions+=:0 expandtab | |
autocmd FileType ruby setlocal tabstop=2 softtabstop=2 shiftwidth=2 autoindent expandtab | |
autocmd FileType asm setlocal tabstop=8 softtabstop=8 shiftwidth=8 noautoindent noexpandtab | |
autocmd FileType text setlocal tabstop=4 softtabstop=4 shiftwidth=4 noautoindent noexpandtab | |
augroup END | |
"--------------------------------------------------- | |
" 検索系 | |
set ignorecase " 検索文字列が小文字の場合は大文字小文字を区別なく検索する | |
set smartcase " 検索文字列に大文字が含まれている場合は区別して検索する | |
set incsearch " 検索文字列入力時に順次対象文字列にヒットさせる | |
set wrapscan " 検索時に最後まで行ったら最初に戻る | |
set hlsearch " 検索語をハイライト表示 | |
"--------------------------------------------------- | |
" 日本語系 | |
" 挿入モードのデフォルトはIMEオフ | |
set iminsert=0 | |
set imsearch=-1 | |
"----------------------------------------------------- | |
" セッション系 | |
"セッションに保存する情報 | |
set sessionoptions+=resize,winpos | |
"set sessionoptions=blank,buffers,curdir,folds,help,options,winsize,resize,winpos | |
"----------------------------------------------------- | |
" キーリマップ | |
" 折り返し時に表示行単位での移動できるようにする | |
"nnoremap j gj | |
"nnoremap k gk | |
" バッファの移動 | |
nmap <C-p> :bp<CR> | |
nmap <C-n> :bn<CR> | |
" 挿入モードでESCでIME OFF | |
inoremap <Esc> <Esc>:set iminsert=0<CR> | |
" ESC連打でハイライト解除 | |
nmap <Esc><Esc> :nohlsearch<CR><Esc> | |
" 行頭/行末移動 0,$のalias | |
nmap <C-h> 0 | |
nmap <C-l> $ | |
" 矢印キーを無効にする | |
noremap <Up> <Nop> | |
noremap <Down> <Nop> | |
noremap <Left> <Nop> | |
noremap <Right> <Nop> | |
inoremap <Up> <Nop> | |
inoremap <Down> <Nop> | |
inoremap <Left> <Nop> | |
inoremap <Right> <Nop> | |
" 入力モードでのカーソル移動 | |
inoremap <C-j> <Down> | |
inoremap <C-k> <Up> | |
inoremap <C-h> <Left> | |
inoremap <C-l> <Right> | |
"----------------------------------------------------- | |
" プラットフォーム依存系 | |
set clipboard+=unnamed " ヤンク/ペーストでClipboardも使う(*レジスタが使用される) | |
"----------------------------------------------------- | |
" 環境系 | |
set belloff=all |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment