いろいろ環境設定(主にvim)
ソースコードが読めない(絶望)。
あまりにダメダメだから、環境を色々試してみることにした。
やったこと↓
- Windowsのレジストリをいじって、キーバインドを変更。CapsLock->Control, 変換->Esc。
- tmux導入。
- vimプラグインdein導入。
- vimプラグインtaglist導入。
- vimプラグインNERDTree導入。
- vimプラグインGtags導入。
- vimプラグインvim-clang導入。
とりあえず、今は
Ctrl-Aでtmuxのコントロール(Actionのつもり)。
Ctrl-Tでファイルツリー表示(Treeのつもり)。
Ctrl-Gでカーソル位置の関数定義/参照にジャンプ(Goのつもり)。
Ctrl-JでQuickFixの選択を下に(vimに合わせて)。
Ctrl-KでQuickFixの選択を上に(vimに合わせて)。
Ctrl-Lでファイル内関数一覧表示(Listのつもり)。
Ctrl-Oでジャンプ元に戻る(デフォルト通り)。
Ctrl-Iで進む(デフォルト通り)。
という感じにキーバインドしてみた。
vimプラグイン大杉ワロタ。
設定項目も多すぎ。
しんどい。
でもなんかかっこよくなったぞ(見た目だけ)。
とりあえず、ネットでパクりまくったvimrcをメモ。
""""""""""" "dein """""""""""" if &compatible set nocompatible endif set runtimepath+=~/.vim/dein.vim call dein#begin(expand('~/.vim/')) call dein#add('scrooloose/nerdtree') call dein#add('Shougo/vimproc.vim') call dein#add('Shougo/neocomplete.vim') call dein#add('justmao945/vim-clang') call dein#add('Shougo/neoinclude.vim') call dein#end() """""""""""" "nerdtree """""""""""" noremap <C-t> :NERDTreeToggle<CR> let g:NERDTreeShowBookmarks = 1 let g:NERDTreeShowHidden = 1 let g:NERDTreeDirArrows = 1 let g:NERDTreeDirArrowExpandable = '+' let g:NERDTreeDirArrowCollapsible = '-' autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif """""""""""" "neocomplete """""""""""" let g:neocomplete#enable_at_startup = 1 "let g:neocomplete#enable_auto_select = 1 if !exists('g:neocomplete#force_omni_input_patterns') let g:neocomplete#force_omni_input_patterns = {} endif let g:neocomplete#force_overwrite_completefunc = 1 let g:neocomplete#force_omni_input_patterns.c = '[^.[:digit:] *\t]\%(\.\|->\)' let g:neocomplete#force_omni_input_patterns.cpp = '[^.[:digit:] *\t]\%(\.\|->\)\|\h\w*::' " disable auto completion for vim-clanG let g:clang_auto = 0 let g:clang_complete_auto = 0 let g:clang_auto_select = 0 let g:clang_use_library = 1 " default 'longest' can not work with neocomplete let g:clang_c_completeopt = 'menuone' let g:clang_cpp_completeopt = 'menuone' if executable('clang-3.8') let g:clang_exec = 'clang-3.8' elseif executable('clang-3.7') let g:clang_exec = 'clang-3.7' elseif executable('clang-3.6') let g:clang_exec = 'clang-3.6' elseif executable('clang-3.5') let g:clang_exec = 'clang-3.5' elseif executable('clang-3.4') let g:clang_exec = 'clang-3.4' else let g:clang_exec = 'clang' endif if executable('clang-format-3.8') let g:clang_format_exec = 'clang-format-3.8' elseif executable('clang-format-3.7') let g:clang_format_exec = 'clang-format-3.7' elseif executable('clang-format-3.6') let g:clang_format_exec = 'clang-format-3.6' elseif executable('clang-format-3.5') let g:clang_format_exec = 'clang-format-3.5' elseif executable('clang-format-3.4') let g:clang_format_exec = 'clang-format-3.4' else let g:clang_exec = 'clang-format' endif let g:clang_c_options = '-std=c11' let g:clang_cpp_options = '-std=c++11 -stdlib=libc++' inoremap <expr><CR> pumvisible() ? "\<C-y>" : "\<CR>" inoremap <expr><TAB> pumvisible() ? "\<Down>" : "\<TAB>" inoremap <expr><S-TAB> pumvisible() ? "\<Up>" : "\<S-TAB>" inoremap <expr><C-j> pumvisible() ? "\<Down>" : "<C-j>" inoremap <expr><C-k> pumvisible() ? "\<Up>" : "<C-k>" inoremap <expr><Space> pumvisible() ? "\<C-y><Space>" : "\<Space>" inoremap <expr>( pumvisible() ? "\<C-y>(" : "(" inoremap <expr>) pumvisible() ? "\<C-y>)" : ")" inoremap <expr>[ pumvisible() ? "\<C-y>[" : "[" inoremap <expr>] pumvisible() ? "\<C-y>]" : "]" inoremap <expr>< pumvisible() ? "\<C-y><" : "<" inoremap <expr>> pumvisible() ? "\<C-y>>" : ">" inoremap <expr>* pumvisible() ? "\<C-y>*" : "*" inoremap <expr>& pumvisible() ? "\<C-y>&" : "&" inoremap <expr>" pumvisible() ? "\<C-y>\"" : "\"" inoremap <expr>' pumvisible() ? "\<C-y>'" : "'" inoremap <expr>: pumvisible() ? "\<C-y>:" : ":" inoremap <expr>; pumvisible() ? "\<C-y>;" : ";" inoremap <expr>` pumvisible() ? "\<C-y>`" : "`" """"""""""" "gtags """"""""""" function! GtagsCursor_() execute "GtagsCursor" if (len(getqflist()) <= 1) cclose endif endfunction nnoremap <C-g> :call GtagsCursor_()<CR> noremap <C-l> :Gtags -f %<CR> noremap <C-j> :cn<CR> noremap <C-k> :cp<CR> nnoremap <C-q> :cclose<CR> """""""""""" "taglist """""""""""" let Tlist_Use_Right_Window = 1 let Tlist_Exit_OnlyWindow = 1 let Tlist_File_Fold_Auto_Close = 1 nnoremap <C-l> :Tlist<CR> """""""""""" "general """""""""""" set tabstop=4 set shiftwidth=4 set expandtab set number set nowrap set cindent set cinoptions+=g0 set showmatch syntax on set ignorecase set hlsearch nnoremap / /\v<C-r><C-w> vnoremap / "zy/\v<C-r>z nnoremap <ESC><ESC> :nohlsearch<CR> nnoremap <TAB> :bn<CR> nnoremap <S-TAB> :bp<CR> nnoremap <S-h> <C-w>h nnoremap <S-l> <C-w>l nnoremap <Bar> :vsp<CR> nnoremap <Space>h ^ nnoremap <Space>l $ set statusline=[%n]\ %f set laststatus=2 set list set listchars=tab:^-,eol:$ set clipboard=unnamed,autoselect set colorcolumn=80 set nowrap colorscheme darkblue