Last active
August 29, 2015 14:28
-
-
Save yiwa/72dc86371f9d0a3c051a to your computer and use it in GitHub Desktop.
This file contains 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
if v:lang =~ "utf8$" || v:lang =~ "UTF-8$" | |
set fileencodings=ucs-bom,utf-8,latin1 | |
endif | |
set nocompatible | |
set bs=indent,eol,start " allow backspacing over everything in insert mode | |
"set ai " always set autoindenting on | |
"set backup | |
set viminfo='20,\"50 | |
set history=50 | |
set ruler | |
" Only do this part when compiled with support for autocommands | |
if has("autocmd") | |
augroup redhat | |
autocmd! | |
" In text files, always limit the width of text to 78 characters | |
autocmd BufRead *.txt set tw=78 | |
" When editing a file, always jump to the last cursor position | |
autocmd BufReadPost * | |
\ if line("'\"") > 0 && line ("'\"") <= line("$") | | |
\ exe "normal! g'\"" | | |
\ endif | |
" don't write swapfile on most commonly used directories for NFS mounts or USB sticks | |
autocmd BufNewFile,BufReadPre /media/*,/mnt/* set directory=~/tmp,/var/tmp,/tmp | |
" start with spec file template | |
autocmd BufNewFile *.spec 0r /usr/share/vim/vimfiles/template.spec | |
augroup END | |
endif | |
if has("cscope") && filereadable("/usr/bin/cscope") | |
set csprg=/usr/bin/cscope | |
set csto=0 | |
set cst | |
set nocsverb | |
" add any database in current directory | |
if filereadable("cscope.out") | |
cs add cscope.out | |
" else add database pointed to by environment | |
elseif $CSCOPE_DB != "" | |
cs add $CSCOPE_DB | |
endif | |
set csverb | |
endif | |
" Switch syntax highlighting on, when the terminal has colors | |
" Also switch on highlighting the last used search pattern. | |
if &t_Co > 2 || has("gui_running") | |
syntax on | |
set hlsearch | |
endif | |
filetype plugin on | |
filetype off | |
if &term=="xterm" | |
set t_Co=8 | |
set t_Sb=%dm | |
set t_Sf=%dm | |
endif | |
" Don't wake up system with blinking cursor: | |
" http://www.linuxpowertop.org/known.php | |
let &guicursor = &guicursor . ",a:blinkon0" | |
set encoding=utf-8 | |
set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8 | |
set fileformats=unix,dos,mac | |
set number | |
set title | |
set ambiwidth=double | |
set tabstop=4 | |
set expandtab | |
set shiftwidth=4 | |
"set smartindent | |
set list | |
set listchars=tab:->,trail:- | |
set nrformats-=octal | |
set hidden | |
set history=50 | |
set virtualedit=block | |
set whichwrap=b,s,[,],<,> | |
set backspace=indent,eol,start | |
set wildmenu | |
colorscheme molokai | |
au BufRead,BufNewFile *.twig set filetype=htmljinja | |
"plugin | |
if has('vim_starting') | |
set runtimepath+=~/.vim/bundle/neobundle.vim | |
call neobundle#begin(expand('~/.vim/bundle/')) | |
call neobundle#load_cache() | |
NeoBundleFetch 'Shougo/neobundle.vim' | |
NeoBundle 'Shougo/vimproc' | |
NeoBundle 'Shougo/unite.vim' | |
NeoBundle 'scrooloose/syntastic' | |
"NeoBundle 'scrooloose/nerdtree' | |
NeoBundle 'Shougo/neocomplete' | |
"NeoBundle 'Shougo/neosnippet' | |
"NeoBundle 'Shougo/neosnippet-snippets' | |
NeoBundle 'Townk/vim-autoclose' | |
NeoBundle 'Shougo/neomru.vim' | |
NeoBundle 'thinca/vim-ref' | |
NeoBundle 'easymotion/vim-easymotion' | |
NeoBundle 'Yggdroot/indentLine' | |
NeoBundleSaveCache | |
call neobundle#end() | |
endif | |
NeoBundleCheck | |
filetype plugin indent on | |
filetype indent on | |
"lef.vim | |
let g:ref_phpmanual_path = '/usr/share/vim/vim74/ref/php' | |
let g:ref_phpmanual_cmd = 'w3m -dump %s' | |
"vim-easymotion | |
"@see https://github.com/easymotion/vim-easymotion | |
let g:EasyMotion_do_mapping = 0 | |
let g:EasyMotion_smartcase = 1 | |
"neocomplete用 | |
let g:neocomplete#enable_at_startup = 1 | |
let g:neocomplete#enable_ignore_case = 1 | |
let g:neocomplete#enable_smart_case = 1 | |
if !exists('g:neocomplete#keyword_patterns') | |
let g:neocomplete#keyword_patterns = {} | |
endif | |
let g:neocomplete#keyword_patterns._ = '\h\w*' | |
let g:neocomplete#sources#dictionary#dictionaries = {'php' : '~/.vim/dictionaries/php.dict'} | |
autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS | |
autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags | |
autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS | |
autocmd FileType php setlocal omnifunc=phpcomplete#CompletePHP | |
"タブ設定 | |
function! s:SID_PREFIX() | |
return matchstr(expand('<sfile>'), '<SNR>\d\+_\zeSID_PREFIX$') | |
endfunction | |
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 " 常にタブラインを表示 | |
for n in range(1, 9) | |
execute 'nnoremap <silent> [Tag]'.n ':<C-u>tabnext'.n.'<CR>' | |
endfor | |
"syntastic | |
set statusline+=%#warningmsg# | |
set statusline+=%{SyntasticStatuslineFlag()} | |
set statusline+=%* | |
let g:syntastic_always_populate_loc_list = 1 | |
let g:syntastic_auto_loc_list = 1 | |
let g:syntastic_check_on_open = 1 | |
let g:syntastic_check_on_wq = 0 | |
"unite.vim | |
let g:unite_source_history_yank_enable =1 | |
let g:unite_enable_start_insert=1 | |
let g:unite_source_history_yank_enable =1 | |
let g:unite_source_file_mru_limit = 200 | |
let g:unite_enable_ignore_case = 1 | |
let g:unite_enable_smart_case = 1 | |
let g:vinarise_enable_auto_detect = 1 | |
let g:unite_source_grep_command = 'ag' | |
let g:unite_source_grep_default_opts = '--nocolor --nogroup' | |
let g:unite_source_grep_max_candidates = 200 | |
let g:unite_source_grep_recursive_opt = '' | |
"indentLine | |
let g:indentLine_color_term = 235 | |
"keymap | |
nnoremap ,p :set<Space>paste<CR> | |
nnoremap <silent><Esc><Esc> :noh<CR> | |
nnoremap ,0 $ | |
"neocomplete | |
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" | |
inoremap <expr><CR> pumvisible() ? neocomplete#close_popup() : "\<TAB>" | |
inoremap <expr><Space><Esc> neocomplete#close_popup() | |
"easymotion | |
map <Space>e <Plug>(easymotion-s2) | |
"tag | |
nnoremap [Tag] <Nop> | |
nmap t [Tag] | |
map <silent> [Tag]c :tablast <bar> tabnew<CR> | |
map <silent> [Tag]x :tabclose<CR> | |
map <silent> [Tag]n :tabnext<CR> | |
map <silent> [Tag]p :tabprevious<CR> | |
"unite | |
nnoremap [unite] <Nop> | |
nmap <Space><Space> [unite] | |
nnoremap <silent> [unite]f :Unite<Space>file<CR> | |
nnoremap <silent> [unite]g :Unite<Space>grep<CR> | |
nnoremap <silent> [unite]m :Unite<Space>file_mru<CR> | |
nnoremap <silent> [unite]r :Unite<Space>ref/phpmanual<CR> | |
"uniteを開いている間のキーマッピング | |
autocmd FileType unite call s:unite_my_settings() | |
function! s:unite_my_settings() "{{{ | |
nmap <buffer> <ESC> <Plug>(unite_exit) | |
inoremap <silent> <buffer> <expr> <Tab> unite#do_action('tabswitch') | |
endfunction "}}} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment