Last active
August 29, 2015 14:07
-
-
Save zog/5bc247b02b2f50974c3b to your computer and use it in GitHub Desktop.
Revisions
-
Johan Van Ryseghem revised this gist
Oct 22, 2014 . 1 changed file with 1 addition and 0 deletions.There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -7,6 +7,7 @@ set nocompatible " disable modelines, as I don't use them set modelines=0 set nomodeline set term=ansi " This is for the Syntastic plugin, we need to set it before it loads let g:syntastic_enable_signs = 1 -
Johan Van Ryseghem created this gist
Oct 22, 2014 .There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,385 @@ " for testing different rgb mappings for colors "let rgb_file = "~/.vim/rgb.txt" " don't worry about trying to stick to vi/ex conventions set nocompatible " disable modelines, as I don't use them set modelines=0 set nomodeline " This is for the Syntastic plugin, we need to set it before it loads let g:syntastic_enable_signs = 1 let g:syntastic_echo_current_error = 1 let g:syntastic_auto_loc_list = 2 let g:syntastic_enable_highlighting = 1 " configure CtrlP let g:ctrlp_map = '' let g:ctrlp_max_height = 45 let g:ctrlp_match_window_reversed = 0 let g:ctrlp_match_window_bottom = 1 let g:ctrlp_switch_buffer = 2 let g:ctrlp_working_path_mode = 2 let g:ctrlp_mruf_include = '\.py$\|\.rb$|\.coffee|\.haml' let g:ctrlp_custom_ignore = '\.git$\|\.hg$\|\.svn$' let g:ctrlp_follow_symlinks = 1 let g:ctrlp_extensions = ['tag', 'buffertag', 'quickfix', 'dir', 'rtscript'] let g:ctrlp_user_command = { \ 'types': { \ 1: ['.git/', 'cd %s && git ls-files'], \ 2: ['.hg/', 'hg --cwd %s locate -I .'], \ }, \ 'fallback': 'find %s -type f' \ } " configure CtrlPtjump nnoremap <c-]> :CtrlPtjump<cr> vnoremap <c-]> :CtrlPtjumpVisual<cr> " Configure Vimwiki let g:vimwiki_hl_headers = 1 let g:vimwiki_hl_cb_checked = 1 let g:vimwiki_user_mouse = 1 let g:vimwiki_folding = 1 let g:vimwiki_fold_lists = 1 let g:vimwiki_list_ignore_newline = 0 let wiki_1 = {} let wiki_1.nested_syntaxes = {'python': 'python', 'ruby': 'ruby', 'rails': 'rails', 'yaml': 'yml'} " configure IndentGuides plugin let g:indent_guides_auto_colors = 0 let g:indent_guides_start_level = 3 let g:indent_guides_guide_size = 1 autocmd! VimEnter,Colorscheme * hi IndentGuidesOdd ctermbg=236 guibg=#303030 | hi IndentGuidesEven ctermbg=239 guibg=#505050 "autocmd! VimEnter,Colorscheme * hi IndentGuidesEven ctermbg=123 guibg=#880055 " configure airline, enable fancy symbols let g:airline#extensions#tabline#enabled = 1 let g:airline_inactive_collapse=0 let g:airline_theme='powerlineish' let g:airline_powerline_fonts=1 " paste glyph let g:airline#extensions#paste#symbol = 'ℙ' " new glyphs let g:airline_left_sep = '' let g:airline_left_alt_sep = '' let g:airline_right_sep = '' let g:airline_right_alt_sep = '' let g:airline_linecolumn_prefix = ' ' let g:airline#extensions#branch#symbol = ' ' let g:airline#extensions#readonly#symbol = '' " old glyphs "let g:airline_left_sep = '⮀' "let g:airline_left_alt_sep = '⮁' "let g:airline_right_sep = '⮂' "let g:airline_right_alt_sep = '⮃' "let g:airline_linecolumn_prefix = '⭡ ' "let g:airline#extensions#branch#symbol = '⭠ ' "let g:airline#extensions#readonly#symbol = '⭤' " disable balloon popup since theres a plugin that makes it really annoying if has("balloon_eval") set noballooneval set balloondelay=100000 end " Syntax highlight based on filetype, which is autmatically determined. syntax on " The filetype plugin needs to be reinitialized after enabling syntax. filetype off filetype on filetype plugin on filetype indent on " Enable syntax folding for blocks and comments. set foldmethod=syntax " Don't fold blocks less than 3 lines long. set foldminlines=3 set foldlevel=100 " disable wrap by default set nowrap " indentation configuration set cindent set smartindent set autoindent " Convert tabs to spaces, use 2 spaces in place of tabs. set expandtab set tabstop=2 set shiftwidth=2 " text search options set hlsearch set incsearch set ignorecase set smartcase " hide buffers instead of closing them when you :q, keeping their undo history set hidden " Open new windows on the bottom and right instead of the top and left. set splitbelow set splitright " increase the default command line history set history=1000 " File name tab completion functions like bash, it gives you a list of " options instead of automatically filling in the first possible match. set wildmenu " It will however, with this option, complete up to the first character of " ambiguity. set wildmode=list:longest " Show line numbers set number " highlight the line and line number the cursor is on set cursorline " highlight the column the cursor is in "set cursorcolumn " colorize right margin (slightly darker in gvim, slightly lighter in console) highlight ColorColumn ctermbg=234 guibg=#181a1b let &colorcolumn=join(range(81,400),",") " highlight characters over 120 the same as errors match ErrorMsg '\%>120v.\+' " Make clipbord work on OS X. This makes copy/paste operations trivial between " vim and other applications since they all use the same clipboard now. if $TMUX == '' set clipboard+=unnamed endif " visual select automatically copies to.. " Linux - X11's selection ("middle click") buffer when available " OSX - System clipboard set go+=a " scrolls the buffer before you reach the last line of the window set scrolloff=3 " Always show status line set laststatus=2 " default encoding set encoding=utf-8 " sets backspace key functions, allows it to backspace over end of line " characters, start of line, and indentation set backspace=indent,eol,start " movement keys will take you to the next or previous line set whichwrap+=<,>,h,l " enable mouse in console set mousemodel=extend set mouse=a set mousehide set mouse+=a if &term =~ '^screen' " tmux knows the extended mouse mode set ttymouse=xterm2 endif " improve autocomplete menu color highlight Pmenu ctermbg=238 gui=bold " set the spellcheck language setlocal spell spelllang=en_us " disable spellcheck by default set nospell " for exuberant CTags support set tags=./tags;/ " use a user-local vim-specific directory for backups rather than the global " tmp directory by default set backupdir=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp set directory=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp " treat question marks as part of a word in ruby autocmd BufRead *.rb,*.rake,*.rhtml,<ruby> set isk=?,@,48-57,_,192-255 " ruby autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete autocmd FileType ruby,eruby let g:rubycomplete_buffer_loading = 1 autocmd FileType ruby,eruby let g:rubycomplete_rails = 1 autocmd FileType ruby,eruby let g:rubycomplete_classes_in_global = 1 " nginx.conf au BufRead,BufNewFile /etc/nginx/*,/usr/local/nginx/conf/* if &ft == '' | setfiletype nginx | endif " disable wordwrap when looking at CSVs autocmd BufRead *.csv,*.csv*,<csv> set nowrap " remove whitespace at end of line func! StripTrailingWhitespace() normal mZ %s/\s\+$//e normal `Z endfunc " automatically run before write, except binary files autocmd BufWrite * if ! &bin | call StripTrailingWhitespace() | endif func! Clip() range echo system('echo '.shellescape(join(getline(a:firstline, a:lastline), "\n")).'| system-clipboard put') endfunction " visual mode copy to system clipboard vmap <leader>y <esc>:'<,'>:w ! system-clipboard put<CR> " normal mode paste from system clipboard nmap <leader>p <esc>:r ! system-clipboard get<CR> " display the path and file name of the current fila " in the Terminal's Window/Tab Title if has('title') " %( - item group .. %) " .20 - truncate path at 20 chars " %{ - eval this .. } " % - file path (see :help expand) " :~ - reduce home dir to tilde " :. - relative paths " :h - parent dir only " :s - search and replace modifier " ; - arbitrary seperator character " $ - pattern: end of string " / - substitute: trailing slash (if string not empty) " %< - truncate from here " %t - file name (tail/basename) " %r - read only flag " %m - modified flag " see :help statusline/titlestring for more info set titlestring=%.20(%{expand(\"%:~:.:h:s;$;/;\")}%<%t%(%r%m%)%) " For xtermish Window Title protocols " Also names tmux's panes set t_ts=]0; set t_fs= " for renaming tmux windows to "vim" "set t_ts=kvim\\]0; set title endif " leader shortcuts START --> " for rails.vim alternate between test and tested map <leader>t :A<CR> map <leader>ts :AS<CR> map <leader>tv :AV<CR> " for rails.vim swap to model/control/etc from associated file map <leader>rm :Rmodel<CR> map <leader>rc :Rcontroller<CR> map <leader>rh :Rhelper<CR> map <leader>ru :Runittest<CR> map <leader>rf :Rfunctionaltest<CR> map <leader>ro :Robserver<CR> map <leader>rv :Rview<CR> map <leader>rl :Rlocale<CR> " for CtrlP map <leader>ff :CtrlP<CR> map <leader>fb :CtrlPBuffer<CR> map <leader>ft :CtrlPTag<CR> map <leader>fq :CtrlPQuickFix<CR> map <leader>fd :CtrlPDir<CR> map <leader>fr :CtrlPRTS<CR> map <leader>fm :CtrlPMRU<CR> " for undotree map <leader>u :UndotreeToggle<CR> " for backward compatibility map <leader>g :UndotreeToggle<CR> " runs diff against the current buffer and the file on disk map <leader>d :w !diff % -<CR> " When pressing <leader>cd switch to the directory of the open buffer map <leader>cd :cd %:p:h<CR> " <-- leader shortcuts END " search hilighting control, enables and disable intelligently and toggles nnoremap / :set hlsearch<CR>/ nnoremap ? :set hlsearch<CR>? nnoremap n :set hlsearch<CR>n nnoremap N :set hlsearch<CR>N nnoremap <CR> :noh<CR><CR> nnoremap <leader>/ :set hlsearch!<CR> " tab navigation like web browsers nmap <C-S-tab> :tabprevious<CR> nmap <C-tab> :tabnext<CR> map <C-S-tab> :tabprevious<CR> map <C-tab> :tabnext<CR> imap <C-S-tab> <ESC>:tabprevious<CR>i imap <C-tab> <ESC>:tabnext<CR>i nmap <C-t> :tabnew<CR> imap <C-t> <ESC>:tabnew<CR> " Bash like keys for the command line cnoremap <C-A> <Home> cnoremap <C-E> <End> cnoremap <C-K> <C-U> cnoremap <C-P> <Up> cnoremap <C-N> <Down> " quickly move between windows map <C-j> <C-W>j map <C-k> <C-W>k map <C-h> <C-W>h map <C-l> <C-W>l " make mouse scrolling work in terminal vim! map <M-Esc>[62~ <ScrollWheelUp> map <M-Esc>[63~ <ScrollWheelDown> map <M-Esc>[64~ <S-ScrollWheelUp> map <M-Esc>[65~ <S-ScrollWheelDown> map! <M-Esc>[62~ <ScrollWheelUp> map! <M-Esc>[63~ <ScrollWheelDown> map! <M-Esc>[64~ <S-ScrollWheelUp> map! <M-Esc>[65~ <S-ScrollWheelDown> " make external keypad work in terminal vim OSX! map <Esc>Oq 1 map <Esc>Or 2 map <Esc>Os 3 map <Esc>Ot 4 map <Esc>Ou 5 map <Esc>Ov 6 map <Esc>Ow 7 map <Esc>Ox 8 map <Esc>Oy 9 map <Esc>Op 0 map <Esc>On . map <Esc>OQ / map <Esc>OR * map <kPlus> + map <Esc>OS - map <Esc>OM <CR> map! <Esc>Oq 1 map! <Esc>Or 2 map! <Esc>Os 3 map! <Esc>Ot 4 map! <Esc>Ou 5 map! <Esc>Ov 6 map! <Esc>Ow 7 map! <Esc>Ox 8 map! <Esc>Oy 9 map! <Esc>Op 0 map! <Esc>On . map! <Esc>OQ / map! <Esc>OR * map! <kPlus> + map! <Esc>OS - map! <Esc>OM <CR>