Created
February 27, 2017 18:56
-
-
Save toidiu/36715ae64a0922e9553bbc335aa57389 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
set nocompatible | |
execute pathogen#infect() | |
syntax on | |
filetype plugin indent on | |
"Turn on smart indent | |
""set smartindent | |
set tabstop=2 | |
set shiftwidth=2 | |
set softtabstop=2 | |
set expandtab | |
set showmatch | |
set autoindent | |
set hls " Highlight search options | |
set incsearch " Incremental search | |
set smartcase " Allow case-sensitive search if there is one uppercase | |
set number | |
set scrolloff=5 | |
syntax enable | |
" Solarized stuff | |
let g:solarized_termtrans = 1 | |
set background=dark | |
colorscheme solarized | |
" Show tab characters, trailing whitespace | |
set listchars=tab:>-,trail:~,extends:>,precedes:< | |
set list | |
set ic " Default to case-insensitive search | |
set cursorline " Highlight current line | |
hi CursorLine ctermbg=NONE cterm=underline " No color, just underline | |
set wildmode=longest,list " On tab filename complete, first tab produces longest. Second tab produces list. | |
set backspace=indent,eol,start " Allow backspacing over indent, eol, start | |
set laststatus=2 " Set status line as second-to-last line | |
set statusline=%F%m%r%w\ %=\ [%l,%c]\ \ \ %p%% | |
"""remapping the keys in vim---------------------------- | |
" Remap jk while in insert mode to ESC | |
"inoremap jk <ESC> | |
" Remap kj while in insert mode to ESC | |
inoremap kj <ESC> | |
" Remap window switching | |
nnoremap op <C-w><Right> | |
nnoremap po <C-w><Left> | |
nnoremap qw <C-w><Left> | |
nnoremap wq <C-w><Left> | |
nnoremap wee <C-W><=> | |
" Improved up/down scrolling on wrapped lines | |
nnoremap j gj | |
nnoremap k gk | |
"nnoremap <up> gk | |
"nnoremap <down> gj | |
imap <up> <c-o>gk | |
imap <down> <c-o>gj | |
"""auto reload vim---------------------- | |
augroup AutoReloadVimRC | |
au! | |
" automatically reload vimrc when it's saved | |
au BufWritePost $MYVIMRC so $MYVIMRC | |
augroup END | |
set autochdir " Automatically change current working directory to most recent file | |
"""enable ctrlp---------------------- | |
set runtimepath^=~/.vim/bundle/ctrlp.vim | |
let g:ctrlp_working_path_mode = 'ra' | |
"""use ag serach instead of ack when available------------------- | |
if executable('ag') | |
" Use Ag over Grep | |
set grepprg=ag\ --nogroup\ --nocolor | |
" Use ag in CtrlP for listing files. Lightning fast and respects .gitignore | |
let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""' | |
endif | |
"""ctags------------------------ | |
set tags=tags;/ | |
set tags+=~/.tags/scala/tags | |
set tags+=~/.tags/finagle/tags | |
set tags+=~/.tags/finch/tags | |
set tags+=~/.tags/akka/tags | |
set tags+=~/.tags/playframework/tags | |
"""neocomplete---------------- | |
"Note: This option must be set in .vimrc(_vimrc). NOT IN .gvimrc(_gvimrc)! | |
" Disable AutoComplPop. | |
let g:acp_enableAtStartup = 0 | |
" Use neocomplete. | |
let g:neocomplete#enable_at_startup = 1 | |
" Use smartcase. | |
let g:neocomplete#enable_smart_case = 1 | |
" Set minimum syntax keyword length. | |
let g:neocomplete#sources#syntax#min_keyword_length = 3 | |
let g:neocomplete#lock_buffer_name_pattern = '\*ku\*' | |
" Define dictionary. | |
let g:neocomplete#sources#dictionary#dictionaries = { | |
\ 'default' : '', | |
\ 'vimshell' : $HOME.'/.vimshell_hist', | |
\ 'scheme' : $HOME.'/.gosh_completions' | |
\ } | |
" Define keyword. | |
if !exists('g:neocomplete#keyword_patterns') | |
let g:neocomplete#keyword_patterns = {} | |
endif | |
let g:neocomplete#keyword_patterns['default'] = '\h\w*' | |
" Plugin key-mappings. | |
inoremap <expr><C-g> neocomplete#undo_completion() | |
inoremap <expr><C-l> neocomplete#complete_common_string() | |
" Recommended key-mappings. | |
" <CR>: close popup and save indent. | |
inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR> | |
function! s:my_cr_function() | |
return (pumvisible() ? "\<C-y>" : "" ) . "\<CR>" | |
" For no inserting <CR> key. | |
"return pumvisible() ? "\<C-y>" : "\<CR>" | |
endfunction | |
" <TAB>: completion. | |
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" | |
" <C-h>, <BS>: close popup and delete backword char. | |
inoremap <expr><C-h> neocomplete#smart_close_popup()."\<C-h>" | |
inoremap <expr><BS> neocomplete#smart_close_popup()."\<C-h>" | |
" Close popup by <Space>. | |
"inoremap <expr><Space> pumvisible() ? "\<C-y>" : "\<Space>" | |
" AutoComplPop like behavior. | |
"let g:neocomplete#enable_auto_select = 1 | |
" Shell like behavior(not recommended). | |
"set completeopt+=longest | |
"let g:neocomplete#enable_auto_select = 1 | |
"let g:neocomplete#disable_auto_complete = 1 | |
"inoremap <expr><TAB> pumvisible() ? "\<Down>" : "\<C-x>\<C-u>" | |
" Enable omni completion. | |
autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS | |
autocmd FileType html,markdown 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 | |
" Enable heavy omni completion. | |
if !exists('g:neocomplete#sources#omni#input_patterns') | |
let g:neocomplete#sources#omni#input_patterns = {} | |
endif | |
"let g:neocomplete#sources#omni#input_patterns.php = '[^. \t]->\h\w*\|\h\w*::' | |
"let g:neocomplete#sources#omni#input_patterns.c = '[^.[:digit:] *\t]\%(\.\|->\)' | |
"let g:neocomplete#sources#omni#input_patterns.cpp = '[^.[:digit:] *\t]\%(\.\|->\)\|\h\w*::' | |
" For perlomni.vim setting. | |
" https://github.com/c9s/perlomni.vim | |
let g:neocomplete#sources#omni#input_patterns.perl = '\h\w*->\h\w*\|\h\w*::' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment