ndice
1 Como editar preferncias no Vim
1.1 Onde colocar plugins e temas de cor
2 Comentrios
3 Notas sobre mapeamentos
4 Recarregando o arquivo de congurao
5 Set
5.1 Exibindo caracteres invisveis
5.2 Setando macros prvias
6 Mapeamentos
6.1 Limpando o buer de buscas
6.2 Destacar palavra sob o cursor
6.3 Remover linhas em branco duplicadas
7 Os atalhos
7.1 Autocomandos
8 Fechamento automtico de parnteses
9 Destaque colorido para endereos IP
10 Fechamento automtico de Tags HTML
11 Data automtica
12 Change log
13 Barra de status
14 Mudar cor da barra de status dependendo do modo
15 Rolar outra janela
16 Funo para numerar linhas
17 Funo para trocar o esquema de cores
18 Miscelnea
19 Funo para gerar backup
20 Como adicionar o python ao path do vim?
21 Criando um menu
21.1 Criando menus para um modo especco
21.2 Exemplo de menu
22 Outros mapeamentos
23 Fazendo buscas e substituies
24 Complementao com tab
25 Abreviaes
26 Referncias
1 of 19 01/06/17, 16:23
Vim/Como editar preferncias - Wikilivros https://pt.wikibooks.org/wiki/Vim/Como_editar_...
~/.vimrc
~\_vimrc
No linux procure ou crie uma pasta chamada .vim que deve car em
/home/user/.vim
vimfiles
|
+--color
|
+--doc
|
+--syntax
|
+--plugin
Comentrios
" linhas comeadas com aspas so comentrios
" e portanto sero ignoradas pelo vim
2 of 19 01/06/17, 16:23
Vim/Como editar preferncias - Wikilivros https://pt.wikibooks.org/wiki/Vim/Como_editar_...
<CR> : Enter
<ESC> : Escape
<LEADER> : normalmente \
<BAR> : | pipe
<CWORD> : Palavra sob o cursor
<CFILE> : Arquivo sob o cursor
<CFILE>< : Arquivo sob o cursor sem extenso
<SFILE> : Contedo do arquivo sob o cursor
<LEFT> : Salta um caractere para esquerda
<UP> : Equivale clicar em 'seta acima'
<M-F4> : A tecla ALT -> M mais a tecla F4
<C-f> : Control f
<BS> : Backspace
<space> : Espao
<TAB> : Tab
Set
Os comandos set podem ser colocados no .vimrc:
3 of 19 01/06/17, 16:23
Vim/Como editar preferncias - Wikilivros https://pt.wikibooks.org/wiki/Vim/Como_editar_...
set nu
:set nu
4 of 19 01/06/17, 16:23
Vim/Como editar preferncias - Wikilivros https://pt.wikibooks.org/wiki/Vim/Como_editar_...
"exemplo 1:
"set listchars=tab:>-,trail:.,eol:#,extends:@
"exemplo 2:
"set listchars=tab:>-
"exemplo 3:
"set listchars=tab:>-
"exemplo 4:
set nowrap "Essa opo desabilita a quebra de linha
"set listchars=extends:+
:set list
Denindo uma macro de nome 's' para ordenar e retirar linhas duplicadas
@s
:%sort -u
Obs: O vim partir de sua verso '7' passou a ter um comando de ordenao
prprio, ou seja, ele no depende mais de comandos externos para ordenar e
retirar duplicados
5 of 19 01/06/17, 16:23
Vim/Como editar preferncias - Wikilivros https://pt.wikibooks.org/wiki/Vim/Como_editar_...
:5,20sort u
"da linha 5 at a linha 20 ordene e retire duplicados
:sort n
" ordene meu documento considerando nmeros
" isto til pois se a primeira coluna contiver
" nmeros a ordenao pode ficar errada caso no usemos
" o parmetro 'n'
Mapeamentos
Mapeamentos permitem criar atalhos de teclas para quase tudo. Tudo depende
de sua criatividade e do quanto conhece o Vim.
6 of 19 01/06/17, 16:23
Vim/Como editar preferncias - Wikilivros https://pt.wikibooks.org/wiki/Vim/Como_editar_...
map ,d <esc>:%s/\(^\n\{2,}\)/\r/g<cr>
,d
As barras invertidas podem no ser usadas se o seu vim estiver com a opo
magic habilitada
:set magic
Por acaso este um padro portanto tente usar assim pra ver se funciona
map ,d :%s/\n{2,}/\r/g<cr>
Os atalhos
Para criar mapeamentos, precisamos conhecer a maneira de representar as
teclas e combinaes. Alguns exemplos:
7 of 19 01/06/17, 16:23
Vim/Como editar preferncias - Wikilivros https://pt.wikibooks.org/wiki/Vim/Como_editar_...
Autocomandos
au BufNewFile tipo ao
Veja um exemplo:
8 of 19 01/06/17, 16:23
Vim/Como editar preferncias - Wikilivros https://pt.wikibooks.org/wiki/Vim/Como_editar_...
9 of 19 01/06/17, 16:23
Vim/Como editar preferncias - Wikilivros https://pt.wikibooks.org/wiki/Vim/Como_editar_...
Agora basta escrever a sua tag e ao fech-la com * aperte <Tab> para
completar com seu respectivo fechamento.
Data automtica
Caso esta funo esteja congurada corretamente, a cada salvamento do
arquivo a data contida no cabealho ser atualizada.
Change log
" === Cria um registro de alteraes de arquivo ========
10 of 19 01/06/17, 16:23
Vim/Como editar preferncias - Wikilivros https://pt.wikibooks.org/wiki/Vim/Como_editar_...
Barra de status
" O trecho abaixo formata a barra de status com algumas opes interessantes!
" mostra o cdigo ascii do caractere sob o cursor e outras coisas mais
set statusline=%F%m%r%h%w [FORMATO=%{&ff}] [TIPO=%Y] [ASCII=\%03.3b] [HEX=\%02.2B] [POSIO=%04l,%04v][%p%%] [T
set laststatus=2 " Sempre exibe a barra de status
Ctrl-w-n
11 of 19 01/06/17, 16:23
Vim/Como editar preferncias - Wikilivros https://pt.wikibooks.org/wiki/Vim/Como_editar_...
fun! ScrollOtherWindow(dir)
if a:dir == "down"
let move = "\<C-E>"
elseif a:dir == "up"
let move = "\<C-Y>"
endif
exec "normal \<C-W>p" . move . "\<C-W>p"
endfun
nmap <silent> <M-Down> :call ScrollOtherWindow("down")<CR>
nmap <silent> <M-Up> :call ScrollOtherWindow("up")<CR>
"numerar linhas
command! -nargs=* -range Nlist <line1>,<line2>call Nlist(<f-args>)
function! Nlist(...) range
if 2 == a:0
let start = a:1
let append = a:2
elseif 1 == a:0
let start = a:1
let append = " "
else
let start = 1
let append = " "
endif
" try to work like getline (i.e. allow the user to pass in . $ or 'x)
if 0 == (start + 0)
let start = line(start)
endif
Shift-v
:'<,'>Nlist
12 of 19 01/06/17, 16:23
Vim/Como editar preferncias - Wikilivros https://pt.wikibooks.org/wiki/Vim/Como_editar_...
function! <SID>SwitchColorSchemes()
if exists("g:colors_name")
if g:colors_name == 'native'
colorscheme billw
elseif g:colors_name == 'billw'
colorscheme desert
elseif g:colors_name == 'desert'
colorscheme navajo-night
elseif g:colors_name == 'navajo-night'
colorscheme zenburn
elseif g:colors_name == 'zenburn'
colorscheme bmichaelsen
elseif g:colors_name == 'bmichaelsen'
colorscheme wintersday
elseif g:colors_name == 'wintersday'
colorscheme summerfruit
elseif g:colors_name == 'summerfruit'
colorscheme native
endif
endif
endfunction
map <silent> <F6> :call <SID>SwitchColorSchemes()<CR>
Miscelnea
Uma funo para inserir cabealho de scrip bash para chamar a funo basta
pressionar, sh em modo normal
13 of 19 01/06/17, 16:23
Vim/Como editar preferncias - Wikilivros https://pt.wikibooks.org/wiki/Vim/Como_editar_...
endfun
autocmd BufNewFile *.py call BufNewFile_PY()
map ,py :call BufNewFile_PY()<cr>A
" Ao editar um arquivo ser aberto no ltimo ponto em " que foi editado
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
"
" Permite recarregar o Vim para que modificaes no
" Prprio vimrc seja ativadas com o mesmo sendo editado
nmap <F12> :<C-u>source $HOME/.vimrc <BAR> echo "Vimrc recarregado!"<CR>
Redimensionar janelas
function! GoToLine()
let ln = inputdialog("ir para a linha...")
exe ":" . ln
endfunction
14 of 19 01/06/17, 16:23
Vim/Como editar preferncias - Wikilivros https://pt.wikibooks.org/wiki/Vim/Como_editar_...
O atalho
<leader>
:help <leader>
Isto lhe permite usar 'gf' ou Ctrl-w Ctrl-F para abrir um arquivo sob o cursor
Criando um menu
Como no vim podemos ter innitos comandos ca complicado memorizar tudo
a que entram os menus, podemos colocar nossos plugins e atalhos favoritos
em um menu veja este exemplo
15 of 19 01/06/17, 16:23
Vim/Como editar preferncias - Wikilivros https://pt.wikibooks.org/wiki/Vim/Como_editar_...
Exemplo de menu
" cores
O comando
:update
Quando o comando
:amenu
Para listar todas as opes de menu para 'Plugin' por exemplo faa:
:amenu Plugin
Outros mapeamentos
Destaca espaos e tabs redundantes
16 of 19 01/06/17, 16:23
Vim/Como editar preferncias - Wikilivros https://pt.wikibooks.org/wiki/Vim/Como_editar_...
\s ................ espao
\+ ................ uma ou mais vezes
$ ................. no final da linha
\| ................ ou
" " ............... espao (veja imagem acima)
\+ ................ uma ou mais vezes
\ze ............... at o fim
\t ................ tabulao
Um detalhe importante
fun! CleanExtraSpaces()
let save_cursor = getpos(".")
let old_query = getreg('/')
:%s/\s\+$//e
call setpos('.', save_cursor)
call setreg('/', old_query)
endfun
nmap <silent> <leader>c :call CleanExtraSpaces()<cr>
autocmd BufWritePre * :call CleanExtraSpaces()
17 of 19 01/06/17, 16:23
Vim/Como editar preferncias - Wikilivros https://pt.wikibooks.org/wiki/Vim/Como_editar_...
Abreviaes
Tambm no .vimrc voc pode colocar abreviaes, que so uma espcie de
auto-texto para o vim
18 of 19 01/06/17, 16:23
Vim/Como editar preferncias - Wikilivros https://pt.wikibooks.org/wiki/Vim/Como_editar_...
im :<CR> :<CR><TAB>
Referncias
http://www.dicas-l.com.br/dicas-l/20050118.php
Obtido em "https://pt.wikibooks.org/w/index.php?title=Vim
/Como_editar_preferncias&oldid=439416"
Categoria: Livro/Vim
Esta pgina foi editada pela ltima vez (s) 13h16min de 23 de novembro
de 2016.
Este texto disponibilizado nos termos da licena Creative Commons
Atribuio-Compartilhamento pela mesma Licena 3.0 Unported; pode
estar sujeito a condies adicionais. Consulte as Condies de Uso para
mais detalhes.
19 of 19 01/06/17, 16:23