Escolar Documentos
Profissional Documentos
Cultura Documentos
txt
---------------------------------------------------------
1. MODOS
2. SALVANDO E SAINDO
3. MOVIMENTANDO
4. REPETIÇÃO DE COMANDOS
5. DELETANDO
6. MODO VISUAL
7. DESFAZENDO ALTERAÇÕES
8. COPIANDO
9. COLANDO
10. REGISTRADORES
11. BUSCAR
12. SUBSTITUIR
13. ABRINDO ARQUIVOS EM BUFFERS
14. TABS
15. DIVIDINDO A JANELA
16. CONFIGURAÇÕES BÁSICAS
17. MARCAS
18. MACRO
19. MISC
20. LATEX, BIBITEX e JabRef
21. CODIFICAÇÃO: VERIFICANDO E ALTERANDO (utf8, latin1)
22. ATALHOS (MÃO NA RODA) ESTANDO NO MODO DE INSERÇÃO
23. CORES (colorimento, syntax, highlighters)
24. IMPRESSÂO
25. MAPEAMENTO E REMAPEAMENTO
---------------------------------------------------------
1. MODOS
--------
O Vim é baseado em modos:
Normal - o que é digitado são comandos
Inserção - o que é digitado é o texto. Deverá estar visível uma linha na parte de baixo: --
INSERÇÃO --
Execução - o que é digitado são comandos. Após digitar : (dois pontos) irá aparecer na parte de
baixo do editor
uma linha para digitar o comando. Teste com :ls e ESC para sair
2. SALVANDO E SAINDO
--------------------
:w - salva as alterações, abreviação de 'write'
nbcgib.uesc.br/lec/download/dicas/vim_tips.txt 1/10
28/06/2020 nbcgib.uesc.br/lec/download/dicas/vim_tips.txt
3. MOVIMENTANDO
---------------
A forma mais comum para movimentar o cursor ainda é as setinhas do teclado,
utilize-as à vontade. Todavia, com o tempo você vai perceber que as setinhas
ficam longe demais das letras e que você precisa movimentar todo o seu braço
para alcançá-las. Para evitar este esforço, tente o seguinte:
j - baixo, sendo a tecla do seu indicador
k - cima
l - direita
h - esquerda
Quando você está digitando uma linha longa e utiliza quebra de linha
automática (wordwrap), ao movimentar para a linha de baixo você vai
perceber que ele realmente vai para a próxima linha, e não para a
posição abaixo do cursor. Para considerar o wordwrap, prefixe o
movimento com g:
gk - vai para a posição acima, considerando o wordwrap
g[seta pra baixo] - vai para a posição abaixo, considerando o wordwrap
g$ - vai até o final da linha, considerando o wordwrap
0 - volta ao começo da linha
^ - volta ao começo da linha (duas vezes já que se trata de um acento)
$ - vai até o final da linha
w - avança até a próxima palavra
e - avança até o fim da palavra atual
b - retorna ao início da palavra
f[caractere] - pressione f seguido de algum caractere para posicionar
o cursor na próxima ocorrência desse caractere
(não digite os colchetes)
t[caractere] - a mesma coisa para o t, mas posiciona um caractere antes
do caractere pressionado (não digite os colchetes)
gg - retorna à primeira linha (tecle o gê duas vezes mesmo)
G - vai até a última linha
:[núm. linha] - vai até a linha especificada (não digite os colchetes)
´´ - volta até onde você estava antes de pular de posição (´ espaço ´ espaço)
Para quem ainda está se adaptando, as teclas seguintes também funcionam: Home, Page Up, Page Down
e End!
3.1 SCROLLING
-------------
^e - uma linha abaixo no buffer
^e5 - 5 linhas abaixo no buffer
^y - uma linha acima no buffer
^y5 - 5 linhas acima no buffer
^f - página abaixo (foward)
^b - página acima (backward)
4. REPETIÇÃO DE COMANDOS
------------------------
Para repetir um comando, simplesmente prefixe-o com o número de vezes que
deseja repetí-lo. Exemplo:
3w - avança três palavras
10k - sobe dez linhas
2t¿ - coloca o cursor antes da segunda aspas
3i[escreve e dá ESC] - o que você digitar será inserido 3 vezes
(não digite os colchetes e não se esqueça de dar ESC)
5. DELETANDO
------------
nbcgib.uesc.br/lec/download/dicas/vim_tips.txt 2/10
28/06/2020 nbcgib.uesc.br/lec/download/dicas/vim_tips.txt
6. MODO VISUAL
--------------
No Vim utilizamos o Modo Visual, com a tecla 'v' seguida de algum comando
de movimentação:
v - inicia ou termina o Modo Visual, utilize por exemplo as setinhas para marcar o texto
V - inicia o Modo Visual, mas para toda a linha
^V - inicia o Modo Visual colunado
vw - inicia o Movo Visual e marca a próxima palavra
v$ - inicia o Movo Visual e marca até o fim da linha
v% - estando com o cursor em cima de um delimitador, "{}[]()", inicia o modo visual e seleciona
tudo que estiver entre
dois delimitadores, eles inclusive
vib - estando entre dois delimitadores em uma posição qualquer, "{}[]()", inicia o modo visual e
seleciona o conteudo
entre dois delimitadores
vi" - inicia o modo visual e seleciona o conteudo entre duas " "
vi' - inicia o modo visual e seleciona o conteudo entre duas ' '
vu - torna minúsculo o caracter/seleção
vU - torna maiúsculo o caracter/seleção
vwu - marca a palavra e utiliza o comando u para deixá-la em minúsculo
vwU - a mesma coisa para deixá-la em maiúsculo
ggVG - volta até o início do arquivo (gg), inicia o Modo Visual de Linhas
(V) e seleciona até o final do arquivo (G)
7. DESFAZENDO ALTERAÇÕES
------------------------
u - desfazer (vem de undo)
^r - refazer (vem de redo)
8. COPIANDO
-----------
Para copiar um texto no Vim você pode utilizar a seleção seguida do comando de cópia,
ou utilizar a cópia combinada a algum comando de movimentação:
yy - copia toda a linha (o y vem do termo yank, algo como arrancar em português)
Y - copia toda a linha
yw - copia até o fim da palavra
y2j - copia mais duas linhas abaixo
"+y - copia para a área de transferência (ficando disponível para outros aplicativos)
9. COLANDO
----------
nbcgib.uesc.br/lec/download/dicas/vim_tips.txt 3/10
28/06/2020 nbcgib.uesc.br/lec/download/dicas/vim_tips.txt
p - cola a partir da posição atual (o primeiro caractere colado fica após o cursor)
P - cola na posição atual (o primeiro caractere colado fica onde está o cursor)
[p - colar antes
]p - colar depois
"+gp - colar da área de transferência (disponível de outros aplicativos)
Em casos onde toda uma linha foi copiada, o pê minúsculo cola abaixo e o maiúsculo acima.
Uma forma alternativa e eficiente de colar o conteúdo da área de transferência (outro aplicativo)
é usar o atalho do console (CTRL+SHIFT+V) no meu caso.
10. REGISTRADORES
-----------------
Boas dicas em: http://pt.wikibooks.org/wiki/Vim/Usando_registros
***Os acostumados em CTRL-C e CTRL-V perceberão que os métodos acima não permitem a troca de
conteúdo com outros programas. Isso acontece porque ao copiar o texto com y, o conteúdo é
colocado em um registrador anônimo (disponível somente no Vim).
Este recurso lhe dá, adicionalmente, a flexibilidade de ter diversos itens copiados
simultaneamente.
Para especificar o registrador onde você deseja disponibilizar o conteúdo copiado, prefixe o
comando
com aspas duplas (") seguido do registrador (qualquer letra ou número).
Além das cópias explícitas com y, os registradores também são usados obscuramente pelo próprio
Vim.
Quando você deleta um texto, ele vai para o registrador anônimo, podendo nesse caso funcionar como
um recurso de recortar.
10.3. COPIAR
------------
¿myy - copia toda a linha no registrador "m"
¿mY - copia toda a linha no registrador "m"
¿jye - copia até o fim da palavra no registrador "j"
¿+yy - copia toda a linha na área de transferência
(o sinal de mais deve ser digitado mesmo, ele é o registrador)
ggVG¿+y - vai até o início do arquivo (gg), inicia o Modo Visual de Linhas (V),
vai até a última linha (G) e copia para a área de transferência (¿+y)
10.4. COLAR
-----------
¿+P - cola da área de transferência (o sinal de mais deve ser digitado)
¿mp - cola do registrador eme
5¿mp - cola do registrador eme cinco vezes (teclar SPC após ")
^r+registro - cola no modo de inserção
nbcgib.uesc.br/lec/download/dicas/vim_tips.txt 4/10
28/06/2020 nbcgib.uesc.br/lec/download/dicas/vim_tips.txt
11. BUSCAR
----------
/txt - (txt = termo a ser buscado)
n - localiza a próxima ocorrência
N - localiza a ocorrência na direção contrária
* - localiza palavra sob o cursor
*** funcionalidades
:set hlsearch ..... destaca todos os termos encontrados (highlight)
:set nohlsearch ..... como tantas outras opções do Vim, o prefixo ¿no¿ desabilita a
funcionalidade
Para ignorar a diferença entra maiúsculas e minúsculas, basta incluir \c no termo da busca:
/\ctxt - realiza uma busca case insensitive do termo digitado
/\Ctxt - cê maiúsculo força a diferenciação de maiúsculas e minúsculas
12. SUBSTITUIR
--------------
A substituição de termos segue basicamente o padrão de expressões regulares, no formato
s/antes/depois/. Ao substituir um termo por outro no Vim, precisamos ainda especificar
onde a alteração deve ser realizada; para alterar um termo em todo documento,
utilizamos o simbolo de porcentagem:
:%s/antes/depois/ ..... substitui a primeira ocorrência dos termos localizados em todas as linhas
Caso o termo localizado apareça mais de uma vez na mesma linha, somente a primeira ocorrência é
substituída,
sendo necessário o uso da flag de Global Matching:
:%s/antes/depois/g .... com a letra g no final, especificamos a flag necessária para alterarmos
todas as ocorrências do termo em todas as linhas do documento
Da mesma forma que utilizamos a porcentagem para abranger todo o documento, podemos especificar
intervalos de linhas:
Nesses casos eu prefiro primeiro realizar a seleção com Modo Visual de Linhas e em seguida aplicar
a seleção. Tente o seguinte:
Vkkk:s/antes/depois/g - iniciamos o Modo Visual de Linhas (V), subimos três linhas (kkk),
começamos um comando (:) e realizamos
a substituição (s/antes/depois/g)
Se existir uma seleção não se pode informar % antes do s ... :'<,'> s/antes/depois/gc
nbcgib.uesc.br/lec/download/dicas/vim_tips.txt 5/10
28/06/2020 nbcgib.uesc.br/lec/download/dicas/vim_tips.txt
:buffers ..... lista os buffers abertos, indicando o número do buffer e o caminho do arquivo
:ls ..... sinônimo para listar os buffers abertos
:buffer[número] ..... troca para o buffer do número especificado (não digite os colchetes)
:b[número] ..... troca para o buffer do número especificado (não digite os colchetes)
Como lembrar os números é impraticável, você pode digitar parte do nome do arquivo (o suficiente
para que ele seja o único encontrado).
Vamos supor que você esteja com os arquivos consulta.php e consulta.tpl abertos em seus
respectivos buffers:
O acionamento dos buffers não está relacionado às extensão dos arquivos, apenas ao fato do padrão
digitado identificar unicamente cada buffer.
Imagine agora os arquivos Conexao.inc.php e Alunos.inc.php:
Se ao invés de um arquivo você especificar um diretório para o comando :edit, o Vim abrirá uma
lista de arquivos e diretórios para que você
possa navegar e localizar o arquivo desejado. Utilize a tecla Enter para abrir o arquivo.
14. TABS
--------
:tabedit file ..... abre arquivo em outra tab
gt - próxima
gT - prévia
nt - vai para tab 'n'
:split arquivo - abre o arquivo após dividir a janela horizontalmente (o mesmo para :vsplit na
vertical)
^w[movimento] - para focar outra janela; o movimento significa as setas direcionais ou uma das
teclas hjkl (não digite os colchetes)
nbcgib.uesc.br/lec/download/dicas/vim_tips.txt 6/10
28/06/2020 nbcgib.uesc.br/lec/download/dicas/vim_tips.txt
:colorscheme slate ..... troca o esquema de cores para um de fundo escuro (especialmente
agradável na versão gráfica)
:syntax on ..... habilita o highlight de sintaxe, praticamente a única coisa que eu
utilizava para programar em outras IDEs mais completas
:set tabstop=4 ..... configura a largura visível de tabulações com \t
:set expandtab ..... utiliza espaços ao invés de \t para tabulação
:set shiftwidth=4 ..... configura o número de espaços na tabulação
:set smarttab ..... habilita facilidades na tabulação, útil para mim ao dar backspace para
remover tabulações com espaço
:set number ..... mostra o número das linhas
Por muito tempo utilizei o GVim, versão gráfica do Vim, e mantinha algumas configurações extras
pra ele no ~/.gvimrc:
Atualmente tenho usado o Vim no terminal mesmo, para poder desfrutar de um fundo transparente ou
com alguma imagem legal :)
17. MARCAS
----------
To set a mark, type m followed by a letter. For example, ma sets mark a at the current position
(line and column). If you set mark a, any mark in the current file that was previously identified
as a is removed. If you set mark A, any previous mark A (in any file) is removed.
edit Deleting marks
If you wipeout a buffer (command :bw), all marks for the buffer are deleted.
The :delmarks command (abbreviated as :delm) may be used to delete specified marks.
------------------------------------------------------------------------------
Command Description
------------------------------------------------------------------------------
:delmarks a ..... delete mark a
:delmarks a-d ..... delete marks a, b, c, d
:delmarks abxy ..... delete marks a, b, x, y
:delmarks aA ..... delete marks a, A
:delmarks! ..... delete all lowercase marks for the current buffer (a-z)
------------------------------------------------------------------------------
18. MACRO
---------
qletra - para inciar o modo de gravação (ex: qm)
q - encerra gravação da macro
@letra - executa a macro (ex: @m)
nbcgib.uesc.br/lec/download/dicas/vim_tips.txt 7/10
28/06/2020 nbcgib.uesc.br/lec/download/dicas/vim_tips.txt
19. MISC
--------
19.1. Dividindo a janela
------------------------
^ws - divide a janela atual em duas (:split)
^wo - faz a janela atual ser a única (:only)
Caso tenha duas janelas e use o atalho acima ^wo lembre-se de salvar tudo ao fechar, pois apesar
de a outra janela estar fechada o arquivo ainda estará carregado, portanto faça:
Para abrir o arquivo sob o cursor em nova janela coloque a linha abaixo no seu ~/.vimrc
let g:netrw_altv = 1
Caso queira pode mapear um atalho "no caso abaixo F2" para abrir o File Explorer.
Maiores informações:
:help buffers
:help windows
19.5. Dicas
-----------
Caso esteja editando um arquivo e nele houver referência a outro arquivo tipo:
/etc/hosts
Você pode usar este comando para abrir uma nova janela com o arquivo citado
^wf
Mas lembre-se que posicionar o cursor sobre o nome do arquivo (veja também mapeamentos)
nbcgib.uesc.br/lec/download/dicas/vim_tips.txt 8/10
28/06/2020 nbcgib.uesc.br/lec/download/dicas/vim_tips.txt
Estando o (g)Vim em modo de inserção (ou não) é possível inserir uma citação a partir
do JabRef no (g)Vim. Para isso inicie o (g)Vim como abaixo:
24. IMPRESSÂO
-------------
:harcopy
:ha
:ha=3
nbcgib.uesc.br/lec/download/dicas/vim_tips.txt 9/10
28/06/2020 nbcgib.uesc.br/lec/download/dicas/vim_tips.txt
<BS> : Backspace
<space> : Espaço
<TAB> : Tab
-----------------------------------------------------
nbcgib.uesc.br/lec/download/dicas/vim_tips.txt 10/10