エンジニアもどきの雑記

メモ帳です。きっと。macアプリ配信windowsでもできるようになるまで絶対にメイン機にしないマン。特筆しない限り環境は【win10home,i5-7200u,8g,64bit,巨乳が好き】

Vimrcごちゃごちゃしすぎてたのでシンプルにした

なにがあったって色々足してたら急にvim-goが死んだ。
わけもわからずに色々詰め込み過ぎてどこかが影響したのだろう。

知っての通り、十月からGoの現場に入れたし、Go以外を書く機会がしばらくないので簡素にした。githubにも上がってるけど、ここにも

" text encoding
set encoding=utf-8
set fileencodings=iso-2022-jp.euc.jp,sjis,utf-8
set fileformats=unix,dos,mac

" set line number
set number

" colorshceme setting
colorscheme elflord
syntax on

" vim-plug
" if vim-plug is not exist
if has('vim_starting')
        set rtp+=~/.vim/plugged/vim-plug
        if !isdirectory(expand('~/.vim/plugged/vim-plug'))
                echo 'install vim-plug...'
                call system('mkdir -p ~/.vim/plugged/vim-plug')
                call system('git clone https://github.com/junegunn/vim-plug.git ~/.vim/plugged/vim-plug/autoload')
        end
endif

call plug#begin('~/.vim/plugged')
Plug 'junegunn/vim-plug', {'dir': '~/.vim/plugged/vim-plug/autoload'}
Plug 'faith/vim-go', { 'do': ':GoInstallBinaries'}
Plug 'scrooloose/nerdtree'
Plug 'Yggdroot/indentLine'
Plug 'terryma/vim-multiple-cursors'
Plug 'jiangmiao/auto-pairs'
Plug 'Shougo/neocomplcache'
Plug 'vim-airline/vim-airline'
call plug#end()

" vim-go settings
let g:go_fmt_command = "goimports"
let g:go_addtags_transform = "camelcase"
let g:go_highlight_types = 1
let g:go_highlight_fields = 1
let g:go_highlight_functions = 1
let g:go_highlight_function_calls = 1
let g:go_highlight_extra_types = 1
let g:go_highlight_build_constraints = 1

" nerdtree settings
nnoremap <silent><C-e> :NERDTreeToggle<CR>

" space settings
autocmd BufNewFile,BufRead *.go setlocal noexpandtab tabstop=4 shiftwidth=4

" indentLine settings
let g:indentLine_color_term = 239
let g:indentLine_char = '>'
set list listchars=tab:>.

" multiple cursor
nnoremap :mulc :MultipleCursorsFind

" neocomplcache
let g:acp_enableAtStartup = 0
let g:neocomplcache_enable_at_startup = 1
let g:neocomplcache_enable_smart_case = 1
let g:neocomplcache_min_syntax_length = 3
let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*'
let g:neocomplcache_dictionary_filetype_lists = { 'default' : '' }
inoremap <expr><C-g>     neocomplcache#undo_completion()
inoremap <expr><C-l>     neocomplcache#complete_common_string()
inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR>
function! s:my_cr_function()
  return neocomplcache#smart_close_popup() . "\<CR>"
endfunction
inoremap <expr><TAB>  pumvisible() ? "\<C-n>" : "\<TAB>"
inoremap <expr><C-h> neocomplcache#smart_close_popup()."\<C-h>"
inoremap <expr><BS> neocomplcache#smart_close_popup()."\<C-h>"
inoremap <expr><C-y>  neocomplcache#close_popup()
inoremap <expr><C-e>  neocomplcache#cancel_popup()

" airline sttings
let g:airline_enable_branch = 0
let g:airline_section_b = "%t %M"
let g:airline_section_c = ''
let s:sep = " %{get(g:, 'airline_right_alt_sep', '')} "
let g:airline_section_x =
                        \ "%{strlen(&fileformat)?&fileformat:''}".s:sep.
                        \ "%{strlen(&fenc)?&fenc:&enc}".s:sep.
                        \ "%{strlen(&filetype)?&filetype:'no ft'}"
let g:airline_section_y = '%3p%%'
let g:airline_section_z = get(g:, 'airline_linecolumn_prefix', '').'%3l:%-2v'
let g:airline#extensions#whitespace#enabled = 0

" move cursor
noremap <S-h> ^
noremap <S-j> }
noremap <S-k> {
noremap <S-l> $

" word comple
nnoremap <C-f> <C-x><C-o>

" highlight text under cursor
nnoremap <silent> <Space><Space> "zyiw:let @/ = '\<' . @z . '\>'<CR>:set hlsearch<CR>"
" delete highlight
nnoremap <silent> <C-l> :<C-u>nohlsearch<CR><C-l>

" tab settings
nnoremap sj <C-w>j
nnoremap sk <C-w>k
nnoremap sl <C-w>l
nnoremap sh <C-w>h
nnoremap sJ <C-w>J
nnoremap sK <C-w>K
nnoremap sL <C-w>L
nnoremap sH <C-w>H

結局わかってないからコピペばかりだわ。
今度ちゃんと勉強しよう。
go書くだけならvim-goの機能とでこれだけでよさそう?
elflordは好きなんだよ

lua入れてなかったのでneocomplcacheで。<C-p>でいいしvim-goの補完あるけど一応。

vim scriptの勉強をどこかのタイミングで使用と思います。