Last active
August 29, 2015 14:27
-
-
Save alphaKAI/7d44ff1a5aa59d7cf1ec to your computer and use it in GitHub Desktop.
My .vimrc , Requirements : NeoBundle
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| set transparency=15 | |
| set background=dark | |
| let g:vimshell_editor_command = '/usr/local/Cellar/macvim/7.4-77/bin/gvim' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| "NeoBundle | |
| NeoBundleLazy 'Shougo/neosnippet', { | |
| \ 'autoload' : { | |
| \ 'filetypes' : 'snippet', | |
| \ 'insert' : 1, | |
| \ 'unite_sources' : ['snippet', 'neosnippet/user', 'neosnippet/runtime'], | |
| \ }} | |
| NeoBundleLazy 'alpaca-tc/vim-endwise.git', { | |
| \ 'autoload' : { | |
| \ 'insert' : 1, | |
| \ }} | |
| NeoBundleLazy 'edsono/vim-matchit', { 'autoload' : { | |
| \ 'filetypes': 'ruby', | |
| \ 'mappings' : ['nx', '%'] }} | |
| NeoBundle 'mattn/emmet-vim' | |
| NeoBundle 'kien/ctrlp.vim.git' | |
| NeoBundle 'Shougo/neobundle.vim.git' | |
| NeoBundle 'scrooloose/nerdtree.git' | |
| NeoBundle 'scrooloose/syntastic.git' | |
| NeoBundle has('lua') ? 'Shougo/neocomplete' : 'Shougo/neocomplcache' | |
| NeoBundleLazy 'Shougo/vimshell', { | |
| \ 'depends' : ['Shougo/unite.vim', 'Shougo/vimproc'], | |
| \ 'autoload' : { | |
| \ 'commands' : [ | |
| \ 'VimShell','VimShellExecute', 'VimShellInterractive', 'VimShellTermianl', | |
| \ 'VimShellPop', 'VimShellTab', 'VimShellCreate' | |
| \ ], | |
| \ 'mappings' : ['<Plug>(vimshell_switch)'], | |
| \ }, | |
| \ } | |
| NeoBundle 'vim-scripts/YankRing.vim' | |
| NeoBundle 'thinca/vim-quickrun' | |
| NeoBundle 'Shougo/vimfiler' | |
| NeoBundle 'ujihisa/unite-colorscheme' | |
| NeoBundle 'tyru/open-browser.vim' | |
| NeoBundle 'Shougo/unite-outline' | |
| NeoBundle 'basyura/bitly.vim' | |
| NeoBundle 'Shougo/unite.vim' | |
| NeoBundle 'mbbill/undotree' | |
| NeoBundle 'troydm/easybuffer.vim' | |
| NeoBundle 'itchyny/lightline.vim' | |
| NeoBundle 'JavaScript-syntax' | |
| NeoBundle 'pangloss/vim-javascript' | |
| NeoBundle 'vim-ruby/vim-ruby' | |
| NeoBundle 'othree/html5.vim' | |
| NeoBundle 'hail2u/vim-css3-syntax' | |
| NeoBundle 'Shougo/neosnippet-snippets' | |
| NeoBundle 'osyo-manga/vim-watchdogs' | |
| NeoBundle 't9md/vim-foldtext' | |
| NeoBundle 't9md/vim-textmanip' | |
| NeoBundle 'honza/vim-snippets' | |
| " Visualize indent | |
| NeoBundle 'nathanaelkane/vim-indent-guides' | |
| NeoBundle "morhetz/gruvbox" | |
| NeoBundle "tyru/open-browser.vim" | |
| NeoBundle "losingkeys/vim-niji" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| scriptencoding utf-8 | |
| " Initialize {{{ | |
| if has('vim_starting') | |
| filetype plugin off | |
| filetype indent off | |
| execute 'set runtimepath+=' . expand('~/.vim/bundle/neobundle.vim') | |
| endif | |
| call neobundle#begin(expand('~/.vim/bundle/')) | |
| NeoBundleFetch "Shougo/neobundle.vim" | |
| call neobundle#end() | |
| if filereadable(expand('~/.vim_neobundle')) | |
| " Define Plugins => ~/.vim_neobundle | |
| source ~/.vim_neobundle | |
| endif | |
| " Activate mouse | |
| if has('mouse') | |
| set mouse=a | |
| endif | |
| " Auto change directory | |
| "au BufEnter * execute ":lcd " . expand("%:p:h") | |
| "}}} | |
| " Check New Bundle | |
| NeoBundleCheck | |
| " Editor Settings {{{ | |
| " Enable backspace | |
| set backspace=indent,eol,start | |
| " Encoding | |
| set fileformat=unix | |
| set encoding=utf-8 | |
| set fileencoding=utf-8 | |
| " ClipBoard | |
| set clipboard+=unnamedplus,unnamed | |
| set nrformats-=octal | |
| set ambiwidth=double | |
| set wildmenu | |
| " Search | |
| set ignorecase | |
| set smartcase | |
| set wrapscan | |
| set incsearch | |
| set hlsearch | |
| " goto last time edited line | |
| autocmd BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g`\"" | endif | |
| " lines | |
| set number | |
| " Syntax | |
| set showmatch matchtime=1 | |
| " TabKey | |
| set ts=2 | |
| set tabstop=2 | |
| set shiftwidth=2 | |
| set smarttab | |
| set expandtab | |
| " Indent | |
| set autoindent | |
| set cindent | |
| " Paste mode toggle | |
| set pastetoggle=<C-E> | |
| " No Auto Comment | |
| filetype plugin indent on | |
| autocmd FileType * setlocal formatoptions-=ro | |
| " View | |
| set cmdheight=2 | |
| set laststatus=2 | |
| set title | |
| set showcmd | |
| set display=lastline | |
| " Filetypes | |
| autocmd BufRead,BufNewFile *.md set filetype=markdown | |
| "nobeep | |
| set visualbell t_vb= | |
| set noerrorbells | |
| set foldmethod=marker | |
| " Vim Tab | |
| " Anywhere SID. | |
| function! s:SID_PREFIX() | |
| return matchstr(expand('<sfile>'), '<SNR>\d\+_\zeSID_PREFIX$') | |
| endfunction | |
| " Set tabline. | |
| function! s:my_tabline() "{{{ | |
| let s = '' | |
| for i in range(1, tabpagenr('$')) | |
| let bufnrs = tabpagebuflist(i) | |
| let bufnr = bufnrs[tabpagewinnr(i) - 1] " first window, first appears | |
| let no = i " display 0-origin tabpagenr. | |
| let mod = getbufvar(bufnr, '&modified') ? '!' : ' ' | |
| let title = fnamemodify(bufname(bufnr), ':t') | |
| let title = '[' . title . ']' | |
| let s .= '%'.i.'T' | |
| let s .= '%#' . (i == tabpagenr() ? 'TabLineSel' : 'TabLine') . '#' | |
| let s .= no . ':' . title | |
| let s .= mod | |
| let s .= '%#TabLineFill# ' | |
| endfor | |
| let s .= '%#TabLineFill#%T%=%#TabLine#' | |
| return s | |
| endfunction "}}} | |
| let &tabline = '%!'. s:SID_PREFIX() . 'my_tabline()' | |
| set showtabline=2 " 常にタブラインを表示 | |
| " The prefix key. | |
| nnoremap [Tag] <Nop> | |
| nmap t [Tag] | |
| " Tab jump | |
| for n in range(1, 9) | |
| execute 'nnoremap <silent> [Tag]'.n ':<C-u>tabnext'.n.'<CR>' | |
| endfor | |
| " t1 で1番左のタブ、t2 で1番左から2番目のタブにジャンプ | |
| " tc 新しいタブを一番右に作る | |
| map <silent> [Tag]c :tablast <bar> tabnew<CR> | |
| " tx タブを閉じる | |
| map <silent> [Tag]x :tabclose<CR> | |
| " tn 次のタブ | |
| map <silent> [Tag]n :tabnext<CR> | |
| " tp 前のタブ | |
| map <silent> [Tag]p :tabprevious<CR> | |
| "}}} | |
| " key mapping {{{ | |
| " Unset Searched high light : Ctrl + L | |
| nnoremap <C-h><C-l> :nohl<CR> | |
| "<C-L> | |
| nnoremap <C-L> :VimFiler -split -simple -winwidth=35 -no-quit<CR> | |
| " Search world from selected area : * | |
| vnoremap * "zy:let @/ = @z<CR>n | |
| " redo : Ctrl + r | |
| nnoremap <C-r> :redo<CR> | |
| " undo : Ctrl + u | |
| nnoremap <C-u> :undo<CR> | |
| " NERDTree toggle : Ctrl + N + T | |
| nnoremap <C-n><C-t> :NERDTree<CR> | |
| "auto cd | |
| au BufEnter *.* execute ":lcd " . expand("%:p:h") | |
| nnoremap <C-t><C-u> :UndotreeToggle<CR> | |
| let g:undotree_SetFocusWhenToggle = 1 | |
| let g:undotree_WindowLocation = 'topleft' | |
| let g:undotree_SplitWidth = 35 | |
| let g:undotree_diffAutoOpen = 1 | |
| let g:undotree_diffpanelHeight = 25 | |
| let g:undotree_RelativeTimestamp = 1 | |
| let g:undotree_TreeNodeShape = '*' | |
| let g:undotree_HighlightChangedText = 1 | |
| let g:undotree_HighlightSyntax = "UnderLined" | |
| "Open TagList Toggle : Ctrl + k | |
| nnoremap <C-t><C-l> :Tlist<CR> | |
| " Neosnippet {{{ | |
| " Plugin key-mappings. | |
| " SuperTab like snippets behavior. | |
| imap <expr><TAB> neosnippet#expandable_or_jumpable() ? | |
| \ "\<Plug>(neosnippet_expand_or_jump)" | |
| \: pumvisible() ? "\<C-n>" : "\<TAB>" | |
| smap <expr><TAB> neosnippet#expandable_or_jumpable() ? | |
| \ "\<Plug>(neosnippet_expand_or_jump)" | |
| \: "\<TAB>" | |
| "}}} | |
| " Neocomplete {{{ | |
| " Plugin key-mappings. | |
| inoremap <expr><C-g> neocomplete#undo_completion() | |
| inoremap <expr><C-l> neocomplete#complete_common_string() | |
| "}}} | |
| "Scheme | |
| aug Scheme | |
| au! | |
| au Filetype scheme setl cindent& lispwords=define | |
| aug END | |
| "}}} | |
| " Color Setting {{{ | |
| syntax enable | |
| set background=light | |
| " solarized | |
| let g:solarized_degrade = 0 | |
| let g:solarized_bold = 1 | |
| let g:solarized_underline = 1 | |
| let g:solarized_italic = 1 | |
| let g:solarized_termtrans = 0 | |
| let g:solarized_contrast = 'normal' | |
| let g:solarized_visibility = 'normal' | |
| let g:solarized_termcolors = 256 | |
| colorscheme gruvbox | |
| "colorscheme twilight | |
| " pervious | |
| "highlight Normal ctermbg=none | |
| set cursorline | |
| augroup cch | |
| autocmd! cch | |
| autocmd WinLeave * set nocursorline | |
| autocmd WinEnter,BufRead * set cursorline | |
| augroup END | |
| :hi clear CursorLine | |
| :hi CursorLine gui=underline | |
| highlight CursorLine ctermbg=lightgray | |
| " statusline | |
| set statusline=%t "tail of the filename | |
| set statusline+=[%{strlen(&fenc)?&fenc:'none'}, "file encoding | |
| set statusline+=%{&ff}] "file format | |
| set statusline+=%h "help file flag | |
| set statusline+=%m "modified flag | |
| set statusline+=%r "read only flag | |
| set statusline+=%y "filetype | |
| set statusline+=%= "left/right separator | |
| set statusline+=%c, "cursor column | |
| set statusline+=%l/%L "cursor line/total lines | |
| set statusline+=\ %P "percent through file | |
| " status colorscheme | |
| augroup InsertHook | |
| autocmd! | |
| autocmd InsertEnter * highlight StatusLine guifg=#ccdc90 guibg=#2E4340 | |
| autocmd InsertLeave * highlight StatusLine guifg=#2E4340 guibg=#ccdc90 | |
| augroup END | |
| "}}} | |
| " Plugin settings {{{ | |
| compiler ruby | |
| let ruby_space_errors=1 | |
| " Emmet | |
| let g:user_emmet_settings = { | |
| \ 'lang' : 'ja' | |
| \ } | |
| " Jump to the brackets to the corresponding : % | |
| source $VIMRUNTIME/macros/matchit.vim | |
| if neobundle#is_installed('neocomplete') | |
| " Neocomplete {{{ | |
| let g:neocomplete#enable_at_startup = 1 | |
| let g:neocomplete#max_list = 20 | |
| let g:neocomplete#sources#syntax#min_keyword_length = 3 | |
| let g:neocomplete#enable_smart_case = 1 | |
| " Define keyword. | |
| if !exists('g:neocomplete#keyword_patterns') | |
| let g:neocomplete#keyword_patterns = {} | |
| endif | |
| let g:neocomplete#keyword_patterns['default'] = '\h\w*' | |
| " Enable omni completion. | |
| autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS | |
| autocmd FileType html,markdown,eruby setlocal omnifunc=htmlcomplete#CompleteTags | |
| autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS | |
| autocmd FileType python setlocal omnifunc=pythoncomplete#Complete | |
| autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags | |
| autocmd FileType haskell setlocal omnifunc=necoghc#omnifunc | |
| if !exists('g:neocomplete#sources#omni#input_patterns') | |
| let g:neocomplete#sources#omni#input_patterns = {} | |
| endif | |
| let g:neocomplete#sources#omni#input_patterns.ruby = '[^. *\t]\.\w*\|\h\w*::' | |
| let g:neocomplete#sources#rsense#home_directory = '/opt/resense-0.3/' | |
| "}}} | |
| elseif neobundle#is_installed('neocomplcache') | |
| " Neocomplcache {{{ | |
| let g:neocomplcache_enable_at_startup = 1 | |
| let g:neocomplcache_max_list = 20 | |
| let g:neocomplcache_manual_completion_start_length = 3 | |
| let g:neocomplcache_enable_ignore_case = 1 | |
| let g:neocomplcache_enable_smart_case = 1 | |
| " demiliter for function compl | |
| if !exists('g:neocomplcache_keyword_patterns') | |
| let g:neocomplcache_keyword_patterns = {} | |
| endif | |
| let g:neocomplcache_keyword_patterns._ = '\h\w*' | |
| let g:neocomplcache#sources#rsense#home_directory = '/opt/rsense-0.3' | |
| "}}} | |
| endif | |
| " neosnippet {{{ | |
| " Enable snipMate compatibility feature. | |
| let g:neosnippet#enable_snipmate_compatibility = 1 | |
| let g:neosnippet#snippets_directory='~/.vim/bundle/vim-snippets/snippets, ~/.vim/snippets' | |
| "}}} | |
| " previm | |
| let g:previm_open_cmd = 'open -a Safari' | |
| let g:indent_guides_enable_on_vim_startup = 1 | |
| " lightline.vim | |
| let g:lightline = { | |
| \ 'component': { | |
| \ 'readonly': '%{&readonly?"\u2b64":""}', | |
| \ }, | |
| \ 'separator': { 'left': "\u2b80", 'right': "\u2b82" }, | |
| \ 'subseparator': { 'left': "\u2b81", 'right': "\u2b83" }, | |
| \ } | |
| " dutyl {{{ | |
| " ライブラリへのパスを設定 | |
| let g:dutyl_stdImportPaths=['/usr/local/include/d2', '/usr/local/include/d/gtkd-2'] | |
| " 各種実行ファイルへのパスを登録、パスが通っているなら必要ないです。 | |
| call dutyl#register#tool('dcd-client', '/Users/'.$USER.'/.vim/bundle/DCD/bin/dcd-client') | |
| call dutyl#register#tool('dcd-server', '/Users/'.$USER.'/.vim/bundle/DCD/bin/dcd-server') | |
| call dutyl#register#tool('dscanner', '/Users/'.$USER.'/.vim/bundle/Dscanner/bin/dscanner') | |
| " }}} | |
| " neocompleteと併用する場合の設定 | |
| if !exists("g:neocomplete#force_omni_input_patterns") | |
| let g:neocomplete#force_omni_input_patterns = {} | |
| else | |
| let g:neocomplete#force_omni_input_patterns.d = '[^.[:digit:] *\t]\%(\.\|->\)\|::' | |
| endif | |
| let g:netrw_nogx = 1 " disable netrw's gx mapping. | |
| nmap gx <Plug>(openbrowser-smart-search) | |
| vmap gx <Plug>(openbrowser-smart-search) | |
| let g:openbrowser_open_filepath_in_vim = 0 | |
| let g:openbrowser_open_rules = {'open' : 'open -a Safari {shellescape(uri)}&'} | |
| nnoremap[ :silent OpenBrowser % | |
| command! OpenBrowserCurrent execute "OpenBrowser" expand("%:p") | |
| "}}} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment