Skip to content

Instantly share code, notes, and snippets.

@yossan
Created March 12, 2019 15:30
Show Gist options
  • Save yossan/5323f286e559809072e6caeb388f6a30 to your computer and use it in GitHub Desktop.
Save yossan/5323f286e559809072e6caeb388f6a30 to your computer and use it in GitHub Desktop.
vimrc
filetype plugin on " required
filetype indent on " required
let g:ale_completion_enabled = 1
" {{{ minpac memo
" プラグイン管理
" プラグインの更新 :minpac#update()
" プラグインの削除 :minpac#clean()
" }}}
packadd minpac
call minpac#init()
call minpac#add('mustache/vim-mustache-handlebars')
call minpac#add('tpope/vim-unimpaired')
call minpac#add('tpope/vim-scriptease', {'type': 'opt'})
" fzf plugin
" * インストールが必要
" $ fzf/install --bin
" * shell用のコマンドも用意されているのでパスを追加
" export PATH=$PATH:~/.vim/pack/minpac/start/fzf/bin
" * コマンド
" * FZF ファイルのサーチ <C-c>で閉じる
call minpac#add('junegunn/fzf')
" projectionist
call minpac#add('tpope/vim-projectionist')
" colorscheme
"call minpac#add('vim-scripts/Solarized')
call minpac#add('altercation/solarized')
set background=light
colorscheme solarized
" statusbar
call minpac#add('vim-airline/vim-airline')
" nerdtree
call minpac#add('scrooloose/nerdtree')
"autocmd vimenter * NERDTree
"autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
noremap <C-n> :NERDTreeToggle<CR>
" javascript
call minpac#add('pangloss/vim-javascript')
let g:javascript_plugin_jsdoc = 1
" swift
call minpac#add('keith/swift.vim')
" java server launguage server
let g:ale_completion_enabled = 1
call minpac#add('w0rp/ale')
" maven
call minpac#add('mikelue/vim-maven-plugin')
" git integration
call minpac#add('tpope/vim-fugitive')
" quickrun
call minpac#add('thinca/vim-quickrun')
"}}}
" Mapping command
nnoremap <C-p> :<C-u>FZF<CR>
command! PackUpdate call minpac#update()
command! PackClean call minpac#clean()
" find,gfなどに検索するpathを追加する
" set path+=$HOME/Desktop
set path+=$HOME/Dropbox/works
set path+=~/.vim/
" 検索ハイライトをONにする
set hlsearch
" 開いた箇所を自動的に作業ディレクトリにする
augroup auto_lcd
au!
au BufEnter * lcd %:p:h
augroup End
" 見た目上で移動
nnoremap j gj
nnoremap k gk
" 検索ハイライトを一時的に無効化する
nnoremap <silent> <C-l> :<C-u>nohlsearch<CR><C-l>
" 画面をクリアしてから再描画する
" <C-l> help CTRL-L
" 検索ハイライトを一時的に無効化する (クリアする)
":nohlsearch
" 検索ハイライトを消す
" let @/=""
" 検索を入力するたびに自動的に検索させていく。(デフォルトではエンターを押す必要がある)
set incsearch
" 検索単語補完
" <C-r><C-w>
"netrwにて並びを時間に変える。"size", \"exten",
"\"name"があり、デフォルトはname
"let g:netrw_sort_by="time"
command! -nargs=1 Cd :cd ~/Dropbox/learning/<args>
"<leader>をoptionから','に変更
let mapleader=","
autocmd FileType swift nnoremap <leader>r :execute "!swift " . fnameescape(expand('%'))<CR>
"検索で大文字小文字を区別しない
"set ignorecase
"検索文字に大文字を含んだときのみ、大文字小文字を区別する
set smartcase
" Status Line
"{{{
"}}}
" netrw
" {{{
" v, o, p, %
"
" p(Preview)で開く際にverticalで開くようにする
let g:netrw_preview=1
" vで開く際は右側で開くようにする
let g:netrw_altv=1
" oで開く際に下側で開くようにする
let g:netrw_alto=1
" pで開いた際に75%にする
let g:netrw_winsize=75
"}}}
" Options Setting
"{{{
"viとの互換性をなくす
set nocompatible
"スペルチェックを行わないようにする
"set nospell
"折り畳みを{x3 }x3にする
set fdm=marker
" size of a hard tabstop
set tabstop=4
" always uses spaces instead of tab characters
set expandtab
" size of an "indent"
set shiftwidth=4
"}}}
" Key Mappings
"{{{
"execute vim
"autocmd FileType vim nnoremap <leader>r :<C-u>source %<CR>
"cancel <C-@>
inoremap <C-@> <ESC>
"newline
inoremap <expr> <cr> pumvisible()? "\<c-y>" : "\<c-g>u<cr>"
"move buffers
nnoremap <silent> [b :bprevious<CR>
nnoremap <silent> ]b :bnext<CR>
nnoremap <silent> [B :bfirst<CR>
nnoremap <silent> ]B :blast<CR>
"}}}
" Commnad
"{{{
"}}}
" Abbreviations
"{{{
"iabbrev retunr return
"iabbrev kkig -- <cr>Kosuke Yoshimoto<cr>kosuke.yoshimoto@gmail.com
"}}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment