Skip to content

Instantly share code, notes, and snippets.

@koturn
Created May 4, 2016 18:58
Show Gist options
  • Save koturn/343f2445f20bd3cbf02a6f89dd2e7bcf to your computer and use it in GitHub Desktop.
Save koturn/343f2445f20bd3cbf02a6f89dd2e7bcf to your computer and use it in GitHub Desktop.
ちゃっくさんのinit.vimの起動を高速化!
" neobundle.vim version
set fileencoding=utf-8
set encoding=utf-8
scriptencoding utf-8
if &compatible && has('vim_starting')
set nocompatible
endif
augroup MyAutoCmd
autocmd!
augroup END
"==================
"test
"=================
"=======================
" NeoBundle
"======================
" TODO
if has('vim_starting')
" set runtimepath+=~/.config/nvim/bundle/neobundle.vim/
set runtimepath+=~/.vim/bundle/neobundle.vim/
endif
" call neobundle#begin(expand('~/.config/nvim/bundle/'))
call neobundle#begin()
if neobundle#load_cache()
NeoBundleFetch 'Shougo/neobundle.vim'
"completion{{{
NeoBundle 'Shougo/deoplete.nvim'
"}}}
"compile{{{
NeoBundle 'thinca/vim-quickrun', {
\ 'on_cmd': 'QuickRun',
\ 'on_map': [['n', '<Plug>(quickrun']]
\}
"}}}
"filer"{{{
NeoBundle 'scrooloose/nerdtree', {
\ 'on_cmd': [
\ 'NERDTree',
\ 'NERDTreeCWD',
\ 'NERDTreeClose',
\ 'NERDTreeFind',
\ 'NERDTreeFOcus',
\ 'NERDTreeFromBookmark',
\ 'NERDTreeMirror',
\ 'NERDTreeToggle',
\ ]
\}
""}}}
"autoclose{{{
NeoBundle 'Townk/vim-autoclose'
"}}}
"cpp{{{
NeoBundle 'octol/vim-cpp-enhanced-highlight', {
\ 'on_ft': 'cpp'
\}
"}}}
"scheme"{{{
NeoBundle 'losingkeys/vim-niji', {
\ 'on_ft': ['lisp', 'scheme', 'clojure']
\}
"}}}
"haskell{{{
NeoBundle 'kana/vim-filetype-haskell', {
\ 'on_ft': 'haskell',
\}
NeoBundle 'ujihisa/neco-ghc', {
\ 'on_cmd': 'NecoGhcDiagnostics',
\ 'on_ft': 'haskell'
\}
NeoBundle 'dag/vim2hs'
"}}}
"javascript"{{{
NeoBundle 'jelera/vim-javascript-syntax', {
\ 'on_ft': 'javascript'
\}
"}}}
"colorscheme {{{
NeoBundle 'nanotech/jellybeans.vim'
NeoBundle 'w0ng/vim-hybrid'
NeoBundle 'Mizuchi/STL-Syntax', {
\ 'on_ft' : 'cpp'
\}
"}}}
"markdown{{{
NeoBundle 'plasticboy/vim-markdown', {
\ 'on_ft': 'markdown'
\}
NeoBundle 'kannokanno/previm', {
\ 'on_cmd': 'PrevimOpen'
\}
NeoBundle 'tyru/open-browser.vim', {
\ 'on_cmd': [
\ 'OpenBrowser',
\ 'OpenBrowserSearch',
\ 'OpenBrowserSmartSearch'
\ ],
\ 'on_map': [['nv', '<Plug>(openbrowser-']],
\ 'on_func': 'openbrowser'
\}
"}}}
"HTML"{{{
NeoBundle 'othree/html5.vim', {
\ 'on_ft': 'html'
\}
""}}}
" else{{{
NeoBundle 'itchyny/lightline.vim'
"}}}
"自作プラグイン
NeoBundle 'chakku000/OpenTemplate.vim', {
\ 'on_cmd': 'OpenTemplate'
\}
"NeoBundle 'chakku000/OpenTemplate.vim',{
" \ 'base' : '~/prog/VimPlugin',
" \ 'type' : 'nosync',
" \}
"vimscript
NeoBundle 'mopp/layoutplugin.vim', {
\ 'on_cmd': 'LayoutPlugin'
\}
"indentline"{{{
"NeoBundle 'Yggdroot/indentLine'
""}}}
endif " neobundle#load_cache()
call neobundle#end()
filetype plugin indent on
syntax enable
NeoBundleCheck
if neobundle#tap('deoplete.nvim')
let g:deoplete#enable_at_startup=1 "use deoplete
let g:deoplete#enable_smart_case=1 "smart_case
"next completion by tab
inoremap <expr><TAB> pumvisible() ? "\<C-N>" : "\<TAB>"
"close popup and delete backword char
inoremap <expr><C-h> deoplete#mappings#smart_close_popup()."\<C-h>"
inoremap <expr><BS> deoplete#mappings#smart_close_popup()."\<C-h>"
"dicision by Enter
inoremap <expr><CR> pumvisible() ? "\<C-y>" : "\<CR>"
call neobundle#untap()
endif
if neobundle#tap('vim-quickrun')
let g:quickrun_config = {}
call neobundle#untap()
endif
if neobundle#tap('Townk/vim-autoclose')
inoremap {<Enter> {}<Left><CR><ESC><S-o>
autocmd MyAutoCmd Filetype scheme let b:AutoClosePairs = AutoClose#DefaultPairsModified("","'")
call neobundle#untap()
endif
if neobundle#tap('vim-niji')
function! neobundle#tapped.hooks.on_post_source(bundle) abort
let matching_filetypes = get(g:, 'niji_matching_filetypes', ['lisp', 'scheme', 'clojure'])
if count(matching_filetypes, &ft) > 0 || exists('g:niji_match_all_filetypes')
call niji#highlight()
endif
endfunction
call neobundle#untap()
endif
if neobundle#tap('vim2hs')
let g:haskell_conceal = 0
call neobundle#untap()
endif
if neobundle#tap('previm')
"let g:previm_open_cmd = 'open -a Firefox'
let g:previm_show_header=0 "この値が0だとプレビュー時にヘッダに情報を表示すしない。1だと表示する
call neobundle#untap()
endif
if neobundle#tap('OpenTemplate.vim')
let g:OpenTemplate#Template_dir = '~/Template'
call neobundle#untap()
endif
if neobundle#tap('indentLine')
let g:indentLine_enabled=0
let g:indentLine_fileType=['c' , 'cpp']
let g:indentLine_faster=1
let g:indentLine_color_term = 111
let g:indentLine_color_gui = '#708090'
let g:indentLine_char = '¦' "use ¦, ┆ or │
nmap <silent><Leader>i :<C-u>IndentLinesToggle<CR>
call neobundle#untap()
endif
"autocmd MyAutoCmd Filetype haskell setlocal tabstop=2
autocmd MyAutoCmd Filetype haskell setlocal noexpandtab
autocmd MyAutoCmd BufRead,BufNewFile *.md set filetype=markdown
"tex{{{
augroup MyTex
autocmd!
autocmd Filetype plaintex source ~/.config/nvim/userfile/MyTex/MyTex.vim
autocmd Filetype plaintex setlocal wrap
autocmd Filetype tex source ~/.config/nvim/userfile/MyTex/MyTex.vim
autocmd Filetype tex setlocal wrap
augroup END
"}}}
"java"{{{
let java_highlight_all = 1
let java_highlight_functions=1
let java_allow_cpp_keywords=1
" NeoBundle 'artur-shaik/vim-javacomplete2',{
" \ 'on_ft': 'java'
" \}
" augroup MyAutoCmd
" autocmd FileType java setlocal omnifunc=javacomplete#Complete
" autocmd FileType java let g:deoplete#auto_completion_start_length=4
" autocmd FileType java let g:deoplete#max_list=10
" augroup END
" let g:deoplete#omni_patterns = {}
" let g:deoplete#omni_patterns.java = ''
" let g:deoplete#omni#input_patterns = {}
" let g:deoplete#omni#input_patterns.java = ''
" let g:deoplete#omni_patterns.java = '[^. *\t]\.\w*'
" let g:deoplete#omni#input_patterns.java = '[^. *\t]\.\w*'
"}}}
"-------------------------------------
" End NeoBundle
"-------------------------------------
set title
set nowrap "範囲外に出た時に折り返さない
set ignorecase "大文字と小文字を区別しない
set magic "正規表現magicモード
"正規表現very magicモード
nnoremap / /\v
"set scrolloff=5
set expandtab "tabを押した時に半角スペースが挿入される
set smarttab "行頭で<tab>を打ち込んだ場合(>>や<<)shiftwidthの数だけインデントされる
set tabstop=4 "ファイル中の<tab>文字を画面上で見た目の何文字に展開する?
set shiftwidth=4 "インデントを挿入するときに画面上で何文字に相当するか?
set softtabstop=4 "tabキーを押した時に挿入される空白の量
set autoindent "改行時に前の行のインデントを継続する
set smartindent "改行時に入力された行の末尾に合わせて次の行のインデントを増減する
set foldmethod=marker
augroup MyAutoCmd
autocmd Filetype c setlocal cindent
autocmd Filetype cpp setlocal foldmethod=marker
autocmd Filetype cpp setlocal cindent
autocmd Filetype haskell setlocal foldmethod=marker
augroup END
"}}
"行番号を表示
set number
"行番号を相対的に表示
set relativenumber
"Normal Mode <F3>で行番号の表示を絶対/相対で切り替える
nnoremap <F3> :<C-u>setlocal relativenumber!<CR>
set clipboard=unnamedplus
set ttimeout
set ttimeoutlen=0
"カーソルラインを有効化
set cursorline
"不可視を可視化{{
set list
set listchars=tab:»_,trail:_,eol:$,extends:»,precedes:«,nbsp:%
"}
"colorscheme hybrid
"set background=dark
colorscheme jellybeans
"カーソルを煙滅させない
set guicursor=a:blinkon0
set matchtime=0
augroup MyAutoCmd
"括弧の色を変える
autocmd MyAutoCmd ColorScheme * hi MatchParen ctermbg=3
"括弧の対応の色
autocmd MyAutoCmd ColorScheme * hi MatchParen term=standout ctermbg=Blue ctermfg=white guibg=Red guifg=Black
augroup END
"対応する括弧のハイライトを表示しない
"let loaded_matchparen = 1
"my key mapping{{
inoremap <S-TAB> <Esc>lli
nnoremap <S-TAB> <S-a>
" tnoremap <C-n> <C-\><C-n>
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
nnoremap <Left> <C-w>h
nnoremap <Down> <C-w>j
nnoremap <Up> <C-w>k
nnoremap <Right> <C-w>l
"terminal mode
"tnoremap <Esc> <C-\><C-n>
augroup MyAutoCmd
autocmd FileType python setlocal noexpandtab tabstop=4 shiftwidth=4
"==============
" HTML
"==============
autocmd FileType html setlocal nocindent nosmartindent
"==============
" CSS
" =============
autocmd Filetype css setlocal nocindent nosmartindent
"==============
" Verilog
"==============
autocmd FileType verilog let b:verilog_indent_modules=1
autocmd FileType verilog setlocal nosmartindent
augroup END
"}}
"{{{ 独自関数定義
"行末のスペースを除去する関数
function! DeleteExtraSpace() abort
:%s/\v\s+$//g
endfunction
command! DeleteExtraSpace call DeleteExtraSpace()
"}}}
if !has('vim_starting')
call neobundle#call_hook('on_source')
endif
" dein.vim version
set fileencoding=utf-8
set encoding=utf-8
scriptencoding utf-8
if &compatible && has('vim_starting')
set nocompatible
endif
augroup MyAutoCmd
autocmd!
augroup END
"==================
"test
"=================
"=======================
" NeoBundle
"======================
if has('vim_starting')
set runtimepath+=~/.vim/bundle/neobundle.vim/
endif
if has('vim_starting')
let s:deindir = expand('~/.cache/dein')
let s:deinlocal = s:deindir . '/repos/github.com/Shougo/dein.vim'
let &runtimepath = s:deinlocal . ',' . &rtp
endif
if dein#load_state(s:deindir)
call dein#begin(s:deindir)
call dein#add('Shougo/dein.vim')
"completion{{{
call dein#add('Shougo/deoplete.nvim')
"}}}
"compile{{{
call dein#add('thinca/vim-quickrun', {
\ 'on_cmd': 'QuickRun',
\ 'on_map': [['n', '<Plug>(quickrun']]
\})
"}}}
"filer"{{{
call dein#add('scrooloose/nerdtree', {
\ 'on_cmd': [
\ 'NERDTree',
\ 'NERDTreeCWD',
\ 'NERDTreeClose',
\ 'NERDTreeFind',
\ 'NERDTreeFOcus',
\ 'NERDTreeFromBookmark',
\ 'NERDTreeMirror',
\ 'NERDTreeToggle',
\ ]
\})
""}}}
"autoclose{{{
call dein#add('Townk/vim-autoclose')
"}}}
"cpp{{{
call dein#add('octol/vim-cpp-enhanced-highlight', {
\ 'on_ft': 'cpp'
\})
"}}}
"scheme"{{{
call dein#add('losingkeys/vim-niji', {
\ 'on_ft': ['lisp', 'scheme', 'clojure']
\})
"}}}
"haskell{{{
call dein#add('kana/vim-filetype-haskell', {
\ 'on_ft': 'haskell',
\})
call dein#add('ujihisa/neco-ghc', {
\ 'on_cmd': 'NecoGhcDiagnostics',
\ 'on_ft': 'haskell'
\})
call dein#add('dag/vim2hs')
"}}}
"javascript"{{{
call dein#add('jelera/vim-javascript-syntax', {
\ 'on_ft': 'javascript'
\})
"}}}
"colorscheme {{{
call dein#add('nanotech/jellybeans.vim')
call dein#add('w0ng/vim-hybrid')
call dein#add('Mizuchi/STL-Syntax', {
\ 'on_ft' : 'cpp'
\})
"}}}
"markdown{{{
call dein#add('plasticboy/vim-markdown', {
\ 'on_ft': 'markdown'
\})
call dein#add('kannokanno/previm', {
\ 'on_cmd': 'PrevimOpen'
\})
call dein#add('tyru/open-browser.vim', {
\ 'on_cmd': [
\ 'OpenBrowser',
\ 'OpenBrowserSearch',
\ 'OpenBrowserSmartSearch'
\ ],
\ 'on_map': [['nv', '<Plug>(openbrowser-']],
\ 'on_func': 'openbrowser'
\})
"}}}
"HTML"{{{
call dein#add('othree/html5.vim', {
\ 'on_ft': 'html'
\})
""}}}
" else{{{
call dein#add('itchyny/lightline.vim')
"}}}
"自作プラグイン
call dein#add('chakku000/OpenTemplate.vim', {
\ 'on_cmd': 'OpenTemplate'
\})
"NeoBundle 'chakku000/OpenTemplate.vim',{
" \ 'base' : '~/prog/VimPlugin',
" \ 'type' : 'nosync',
" \}
"vimscript
call dein#add('mopp/layoutplugin.vim', {
\ 'on_cmd': 'LayoutPlugin'
\})
" indentline"{{{
" call dein#add('Yggdroot/indentLine')
" "}}}
call dein#end()
call dein#save_state()
endif
filetype plugin indent on
syntax enable
if dein#tap('deoplete.nvim')
let g:deoplete#enable_at_startup=1 "use deoplete
let g:deoplete#enable_smart_case=1 "smart_case
"next completion by tab
inoremap <expr><TAB> pumvisible() ? "\<C-N>" : "\<TAB>"
"close popup and delete backword char
inoremap <expr><C-h> deoplete#mappings#smart_close_popup()."\<C-h>"
inoremap <expr><BS> deoplete#mappings#smart_close_popup()."\<C-h>"
"dicision by Enter
inoremap <expr><CR> pumvisible() ? "\<C-y>" : "\<CR>"
endif
if dein#tap('vim-quickrun')
let g:quickrun_config = {}
endif
if dein#tap('Townk/vim-autoclose')
inoremap {<Enter> {}<Left><CR><ESC><S-o>
autocmd MyAutoCmd Filetype scheme let b:AutoClosePairs = AutoClose#DefaultPairsModified("","'")
endif
if dein#tap('vim2hs')
let g:haskell_conceal = 0
endif
if dein#tap('previm')
"let g:previm_open_cmd = 'open -a Firefox'
let g:previm_show_header=0 "この値が0だとプレビュー時にヘッダに情報を表示すしない。1だと表示する
endif
if dein#tap('OpenTemplate.vim')
let g:OpenTemplate#Template_dir = '~/Template'
endif
if dein#tap('indentLine')
let g:indentLine_enabled=0
let g:indentLine_fileType=['c' , 'cpp']
let g:indentLine_faster=1
let g:indentLine_color_term = 111
let g:indentLine_color_gui = '#708090'
let g:indentLine_char = '¦' "use ¦, ┆ or │
nmap <silent><Leader>i :<C-u>IndentLinesToggle<CR>
endif
"autocmd MyAutoCmd Filetype haskell setlocal tabstop=2
autocmd MyAutoCmd Filetype haskell setlocal noexpandtab
autocmd MyAutoCmd BufRead,BufNewFile *.md set filetype=markdown
"tex{{{
augroup MyTex
autocmd!
autocmd Filetype plaintex source ~/.config/nvim/userfile/MyTex/MyTex.vim
autocmd Filetype plaintex setlocal wrap
autocmd Filetype tex source ~/.config/nvim/userfile/MyTex/MyTex.vim
autocmd Filetype tex setlocal wrap
augroup END
"}}}
"java"{{{
let java_highlight_all = 1
let java_highlight_functions=1
let java_allow_cpp_keywords=1
" NeoBundle 'artur-shaik/vim-javacomplete2',{
" \ 'on_ft': 'java'
" \}
" augroup MyAutoCmd
" autocmd FileType java setlocal omnifunc=javacomplete#Complete
" autocmd FileType java let g:deoplete#auto_completion_start_length=4
" autocmd FileType java let g:deoplete#max_list=10
" augroup END
" let g:deoplete#omni_patterns = {}
" let g:deoplete#omni_patterns.java = ''
" let g:deoplete#omni#input_patterns = {}
" let g:deoplete#omni#input_patterns.java = ''
" let g:deoplete#omni_patterns.java = '[^. *\t]\.\w*'
" let g:deoplete#omni#input_patterns.java = '[^. *\t]\.\w*'
"}}}
"-------------------------------------
" End NeoBundle
"-------------------------------------
set title
set nowrap "範囲外に出た時に折り返さない
set ignorecase "大文字と小文字を区別しない
set magic "正規表現magicモード
"正規表現very magicモード
nnoremap / /\v
"set scrolloff=5
set expandtab "tabを押した時に半角スペースが挿入される
set smarttab "行頭で<tab>を打ち込んだ場合(>>や<<)shiftwidthの数だけインデントされる
set tabstop=4 "ファイル中の<tab>文字を画面上で見た目の何文字に展開する?
set shiftwidth=4 "インデントを挿入するときに画面上で何文字に相当するか?
set softtabstop=4 "tabキーを押した時に挿入される空白の量
set autoindent "改行時に前の行のインデントを継続する
set smartindent "改行時に入力された行の末尾に合わせて次の行のインデントを増減する
set foldmethod=marker
augroup MyAutoCmd
autocmd Filetype c setlocal cindent
autocmd Filetype cpp setlocal foldmethod=marker
autocmd Filetype cpp setlocal cindent
autocmd Filetype haskell setlocal foldmethod=marker
augroup END
"}}
"行番号を表示
set number
"行番号を相対的に表示
set relativenumber
"Normal Mode <F3>で行番号の表示を絶対/相対で切り替える
nnoremap <F3> :<C-u>setlocal relativenumber!<CR>
set clipboard=unnamedplus
set ttimeout
set ttimeoutlen=0
"カーソルラインを有効化
set cursorline
"不可視を可視化{{
set list
set listchars=tab:»_,trail:_,eol:$,extends:»,precedes:«,nbsp:%
"}
"colorscheme hybrid
"set background=dark
colorscheme jellybeans
"カーソルを煙滅させない
set guicursor=a:blinkon0
set matchtime=0
augroup MyAutoCmd
"括弧の色を変える
autocmd MyAutoCmd ColorScheme * hi MatchParen ctermbg=3
"括弧の対応の色
autocmd MyAutoCmd ColorScheme * hi MatchParen term=standout ctermbg=Blue ctermfg=white guibg=Red guifg=Black
augroup END
"対応する括弧のハイライトを表示しない
"let loaded_matchparen = 1
"my key mapping{{
inoremap <S-TAB> <Esc>lli
nnoremap <S-TAB> <S-a>
" tnoremap <C-n> <C-\><C-n>
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
nnoremap <Left> <C-w>h
nnoremap <Down> <C-w>j
nnoremap <Up> <C-w>k
nnoremap <Right> <C-w>l
"terminal mode
"tnoremap <Esc> <C-\><C-n>
augroup MyAutoCmd
autocmd FileType python setlocal noexpandtab tabstop=4 shiftwidth=4
"==============
" HTML
"==============
autocmd FileType html setlocal nocindent nosmartindent
"==============
" CSS
" =============
autocmd Filetype css setlocal nocindent nosmartindent
"==============
" Verilog
"==============
autocmd FileType verilog let b:verilog_indent_modules=1
autocmd FileType verilog setlocal nosmartindent
augroup END
"}}
"{{{ 独自関数定義
"行末のスペースを除去する関数
function! DeleteExtraSpace() abort
:%s/\v\s+$//g
endfunction
command! DeleteExtraSpace call DeleteExtraSpace()
"}}}
if !has('vim_starting')
call dein#call_hook('on_source')
endif
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment