Created
February 13, 2016 20:31
-
-
Save utisam/77b586693b36289ee7fe to your computer and use it in GitHub Desktop.
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
scriptencoding utf-8 | |
"""""""""""""""" | |
" キーバインド " | |
"""""""""""""""" | |
" 挿入モードで使うと殴りたくなるキー対策 | |
nnoremap OA gi<Up> | |
nnoremap OB gi<Down> | |
nnoremap OC gi<Right> | |
nnoremap OD gi<Left> | |
nnoremap OH gi<Home> | |
nnoremap OF gi<End> | |
" dd/D と yy/Y で一貫性を持たせる | |
nnoremap Y y$ | |
" increment/decrement the next number | |
nnoremap + <C-a> | |
nnoremap - <C-x> | |
" insert modeを抜けたらIMEをOFF | |
inoremap <silent> <ESC> <ESC>:set iminsert=0<CR> | |
" *: ビジュアルモードで選択した文字列を検索 | |
vnoremap * "zy:let @/ = @z<CR>n | |
"""""""" | |
" 表示 " | |
"""""""" | |
"カラースキーマを設定 | |
colorscheme slate | |
" シンタックスハイライト | |
if &t_Co > 1 | |
syntax enable | |
endif | |
" □とか○の文字があってもカーソル位置がずれないようにする | |
set ambiwidth=double | |
" 新しい行のインデントを現在行と同じにする | |
set autoindent | |
" バックスペースで削除可能にする | |
set backspace=start,eol,indent | |
" カーソルラインを表示する | |
set cursorline | |
" 文字コードの設定 | |
set encoding=utf-8 | |
set fileencodings=utf-8,iso-2022-jp,sjis,euc-jp | |
" 検索時にハイライト | |
set hlsearch | |
" インクリメンタル検索を有効化 | |
set incsearch | |
" 空白文字を表示 | |
set list | |
set listchars=tab:»-,trail:-,eol:↲,extends:»,precedes:«,nbsp:% | |
" ファイルのコメントによる独自設定を有効に | |
set modeline | |
" マウス有効 | |
set mouse=a | |
" 行番号を表示 | |
set number | |
" 補完のポップアップメニューの高さの最大値 | |
set pumheight=10 | |
" カーソルが何行目の何列目に置かれているかを表示する | |
set ruler | |
" スクロールする時に下が見えるようにする | |
set scrolloff=5 | |
" コマンドを画面最下部に表示する | |
set showcmd | |
" 対応するカッコを 0.1 秒だけ表示 | |
set showmatch | |
set matchtime=1 | |
" 新しい行を作ったときに高度な自動インデントを行う | |
set smartindent | |
"ウインドウタイトルを設定する | |
set title | |
" アンドゥ情報を保存 | |
try | |
set undofile | |
set undodir=~/.vim/undo | |
catch | |
endtry | |
" 行を超えるカーソル移動 | |
set whichwrap=b,s,[,],<,>,~ | |
" 補完時の一覧表示機能有効化 | |
set wildmenu wildmode=list:full | |
" ステータスラインを表示 | |
set laststatus=2 " ステータスラインを常に表示 | |
set statusline=%F%m%r%h%w\%=[%Y\|%{&ff}\|%{&fileencoding}]\ %L\ lines\ (%04l,%04v) " ステータスラインの内容 | |
" タブ幅の設定 | |
set expandtab " タブをスペースに置き換える | |
set tabstop=4 | |
set shiftwidth=4 | |
set softtabstop=4 | |
"---- GVIM ---- | |
" OSのクリップボードを使用する | |
set clipboard+=unnamed | |
" フォント | |
if has("mac") | |
set guifont=Ricty\ Discord:h16 | |
elseif has("unix") | |
set guifont=Ricty\ Discord\ 16 | |
set guifontwide=Ricty\ Discord\ 16 | |
endif | |
" ハイライトは下線のみ | |
highlight clear CursorLine | |
highlight CursorLine cterm=underline gui=underline | |
" タブの表示を設定 | |
function! s:tabpage_label(n) | |
" t:title と言う変数があったらそれを使う | |
let title = gettabvar(a:n, 'title') | |
if title !=# '' | |
return title | |
endif | |
" タブページ内のバッファのリスト | |
let bufnrs = tabpagebuflist(a:n) | |
" カレントタブページかどうかでハイライトを切り替える | |
let hi = a:n is tabpagenr() ? '%#TabLineSel#' : '%#TabLine#' | |
" バッファが複数あったらバッファ数を表示 | |
let no = len(bufnrs) | |
if no is 1 | |
let no = '' | |
endif | |
" タブページ内に変更ありのバッファがあったら '+' を付ける | |
let mod = len(filter(copy(bufnrs), 'getbufvar(v:val, "&modified")')) ? '+' : '' | |
let sp = (no . mod) ==# '' ? '' : ' ' " 隙間空ける | |
" カレントバッファ | |
let curbufnr = bufnrs[tabpagewinnr(a:n) - 1] " tabpagewinnr() は 1 origin | |
let fname = pathshorten(bufname(curbufnr)) | |
let label = "[" . a:n . "]" . no . mod . sp . fname | |
return '%' . a:n . 'T' . hi . label . '%T%#TabLineFill#' | |
endfunction | |
function! MakeTabLine() | |
let titles = map(range(1, tabpagenr('$')), 's:tabpage_label(v:val)') | |
let sep = ' ' " タブ間の区切り | |
let tabpages = join(titles, sep) . sep . '%#TabLineFill#%T' | |
return tabpages | |
endfunction | |
set tabline=%!MakeTabLine() | |
" neobundle | |
if isdirectory(expand('~/.vim/bundle')) | |
if has('vim_starting') | |
set runtimepath+=~/.vim/bundle/neobundle.vim/ | |
endif | |
call neobundle#begin(expand('~/.vim/bundle')) | |
NeoBundleFetch 'Shougo/neobundle.vim' | |
" Add or remove your Bundles here: | |
" unite | |
NeoBundle 'Shougo/unite.vim' | |
" vim-clang | |
NeoBundle 'justmao945/vim-clang' | |
let g:clang_c_options = '-std=c11' | |
let g:clang_cpp_options = '-std=c++1z -stdlib=libc++ --pedantic-errors' | |
" jedi-vim | |
NeoBundle 'davidhalter/jedi-vim' | |
" rust.vim | |
NeoBundle 'rust-lang/rust.vim' | |
call neobundle#end() | |
filetype plugin indent on | |
" If there are uninstalled bundles found on startup, | |
" this will conveniently prompt you to install them. | |
NeoBundleCheck | |
endif | |
autocmd FileType python setlocal completeopt-=preview | |
autocmd CompleteDone * pclose |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment