Skip to content

Instantly share code, notes, and snippets.

@felipecwb
Last active May 22, 2017 21:27
Show Gist options
  • Save felipecwb/b545cf3e959f018c1e4e155aff4940b5 to your computer and use it in GitHub Desktop.
Save felipecwb/b545cf3e959f018c1e4e155aff4940b5 to your computer and use it in GitHub Desktop.
small config to vim
" avoid close vim when delete buffer
function! <SID>BufcloseCloseIt()
let l:currentBufNum = bufnr("%")
let l:alternateBufNum = bufnr("#")
if buflisted(l:alternateBufNum)
buffer #
else
bnext
endif
if bufnr("%") == l:currentBufNum
new
endif
if buflisted(l:currentBufNum)
execute("bdelete!" . l:currentBufNum)
endif
endfunction
" auto complete
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
autocmd FileType c set omnifunc=ccomplete#Complete
command! Bclose call <SID>BufcloseCloseIt() "avoid cole vim whem close a buffer
map <silent><leader><cr> :nohlsearch<cr>
nnoremap <silent><Leader>/ :nohlsearch<CR>
" like duplicate lines
nnoremap <C-d> YP
vnoremap <C-d> YP
" yank to OS's clipboard
vnoremap yo "+y
" paste from OS's clipboard
nnoremap po "+p
" reselect when identing
vnoremap < <gv
vnoremap > >gv
" delete register
nnoremap x "_x
nnoremap d "_d
nnoremap D "_D
vnoremap d "_d
nnoremap <leader>d ""d
nnoremap <leader>D ""D
vnoremap <leader>d ""d
" visual mode pressing * or # searches for the current selection
vnoremap <silent> * :call VisualSelection('f')<CR>
vnoremap <silent> # :call VisualSelection('b')<CR>
" tabs
nnoremap <C-S-tab> :tabprevious<CR>
nnoremap <C-tab> :tabnext<CR>
nnoremap <C-t> :tabnew<CR>
nnoremap <C-Delete> :tabclose<CR>
inoremap <C-S-tab> <Esc>:tabprevious<CR>
inoremap <C-tab> <Esc>:tabnext<CR>
inoremap <C-t> <Esc>:tabnew<CR>
inoremap <C-Delete> <Esc>:tabclose<CR>
" views
map <C-k> <C-W>k
map <C-j> <C-W>j
map <C-h> <C-W>h
map <C-l> <C-W>l
map <C-Up> <C-k>
map <C-Down> <C-j>
map <C-Left> <C-h>
map <C-Right> <C-l>
" sets
syntax on
set showmatch
set nowrap
set scrolloff=0
set sidescroll=1
"set mouse=a
set number
set expandtab
set conceallevel=0
set tabstop=4
set shiftwidth=4
set fileformats=unix
set encoding=utf8
set autoread
set backspace=indent,eol,start
set ruler
set history=800
set laststatus=2
set cscopetagorder=1
set smartindent
set autoindent
set incsearch
set hlsearch
set ignorecase
set smartcase
set switchbuf=useopen
set wildmenu
set wildignore=*.o,*~,*.pyc
set dir=~/.vim/swap//,/var/tmp//,/tmp//,.
set tags=~/.vim/tag//,/var/tmp//,/tmp//,
set lazyredraw
set magic
set listchars=tab:▸→,extends:❯,precedes:❮,trail:·
set showbreak=↪
set list
" theme
colorscheme delek
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment