Skip to content

Instantly share code, notes, and snippets.

@rafaelvasco
Forked from heronmedeiros/.vimrc
Created August 18, 2019 19:33
Show Gist options
  • Save rafaelvasco/0bd657495afca4d0044ef7b97aaecf5e to your computer and use it in GitHub Desktop.
Save rafaelvasco/0bd657495afca4d0044ef7b97aaecf5e to your computer and use it in GitHub Desktop.
Meu arquivo de configuração .vimrc do Vim
""""""""""""""""""""""""""""""""""""""""
" CONFIGURAÇÕES GOGS - WWW.GOGS.COM.BR "
""""""""""""""""""""""""""""""""""""""""
set number " Numera as linhas
set linebreak " Quebra a linha sem quebrar a palavra
set nobackup " Não salva arquivos de backup~
set wildmode=longest,list " Completa o comando com TAB igual o bash
set ignorecase " Ignora o case sensitive nas buscas
set smartcase " Se tiver alguma letra maiúscula, ativa o case sensitive
set gdefault " Sempre substitui todas as palavras, não só a primeira
set smartindent " Auto-indenta
set expandtab " Identa com espaços
set tabstop=2 " Quantidade de espaços por indentação
set shiftwidth=2 " Quantidade de espaços da auto-indentação
set guioptions-=T " Deixa a GUI sem a toolbar
set autochdir " Vai pro diretório do arquivo aberto
set cursorline " Mostra linha atual mais clara
set hlsearch " Termo procurado em destaque
set pumheight=15 " Máximo de palavras no popup de autocomplete
set completeopt=menu,preview " Como mostrar as possibilidade de inserção
set spelllang=pt " Escolhe o dicionário
set foldenable " Habilita agrupamento de blocos
set foldcolumn=1 " Exibie coluna com + e - para agrupamentos
set foldmethod=marker " Define agrupamento por marcas
set foldmarker={,} " Define marcas de agrupamento como { e }
set foldlevel=9999 " Inicia com todos os agrupamentos abertos
filetype plugin indent on
" Permite selecionar com SHIFT + SETA como no Windows
set selectmode=mouse,key
set mousemodel=popup
set keymodel=startsel,stopsel
set selection=exclusive
" Move entrelinhas visíveis, e não somente físicas, quando em WRAP
inoremap <expr><UP> pumvisible() ? "<UP>" : "<C-O>gk"
inoremap <expr><DOWN> pumvisible() ? "<DOWN>" : "<C-O>gj"
" Atalhos
vnoremap <C-C> "+y
vnoremap <C-X> "+x
vnoremap <C-V> "+p
inoremap <C-V> <C-O>:set paste<CR><C-R>+<C-O>:set nopaste<CR>
noremap <C-Z> <C-O>u
inoremap <C-Z> <C-O>u
vnoremap <C-Z> <C-C>ui
inoremap <C-Y> <C-O><C-R>
inoremap <C-S> <C-O>:update<CR>
vnoremap <C-S> <C-C>:update<CR>i
inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
inoremap <C-J> <C-O><S-J>
inoremap <C-F> <C-O>/
inoremap <C-G> <C-O>/<CR>
inoremap <C-O> <C-O>:confirm e .<CR>
inoremap <C-Q> <C-O>:confirm quit<CR>
inoremap <C-A-F> <C-O>:!grep -Hnir "" *<LEFT><LEFT><LEFT>
inoremap <C-H> <C-O>:%s///gg<LEFT><LEFT><LEFT><LEFT>
vnoremap <C-S-F> <C-Q>=
inoremap <A-S-UP> <C-O><C-Q>
inoremap <A-S-DOWN> <C-O><C-Q>
inoremap <A-S-LEFT> <C-O><C-Q>
inoremap <A-S-RIGHT> <C-O><C-Q>
inoremap <C-SPACE> <C-X><C-O>
inoremap <C-SPACE><C-F> <C-X><C-F>
inoremap <C-SPACE><C-L> <C-X><C-L>
inoremap <C-SPACE><C-P> <C-X><C-N>
inoremap <C-SPACE><C-P> <C-X><C-P>
" Copia a linha e apaga a linha
inoremap <C-C> <C-O><S-V>"+y
inoremap <C-X> <C-O><S-V>"+x
inoremap <C-D> <C-O><S-V>d
" Abas
inoremap <C-T> <C-O>:tabnew<CR>
inoremap <C-TAB> <C-O>:tabnext<CR>
inoremap <C-S-TAB> <C-O>:tabprevious<CR>
inoremap <C-F4> <C-O>:x!<CR>
" Divide janela
inoremap <C-W><C-S> <C-O>:split<CR>
inoremap <C-W><C-N> <C-O>:vnew<CR>
inoremap <C-W><C-V> <C-O>:vsplit<CR>
inoremap <C-W><C-Q> <C-O>:confirm quit<CR>
inoremap <C-W><C-W> <C-O>:winc w<CR>
inoremap <C-W><C-UP> <C-O>:winc k<CR>
inoremap <C-W><C-DOWN> <C-O>:winc j<CR>
inoremap <C-W><C-LEFT> <C-O>:winc h<CR>
inoremap <C-W><C-RIGHT> <C-O>:winc l<CR>
noremap <TAB> >
noremap <S-TAB> <
inoremap { {}<LEFT>
inoremap [ []<LEFT>
" Atalhos de função
inoremap <F1> <C-O>:help
inoremap <F5> <C-O>:ConqueTermSplit bash<CR><C-O>:resize 5<CR>
inoremap <F7> <C-O>:set spell<CR><C-O>z=
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Opções de plugins (Retire essas linhas se não tiver estes plugins) "
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
colorscheme molokai " Escolhe o tema
au BufNewFile,BufRead *.txt source ~/.vim/syntax/txt.vim " Sintaxe para TXT
au BufWinEnter,WinEnter * start " Inicia em INSERT-MODE
"""""""""""""""""""""""
" Informações e dicas "
"""""""""""""""""""""""
" Plugins recomendados:
" - molokai :: Colorscheme bem bonito
" - txt.vim :: Sintaxe para arquivos de texto feito pelo aurelio.net
" - html_autoclosetag :: Fecha as tags HTML automaticamente
" - TComment :: Comenta e descomenta blocos (tecle 'CTRL+SHIFT+_' duas vezes)
" - ConqueTerm :: Abre um console bash numa janela
" - Loremipsum :: Cria texto para preencher coisas digitando :loremipsum N
" - snipMate :: Autocompleta funções inteiras
" Para que o <tab> do snipMate não anule o TAB para indentar
" blocos, edite o arquivo ~/.vim/after/plugin/snipMate.vim
" substituindo os mapeamentos 'ino' por 'imap' como no ex.:
" imap <silent> <tab> <c-r>=TriggerSnippet()<cr>
" imap <silent> <s-tab> <c-r>=BackwardsSnippet()<cr>
" imap <silent> <c-r><tab> <c-r>=ShowAvailableSnips()<cr>
" Apague todas as linhas começadas por 'snor'.
" - rubycomplete :: Omnicomplete para linguagem Ruby
" - taglist :: Mostra árvore de métodos das classes (precisa do ctags)
" - jade e mustache :: Syntax para esses arquivos de template
"
" Corretor ortográfico em português brasileiro:
" - Download : http://www.broffice.org/verortografico/baixar
" - No vim, digite o comando ':mkspell pt pt_BR'
" - Copie o arquivo pt.utf-8.spl gerado para a pasta ~/.vim/spell/
" - Ative a correção: ':set spell'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment