Minor vim changes and bashrc repair
[dotfiles/.git] / .vimrc
1 set nocompatible "its just because if i share it it might be useful
2 set number
3 set relativenumber
4 "FOR FINDING FILES:
5 "a better way to find everything that is in my actual subfolder or bellow
6 set path+=**
7 set wildmenu
8 "una nota importante es que podemos simplemente usar ":b nombre" para
9 "cambiar entre los buffers que tenemos abiertos, los que podemos ver
10 "con el comando ":ls" que nos deja ver todos los buffer
11
12 "REMAPS:
13 inoremap jk <ESC>
14 nnoremap <C-s> :w<CR>
15 noremap <silent> <expr> j (v:count == 0 ? 'gj' : 'j')
16 noremap <silent> <expr> k (v:count == 0 ? 'gk' : 'k')
17 nnoremap <leader>v :Vex<CR>
18 nnoremap <leader>h :Sex<CR>
19 "searcher function
20 function! Grepper()
21     call inputsave()
22     let replacement = input('RegExp: ')
23     let workdir = input('Directory: ')
24     call inputrestore()
25     execute 'grep! -Irn '.replacement.' '.workdir
26 endfunction
27 nnoremap <silent> <leader>g  :call Grepper()<CR>:copen<CR>
28
29
30
31 " this is an auto changer for relative numbers
32 :augroup numbertoggle
33 :  autocmd!
34 :  autocmd BufEnter,FocusGained,InsertLeave * set relativenumber
35 :  autocmd BufLeave,FocusLost,InsertEnter   * set norelativenumber
36 :augroup END
37
38
39 "PARA CREAR TAGS EN UN PROYECTO:
40 command! MakeTags !ctags -R .
41 " ahora al hacer ":MakeTags" podremos hacer un tags file
42 " esto nos permite hacer lo siguiente:
43
44 " COMANDOS PARA TAGS:
45 " usar "^]" para saltar a la definicion
46 " usar "g^]" para tags ambiguos
47 " usar "^t" para devolverse en el stack
48 " tambien para autocompletar tenemos
49 " "^x^n" para algo en el archivo actual
50 " "^x^f" para filenames
51 " "^x^]" para tags
52 " "^n" para cosas que estan en el 'complete'
53
54
55 "FILE BROWSING:
56 let g:netrw_banner=0
57 let g:netrw_browse_split=4
58 let g:netrw_altv=1
59 let g:netrw_liststyle=3
60 let g:netrw_list_hide=netrw_gitignore#Hide()
61 let g:netrw_list_dide=',\(^\|\s\s\)\zs\.\S\+'