:%s/foo/bar/g # replace string v # open new file to vplit window from netrw gf # go to file (current window) from netrw y # yank/copy lines p # paste from yanked/clipboard gg # go to top GG # go to bottom % # match bracket Ctrl-e # open Vexplorer left side after new tab :1316 # go to line number
Month: December 2015
My vim standard config
highlight Cursor guifg=white guibg=black highlight iCursor guifg=white guibg=steelblue set guicursor=n-v-c:block-Cursor set guicursor+=i:ver100-iCursor set guicursor+=n-v-c:blinkon0 set guicursor+=i:blinkwait10 set mouse=a autocmd TextChanged,TextChangedI <buffer> silent write set clipboard=unnamedplus set paste set nu set tabstop=4 noremap <S-s> :w <Enter> let g:netrw_banner = 0 let g:netrw_liststyle = 3 let g:netrw_browse_split = 4 let g:netrw_altv = 1 let g:netrw_winsize = 25 augroup ProjectDrawer autocmd! autocmd VimEnter * :Vexplore augroup END function! NetrwOpenMultiTab(current_line,...) range " Get the number of lines. let n_lines = a:lastline - a:firstline + 1 " This is the command to be built up. let command = "normal " " Iterator. let i = 1 " Virtually iterate over each line and build the command. while i < n_lines let command .= "tgT:" . ( a:firstline + i ) . "\<CR>:+tabmove\<CR>" let i += 1 endwhile let command .= "tgT" " Restore the Explore tab position. if i != 1 let command .= ":tabmove -" . ( n_lines - 1 ) . "\<CR>" endif " Restore the previous cursor line. let command .= ":" . a:current_line . "\<CR>" " Check function arguments if a:0 > 0 if a:1 > 0 && a:1 <= n_lines " The current tab is for the nth file. let command .= ( tabpagenr() + a:1 ) . "gt" else " The current tab is for the last selected file. let command .= (tabpagenr() + n_lines) . "gt" endif endif " The current tab is for the Explore tab by default. " Execute the custom command. execute command endfunction " Define mappings. augroup NetrwOpenMultiTabGroup autocmd! autocmd Filetype netrw vnoremap <buffer> <silent> <expr> t ":call NetrwOpenMultiTab(" . line(".") . "," . "v:count)\<CR>" autocmd Filetype netrw vnoremap <buffer> <silent> <expr> T ":call NetrwOpenMultiTab(" . line(".") . "," . (( v:count == 0) ? '' : v:count) . ")\<CR>" augroup END "execute "set <M-j>=\e1" "nnoremap <M-j> :tabnew noremap <Esc>1 1gt noremap <Esc>2 2gt noremap <Esc>3 3gt noremap <Esc>4 4gt noremap <Esc>5 5gt noremap <Esc>6 6gt noremap <Esc>7 7gt noremap <Esc>8 8gt noremap <Esc>9 9gt noremap <Esc>z :tabnext <Enter> noremap <C-w> :close <Enter> <Esc> noremap <C-Tab> gt noremap <C-S-Tab> gT noremap <C-t> :tabnew <Enter> noremap <Esc>e :Vex <Enter> noremap <Esc>q :qa! <Enter> noremap <Space>d <C-w>l noremap <Space>a <C-w>h noremap <Space>w <C-w>k noremap <Space>s <C-w>j noremap <Esc>s <C-w>w noremap <C-s> :w <Enter> " CTRL-Tab is next tab noremap <C-Tab> :<C-U>tabnext<CR> inoremap <C-Tab> <C-\><C-N>:tabnext<CR> cnoremap <C-Tab> <C-C>:tabnext<CR> " CTRL-SHIFT-Tab is previous tab noremap <C-S-Tab> :<C-U>tabprevious<CR> inoremap <C-S-Tab> <C-\><C-N>:tabprevious<CR> cnoremap <C-S-Tab> <C-C>:tabprevious<CR> noremap <silent> <F12> touch ~/.uwsgi.ini<cr>