Skip to content

Instantly share code, notes, and snippets.

@yossan
Created December 3, 2019 12:25
Show Gist options
  • Save yossan/5bfef2d6dd74d1e9a72338145b28de58 to your computer and use it in GitHub Desktop.
Save yossan/5bfef2d6dd74d1e9a72338145b28de58 to your computer and use it in GitHub Desktop.
filetype plugin on " required
filetype indent on " required
" ctags
set fileformats=unix,dos,mac
set fileencodings=utf-8,sjis
" {{{ minpac memo
" プラグイン管理
" プラグインの更新 :minpac#update()
" プラグインの削除 :minpac#clean()
" }}}
packadd minpac
call minpac#init()
" nerdtree
call minpac#add('scrooloose/nerdtree')
" open NERDTree with `Ctrl+n`
map <C-n> :NERDTreeToggle <CR>
"map <C-m> :NERDTreeToggle %<CR>
map <C-m> :NERDTreeCWD <CR>
" close vim if the only window left open is a NERDTree.
"autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
"open a NERDTree automatically when vim starts up?
" autocmd vimenter * NERDTree
" open a NERDTree automatically when vim starts up if no files were specified?
"autocmd StdinReadPre * let s:std_in=1
"autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endi
" web-api
call minpac#add('mattn/webapi-vim')
" coding
"call minpac#add('vim-syntastic/syntastic')
" an easy way to browse the tags of the current file
call minpac#add('majutsushi/tagbar')
nmap <F8> :TagbarToggle<CR>
" rust
call minpac#add('rust-lang/rust.vim')
call minpac#add('rust-lang/rustfmt')
" :RustPlay
let g:rust_clip_command = 'pbcopy'
" mustache
call minpac#add('mustache/vim-mustache-handlebars')
call minpac#add('tpope/vim-unimpaired')
call minpac#add('tpope/vim-scriptease', {'type': 'opt'})
"tagbar
call minpac#add('majutsushi/tagbar')
" 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('rafi/awesome-vim-colorschemes')
"call minpac#add('vim-scripts/Solarized')
"call minpac#add('altercation/solarized') set background=light
" colorscheme solarized
set termguicolors " enable true colors support
" move to .gvimrc
"let ayucolor="mirage" " for mirage version of theme
"let ayucolor="dark" " for dark version of theme
"let ayucolor="light" " for light version of theme
"colorscheme ayu
call minpac#add('rakr/vim-one')
"let g:airline_theme='one'
"colorscheme one
"set background=dark " for the dark version
""set background=light " for the light version
"call one#highlight('vimLineComment', '3cb371', '', 'none')
"call one#highlight('String', 'ffff33', '', 'none')
"" statusbar
call minpac#add('vim-airline/vim-airline')
"" ga -> align
":EasyAlign
call minpac#add('junegunn/vim-easy-align')
"" html
call minpac#add('hail2u/vim-css3-syntax')
call minpac#add('gorodinskiy/vim-coloresque')
call minpac#add('tpope/vim-haml')
call minpac#add('mattn/emmet-vim')
"" php
call minpac#add('arnaud-lb/vim-php-namespace')
"" javascript
call minpac#add('jelera/vim-javascript-syntax')
call minpac#add('pangloss/vim-javascript')
let g:javascript_plugin_jsdoc = 1
"" swift
call minpac#add('keith/swift.vim')
"" surrond.vim
call minpac#add('tpope/vim-surround')
"" java server launguage server
"let g:ale_completion_enabled = 1
call minpac#add('w0rp/ale')
" git integration
call minpac#add('tpope/vim-fugitive')
" quickrun
call minpac#add('thinca/vim-quickrun')
"}}}
" json
call minpac#add('elzr/vim-json')
" memolist
call minpac#add('glidenote/memolist.vim')
let g:memolist_path = "~/Dropbox/memolist"
"let g:memolist_prompt_tags = 1
" categories prompt (default 0)
"let g:memolist_prompt_categories = 1
" use fzf (default 0)
let g:memolist_fzf = 1
" remove filename prefix (default 0)
"let g:memolist_filename_prefix_none = 1
" vim
au BufLeave ~/.vimrc :source ~/.vimrc
" Mapping command
nnoremap <C-p> :<C-u>FZF<CR>
command! PackUpdate call minpac#update()
command! PackClean call minpac#clean()
command! XML %s/></>\r</g | filetype indent on | setf xml | normal gg=G
" find,gfなどに検索するpathを追加する
" set path+=$HOME/Desktop
set path+=$HOME/Dropbox/works
set path+=~/.vim/
" 検索ハイライトをONにする
set hlsearch
" 開いた箇所を自動的に作業ディレクトリにする
augroup auto_lcd
au!
au BufEnter * if &buftype !=# 'terminal' | lcd %:p:h | endif
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
" set environment in terminal
" javac にて 日本語ファイルを渡した際に文字化けしないようにする
let $LC_CTYPE = 'UTF-8'
" 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
" always uses spaces instead of tab characters
set expandtab
"}}}
" 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>
"}}}
" Abbreviations
"{{{
"iabbrev retunr return
"iabbrev kkig -- <cr>Kosuke Yoshimoto<cr>kosuke.yoshimoto@gmail.com
"}}}
" pastはインデントを合わさるようにする
noremap p ]p
" Default indentation
set noexpandtab ts=4 sw=0 sts=-1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment