<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-90006102996913037</id><updated>2011-11-27T21:15:43.265-02:00</updated><category term='vim movendo'/><category term='vim script'/><category term='vim movendo-cursor'/><category term='vim procura'/><category term='vim pesquisa'/><category term='vim configuração'/><category term='vim instalação'/><category term='vim histórico'/><category term='vim utilitários'/><category term='vim edição'/><category term='vim documentação'/><category term='vim gui'/><title type='text'>Vim - anotações</title><subtitle type='html'>Notas sobre o uso do editor vim.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default?start-index=101&amp;max-results=100'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>633</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-4435883981034723116</id><published>2009-06-30T13:06:00.005-03:00</published><updated>2011-06-28T20:08:04.367-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Trocando as funções entre &lt;Esc&gt;  e &lt;Capslock&gt;</title><content type='html'>A tecla &lt;esc&gt; é muito usada no Vim, mas muitos consideram-na um entrave na&lt;br /&gt;produtividade pela sua posição, longe da home row do teclado.&lt;br /&gt;Uma solução é usar uma outra tecla próxima e de pouco uso no lugar do &lt;esc&gt;. A&lt;br /&gt;tecla preferida é o &lt;capslock&gt; &lt;capslock&gt; .&lt;br /&gt;&lt;br /&gt;No Ubuntu use:&lt;br /&gt;Sistemas - Preferências - Teclado - Disposições - Opções da disposição -&lt;br /&gt;Comportamento da tecla CapsLock.&lt;br /&gt;Escolha:&lt;br /&gt;Trocar Esc e Caps Lock&lt;/capslock&gt;&lt;/capslock&gt;&lt;/esc&gt;&lt;/esc&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-4435883981034723116?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/4435883981034723116/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/trocando-as-funcoes-entre-e.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4435883981034723116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4435883981034723116'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/trocando-as-funcoes-entre-e.html' title='Trocando as funções entre &amp;lt;Esc&amp;gt;  e &amp;lt;Capslock&amp;gt;'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-4226969354892097765</id><published>2009-06-10T09:21:00.003-03:00</published><updated>2009-06-10T09:37:15.083-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim pesquisa'/><title type='text'>Listando todas definições de macro C no modo comando</title><content type='html'>Para listar todas definições de uma macro use:&lt;br /&gt;&lt;pre&gt;:dlist EOF&lt;/pre&gt; É semelhante a&lt;br /&gt;&lt;pre&gt;[D e ]D&lt;/pre&gt; mas permite também selecionar um intervalo de linhas a serem pesquisadas.&lt;br /&gt;O comando:&lt;br /&gt;&lt;pre&gt;:dsearch EOF&lt;/pre&gt; pesquisa definições também, mas só lista a primeira.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-4226969354892097765?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/4226969354892097765/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/listando-todas-definicoes-de-macro-c-no.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4226969354892097765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4226969354892097765'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/listando-todas-definicoes-de-macro-c-no.html' title='Listando todas definições de macro C no modo comando'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-2119014696576413997</id><published>2009-06-10T09:08:00.005-03:00</published><updated>2009-06-10T09:20:05.644-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim movendo-cursor'/><title type='text'>Saltando para definições de macro C em modo comando</title><content type='html'>O comando:&lt;br /&gt;&lt;pre&gt;:djump /padrão/&lt;/pre&gt; salta para a primeira definição de macro que encontrar no arquivo corrente e nos&lt;br /&gt;includes. É semelhante ao comando de modo normal:&lt;br /&gt;&lt;pre&gt;[&amp;lt;Ctrl-D&amp;gt;&lt;/pre&gt; porém permite selecionar um intervalo para restringir a procura.&lt;br /&gt;O comando:&lt;br /&gt;&lt;pre&gt;:dsplit&lt;/pre&gt; faz um ':split' seguido de um ':djump'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-2119014696576413997?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/2119014696576413997/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/saltando-para-definicoes-de-macro-em.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2119014696576413997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2119014696576413997'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/saltando-para-definicoes-de-macro-em.html' title='Saltando para definições de macro C em modo comando'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-7624718722562681282</id><published>2009-06-10T08:13:00.006-03:00</published><updated>2009-06-10T08:36:05.842-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim pesquisa'/><title type='text'>Listando as ocorrências de um palavra em modo comando</title><content type='html'>O comando:&lt;br /&gt;&lt;pre&gt;:{intervalo}ilist /padrão/&lt;/pre&gt; mostra todas linhas que tem uma ocorrência do padrão.&lt;br /&gt;A busca vai no arquivo corrente e nos includes.&lt;br /&gt;&lt;br /&gt;É semelhante a:&lt;br /&gt;&lt;pre&gt;[I e ]I&lt;/pre&gt; mas permite restringir a um intervalo de linhas&lt;br /&gt;Por exemplo, listar todas linhas que tenham 'EOF':&lt;br /&gt;&lt;pre&gt;:ilist EOF&lt;/pre&gt;O comando:&lt;br /&gt;&lt;pre&gt;:isearch EOF&lt;/pre&gt; é semelhante a ':ilist' mas lista somente a primeira ocorrência.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-7624718722562681282?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/7624718722562681282/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/listando-as-ocorrencias-de-um-palavra.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7624718722562681282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7624718722562681282'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/listando-as-ocorrencias-de-um-palavra.html' title='Listando as ocorrências de um palavra em modo comando'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-1065394361810315694</id><published>2009-06-09T22:54:00.004-03:00</published><updated>2009-06-10T08:34:41.185-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim movendo-cursor'/><category scheme='http://www.blogger.com/atom/ns#' term='vim pesquisa'/><title type='text'>Pesquisando e saltando para uma palavra em modo comando</title><content type='html'>O comando:&lt;br /&gt;&lt;pre&gt;{intervalo}:ijump {contagem} {/padrão/}&lt;/pre&gt; procura a primeira ocorrência da palavra dentro do intervalo.&lt;br /&gt;A procura ocorre no arquivo corrente e nos arquivos apontados pela diretiva&lt;br /&gt;'#include'. A 'contagem' diz para saltar para a uma ocorrência específica.&lt;br /&gt;&lt;br /&gt;Exemplo:&lt;br /&gt;&lt;pre&gt;:ijump /define\s*EOF/&lt;/pre&gt; procura a primeira linha que contenha 'define EOF'. Neste caso, ela está dentro do arquivo de include 'stdio.h'.&lt;br /&gt;Faz o mesmo que &lt;br /&gt;&lt;pre&gt;[&amp;lt;Ctrl-I&amp;gt; e ]&amp;lt;Ctrl-I&amp;gt;&lt;/pre&gt; porém pode restringir a um intervalo de linhas.&lt;br /&gt;O comando:&lt;br /&gt;&lt;pre&gt;:isplit /padrão/&lt;/pre&gt; funciona como um ':split' seguido de um ':ijump'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-1065394361810315694?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/1065394361810315694/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/saltando-para-uma-palavra.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1065394361810315694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1065394361810315694'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/saltando-para-uma-palavra.html' title='Pesquisando e saltando para uma palavra em modo comando'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-6170928846158904338</id><published>2009-06-08T18:28:00.004-03:00</published><updated>2009-06-08T19:09:09.522-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Opção para tornar default a flag 'g' do substitute</title><content type='html'>O comando ':substitute' por default só altera a 1ª ocorrência de uma linha.&lt;br /&gt;Para alterar todas use a flag 'g'.&lt;br /&gt;&lt;br /&gt;Para torna-la o default use:&lt;br /&gt;&lt;pre&gt;:set gdefault&lt;/pre&gt; Agora o ':substitute' altera todas ocorrências sempre.&lt;br /&gt;&lt;br /&gt;No entanto, isso poderá quebrar scripts que você possa usar.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-6170928846158904338?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/6170928846158904338/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/opcao-para-fazer-flag-global-do.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/6170928846158904338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/6170928846158904338'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/opcao-para-fazer-flag-global-do.html' title='Opção para tornar default a flag &apos;g&apos; do substitute'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-6636807201473652625</id><published>2009-06-08T17:17:00.007-03:00</published><updated>2009-06-08T18:27:39.961-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim edição'/><title type='text'>Repetindo a última substituição</title><content type='html'>O comando:&lt;br /&gt;&lt;pre&gt;{intervalo}:&amp; {flags} {contagem}&lt;/pre&gt; repete o último comando ':substitute' com o mesmo padrão e o mesmo string de substituição, mas sem as mesmas flags.&lt;br /&gt;&lt;br /&gt;Exemplo, o comando seguinte substitui somente a 1ª ocorrência:&lt;br /&gt;&lt;pre&gt;1 substitute /a\+/b/p&lt;br /&gt;Test b* aa* a*&lt;/pre&gt; Agora para repetir, mas de com flag global:&lt;br /&gt;&lt;pre&gt;:&amp;g&lt;/pre&gt; O comando ':&amp;' sem argumentos repete o último ':substitute'.&lt;br /&gt;&lt;br /&gt;O comando de modo normal '&amp;' repete também o último ':substitute'. Pode usar uma&lt;br /&gt;contagem para repetir '&amp;'.&lt;br /&gt;O comando:&lt;br /&gt;&lt;pre&gt;:{intervalo}~ {flags} {contagem}&lt;/pre&gt; repete o último 'substitute' com o mesmo string de substituição mas com último string usado em um padrão de pesquisa (comandos '/' ou '?').&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-6636807201473652625?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/6636807201473652625/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/repetindo-ultima-substituicao.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/6636807201473652625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/6636807201473652625'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/repetindo-ultima-substituicao.html' title='Repetindo a última substituição'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-2747104095761172145</id><published>2009-06-08T17:02:00.002-03:00</published><updated>2009-06-08T17:09:32.082-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim edição'/><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Substituindo texto forçando a opção 'magic'</title><content type='html'>A opção 'magic' controla se certos caracteres tem valor especial. Para serem&lt;br /&gt;usados literalmente tem que ser escapados. &lt;br /&gt;Exemplo, '*', significa ('magic') nenhum ou 1 ou mais ocorrências.&lt;br /&gt;Se desligar a opção ('nomagic') ela será usada literalmente.&lt;br /&gt;&lt;br /&gt;Se quiser fazer um ':substitute' forçando a opção 'magic' ligada use:&lt;br /&gt;&lt;pre&gt;:smagic /a*/b/g&lt;/pre&gt; Para forçar 'nomagic':&lt;br /&gt;&lt;pre&gt;:snomagic /a*/b/g&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-2747104095761172145?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/2747104095761172145/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/substituindo-texto-forcando-opcao-magic.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2747104095761172145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2747104095761172145'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/substituindo-texto-forcando-opcao-magic.html' title='Substituindo texto forçando a opção &apos;magic&apos;'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-8213120910036196507</id><published>2009-06-02T15:16:00.001-03:00</published><updated>2009-06-02T15:20:01.518-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Imprimindo linhas  na tela mostrando os caracteres invisíveis</title><content type='html'>Para imprimir linhas na tela mas mostrando os caracteres invisíveis (fim de&lt;br /&gt;linha, tab, etc) use:&lt;br /&gt;&lt;pre&gt;:1,5list&lt;/pre&gt; Um '$' é colocado após o fim-de-linha e os caracteres invisíveis são mostrados&lt;br /&gt;no formato '^letra'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-8213120910036196507?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/8213120910036196507/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/imprimindo-linhas-na-tela-mostrando-os.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8213120910036196507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8213120910036196507'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/imprimindo-linhas-na-tela-mostrando-os.html' title='Imprimindo linhas  na tela mostrando os caracteres invisíveis'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-7968910710603517454</id><published>2009-06-02T15:12:00.001-03:00</published><updated>2009-06-02T15:15:35.465-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Imprimindo linhas na tela</title><content type='html'>Se quiser imprimir linhas na tela use:&lt;br /&gt;&lt;pre&gt;:1,5print&lt;/pre&gt; Se a opção 'number' não estiver ligada, use:&lt;br /&gt;&lt;pre&gt;:1,5#&lt;/pre&gt; para imprimir linhas pré-fixadas com o número.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-7968910710603517454?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/7968910710603517454/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/imprimindo-linhas-na-tela.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7968910710603517454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7968910710603517454'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/imprimindo-linhas-na-tela.html' title='Imprimindo linhas na tela'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-5468961706513543110</id><published>2009-06-02T14:57:00.002-03:00</published><updated>2009-06-02T15:01:45.761-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim edição'/><title type='text'>Inserindo texto pela linha de comando</title><content type='html'>Suponha que você que inserir texto pela linha de comando.&lt;br /&gt;Use:&lt;br /&gt;&lt;pre&gt;:1 append&lt;/pre&gt; para inserir texto após a linha 1.&lt;br /&gt;Use:&lt;br /&gt;&lt;pre&gt;:1 insert&lt;/pre&gt; para inserir texto antes da linha 1.&lt;br /&gt;Digite o texto.&lt;br /&gt;Para encerrar faça uma linha com somente um ponto (.).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-5468961706513543110?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/5468961706513543110/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/inserindo-texto-pela-linha-de-comando.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/5468961706513543110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/5468961706513543110'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/06/inserindo-texto-pela-linha-de-comando.html' title='Inserindo texto pela linha de comando'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-3296780538026131624</id><published>2009-05-31T13:13:00.002-03:00</published><updated>2009-05-31T13:16:24.199-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Opção para desligar o mapeamento recursivo</title><content type='html'>Por default, o Vim faz mapeamentos recursivos.&lt;br /&gt;Para desligar isso use a opção:&lt;br /&gt;&lt;pre&gt;:set noremap&lt;/pre&gt; Mas isto pode quebrar alguns scripts.&lt;br /&gt;Use, ao invés,  o comando:&lt;br /&gt;&lt;pre&gt;:noremap ...&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-3296780538026131624?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/3296780538026131624/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-desligar-o-mapeamento.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/3296780538026131624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/3296780538026131624'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-desligar-o-mapeamento.html' title='Opção para desligar o mapeamento recursivo'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-1931233316333540114</id><published>2009-05-31T09:41:00.001-03:00</published><updated>2009-05-31T09:46:02.792-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><category scheme='http://www.blogger.com/atom/ns#' term='vim edição'/><title type='text'>Forçando a expansão e a não-expansão de uma abreviação</title><content type='html'>O comando:&lt;br /&gt;&lt;pre&gt;&amp;lt;Ctrl-]&amp;gt;&lt;/pre&gt; força a expansão da abreviação no modo inserção.&lt;br /&gt;O comando:&lt;br /&gt;&lt;pre&gt;&amp;lt;Ctrl-C&amp;gt;&lt;/pre&gt; faz com se sai do modo inserçao. A diferença com &amp;lt;Esc&amp;gt; é que ele não expande a&lt;br /&gt;abreviação antes de entrar no modo normal.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-1931233316333540114?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/1931233316333540114/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/forcando-expansao-e-nao-expansao-de-uma.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1931233316333540114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1931233316333540114'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/forcando-expansao-e-nao-expansao-de-uma.html' title='Forçando a expansão e a não-expansão de uma abreviação'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-6405374148666951375</id><published>2009-05-29T11:34:00.001-03:00</published><updated>2009-05-29T11:38:08.232-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Opção para definir o tamanho máximo de uma tag</title><content type='html'>Alguns sistemas limitam o tamanho máximo de um nome de função. Se você quiser&lt;br /&gt;limitar isto quando pesquisando tags use:&lt;br /&gt;&lt;pre&gt;:set taglength=número&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-6405374148666951375?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/6405374148666951375/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-o-tamanho-maximo-de.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/6405374148666951375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/6405374148666951375'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-o-tamanho-maximo-de.html' title='Opção para definir o tamanho máximo de uma tag'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-2114628199407646278</id><published>2009-05-27T17:55:00.003-03:00</published><updated>2009-05-27T18:03:36.634-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Testando se o Vim pode localizar o arquivo de uma diretiva #include</title><content type='html'>Para listar todos arquivos '#include' não puderam ser localizados, use:&lt;br /&gt;&lt;pre&gt;:checkpath&lt;/pre&gt; Ele verifica não somente as diretivas '#include' do arquivo sendo editado como&lt;br /&gt;quaisquer arquivos que as diretivas incluem e assim por diante.&lt;br /&gt;Para os includes que falharam inclua os paths necessários na opção 'path'.&lt;br /&gt;Para listar todos arquivos '#include' use:&lt;br /&gt;&lt;pre&gt;:checkpath!&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-2114628199407646278?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/2114628199407646278/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/testando-se-o-vim-pode-localizar-o.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2114628199407646278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2114628199407646278'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/testando-se-o-vim-pode-localizar-o.html' title='Testando se o Vim pode localizar o arquivo de uma diretiva #include'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-1135689687716038565</id><published>2009-05-27T12:47:00.003-03:00</published><updated>2009-05-28T00:41:25.677-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Opção para definir que caracteres são usados como par de delimitadores</title><content type='html'>Para definir que caracteres serão identificados pelo comando '%' use a opção:&lt;br /&gt;&lt;pre&gt;:set matchpairs = (:),{:},[:]&lt;/pre&gt; Para identificar o par '&lt;&gt;' (tag HTML) use:&lt;br /&gt;&lt;pre&gt;:set matchpairs+=&lt;:&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-1135689687716038565?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/1135689687716038565/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-que-caracteres.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1135689687716038565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1135689687716038565'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-que-caracteres.html' title='Opção para definir que caracteres são usados como par de delimitadores'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-167061754666284394</id><published>2009-05-25T13:38:00.003-03:00</published><updated>2009-05-25T14:51:47.435-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Comparando visualmente dois arquivos</title><content type='html'>Suponha que você quer comparar dois arquivos que diferem em poucas edições.&lt;br /&gt;Abra duas janelas com os dois arquivos.&lt;br /&gt;Agora execute o comando em cada janela:&lt;br /&gt;&lt;pre&gt;:set scrollbind&lt;/pre&gt; Agora quando uma janela rola a outra rola também.&lt;br /&gt;Se quiser parar a sincronização em um janela:&lt;br /&gt;&lt;pre&gt;:set noscrollbind&lt;/pre&gt; E localizado o ponto desejado no arquivo, recomeça a rolar ao mesmo tempo a&lt;br /&gt;partir desses locais:&lt;br /&gt;&lt;pre&gt;:set scrollbind&lt;/pre&gt; Para voltar a sincronizar as janelas (isto é, linha 1 com linha 1), ligue&lt;br /&gt;'scrollbind' em ambas janelas e use:&lt;br /&gt;&lt;pre&gt;:syncbind&lt;/pre&gt;A opção:&lt;br /&gt;&lt;pre&gt;set scrollopt=&lt;/pre&gt; controla como o scrollbind trabalha.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-167061754666284394?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/167061754666284394/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/comparando-visualmente-dois-arquivos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/167061754666284394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/167061754666284394'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/comparando-visualmente-dois-arquivos.html' title='Comparando visualmente dois arquivos'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-8119414276419197832</id><published>2009-05-25T13:34:00.003-03:00</published><updated>2009-05-25T13:37:12.704-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Opção para definir que palavra causa indentação na próxima instrução C</title><content type='html'>Para que uma palavra dispare uma indentação na próxima instrução C use a opção:&lt;br /&gt;&lt;pre&gt;:set cinwords=string&lt;/pre&gt; O valor default é:&lt;br /&gt;&lt;pre&gt;:set cinwords=if,else,while,do,for,switch&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-8119414276419197832?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/8119414276419197832/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-que-palavra-causa.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8119414276419197832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8119414276419197832'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-que-palavra-causa.html' title='Opção para definir que palavra causa indentação na próxima instrução C'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-8589608932367968065</id><published>2009-05-25T12:43:00.002-03:00</published><updated>2009-05-25T12:54:30.750-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Opção para definir quanto espaço uma indentação C terá</title><content type='html'>Para controlar quanto irá ter um indentação C use a opção:&lt;br /&gt;&lt;pre&gt;:set cinoptions=string&lt;/pre&gt; Aonde o 'string' consiste de uma lista pares chave-indentação separados por&lt;br /&gt;vírgulas.&lt;br /&gt;A 'chave' é uma única letra que diz que parte do programa será afetada.&lt;br /&gt;A 'indentação' diz quantos espaços será usado na indentação. Pode ser um número&lt;br /&gt;negativo. Também pode ser em múltiplos de 'shiftwidth'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-8589608932367968065?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/8589608932367968065/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-quanto-espaco-uma.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8589608932367968065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8589608932367968065'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-quanto-espaco-uma.html' title='Opção para definir quanto espaço uma indentação C terá'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-1977949346995214083</id><published>2009-05-25T08:48:00.003-03:00</published><updated>2009-05-25T11:12:10.149-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Opção para definir que tecla dispara uma indentação C</title><content type='html'>Uma lista de teclas que quando usadas no modo inserção causam re-indentação da&lt;br /&gt;linha corrente. Somente usada se 'cident' ou 'indentexpr'.&lt;br /&gt;Use:&lt;br /&gt;&lt;pre&gt;:set cinkeys=string&lt;/pre&gt; O string é uma lista de pares 'caractere de tipo caractere da tecla'.&lt;br /&gt;Os tipos podem ser:&lt;br /&gt;! a tecla seguinte não é inserida. Isto é útil se você quiser definir uma tecla&lt;br /&gt;&amp;nbsp;&amp;nbsp;que só dispara a re-indentação da linha. &amp;lt;Ctrl-F&amp;gt; é a tecla default nesse&lt;br /&gt;&amp;nbsp;&amp;nbsp;caso.&lt;br /&gt;* a linha será re-indentada antes que a tecla seja inserida.&lt;br /&gt;0 a tecla causa indentação somente se ela é o primeiro caractere digitado na&lt;br /&gt;&amp;nbsp;&amp;nbsp;linha.&lt;br /&gt;As teclas-caractere podem ser:&lt;br /&gt;&lt;pre&gt;&amp;lt;nome&amp;gt;    O nome da tecla.&lt;br /&gt;^nome     O nome de uma tecla de controle.&lt;br /&gt;o         Diz ao Vim para indentar quando for usado o comando 'o'.&lt;br /&gt;O         Diz ao Vim para indentar quando for usado o comando 'O'.&lt;br /&gt;e         Re-indenta a linha quando for digitado o último 'e' de else.&lt;br /&gt;:         Re-indenta quando for digitado um ':' após um label ou 'case'.&lt;/pre&gt; O valor default é:&lt;br /&gt;&lt;pre&gt;0{,0},0),:,0#,!^F,o,O,e&lt;/pre&gt; que especifica que uma indentação ocorre se:&lt;br /&gt;&lt;pre&gt;0{  se foi digitado '{' como primeiro caractere em uma linha.&lt;br /&gt;0}  se foi digitado '}' como primeiro caractere em uma linha.&lt;br /&gt;0)  se foi digitado ')' como primeiro caractere em uma linha.&lt;br /&gt;:   se foi digitado ')' depois de um label ou instrução 'case'.&lt;br /&gt;0#  se foi digitado '#' como primeiro caractere em uma linha.&lt;br /&gt;!^F se foi digitado &amp;lt;Ctrl-F&amp;gt; (o qual não é inserido).&lt;br /&gt;o   se foi digitado um &amp;lt;CR&amp;gt; em qualquer lugar ou usou o comando 'o' (não no modo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inserção).&lt;br /&gt;O   se foi usado o comando 'O' (não no modo inserção).&lt;br /&gt;e   se foi digitado o segundo 'e' para um 'else' no início de uma linha.&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-1977949346995214083?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/1977949346995214083/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-que-tecla-dispara.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1977949346995214083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1977949346995214083'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-que-tecla-dispara.html' title='Opção para definir que tecla dispara uma indentação C'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-1060675919428418012</id><published>2009-05-24T09:15:00.001-03:00</published><updated>2009-05-24T09:18:53.064-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Opção para definir um programa externo de formatação</title><content type='html'>Você pode definir que programa de formatação que o Vim usa quando o comando '='&lt;br /&gt;é usado.&lt;br /&gt;Se não for definido o Vim usa a rotina interna de indentação que indenta&lt;br /&gt;programas C ou C++.&lt;br /&gt;Por exemplo, para usar o programa GNU de indentação 'indent':&lt;br /&gt;&lt;pre&gt;:set equalprg=/usr/local/bin/indent&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-1060675919428418012?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/1060675919428418012/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-um-programa-externo.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1060675919428418012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1060675919428418012'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-um-programa-externo.html' title='Opção para definir um programa externo de formatação'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-7710720913721333299</id><published>2009-05-24T08:49:00.004-03:00</published><updated>2009-05-24T09:05:00.451-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Opção para indentar em múltiplos de shiftwidth</title><content type='html'>Por default, um comando de indentação (&gt;, &lt;) insere 'shiftwidth' espaços mesmo&lt;br /&gt;que a linha já tenha espaços na frente da linha. Isso pode distorcer o layout&lt;br /&gt;desejado.&lt;br /&gt;&lt;br /&gt;Para evitar isso ligue a opção:&lt;br /&gt;&lt;pre&gt;:set shiftround&lt;/pre&gt; para que o Vim sempre insira espaços em múltiplos de 'shiftwidth'.&lt;br /&gt;&lt;br /&gt;Os comandos de modo inserção:&lt;br /&gt;&lt;pre&gt;&amp;lt;Ctrl-T&amp;gt;&lt;br /&gt;&amp;lt;Ctrl-D&amp;gt; &lt;/pre&gt; sempre arredondam as indentações para múltiplos de 'shiftwidth'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-7710720913721333299?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/7710720913721333299/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-indentar-em-multiplos-de.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7710720913721333299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7710720913721333299'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-indentar-em-multiplos-de.html' title='Opção para indentar em múltiplos de shiftwidth'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-8597420243961143869</id><published>2009-05-24T08:04:00.002-03:00</published><updated>2009-05-24T08:19:56.479-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Usando um modeline para configurar as opções de tabs</title><content type='html'>O Vim dá várias opções para tratar o uso de tabs dentro dos arquivos.&lt;br /&gt;No entanto, isso significa que cada pessoa pode tratar o mesmo arquivo de&lt;br /&gt;maneira diferente.&lt;br /&gt;&lt;br /&gt;Uma solução é colocar um comentário especial no início ou fim do arquivo&lt;br /&gt;informando que tab stops usar.&lt;br /&gt;&lt;br /&gt;Por exemplo:&lt;br /&gt;&lt;pre&gt;/* vim:tabstop=8:expandtabs:shiftwidth=8 */&lt;/pre&gt; O Vim ao ler esse comentário irá configurar as opções para você.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-8597420243961143869?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/8597420243961143869/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/usando-um-modeline-para-configurar-as.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8597420243961143869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8597420243961143869'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/usando-um-modeline-para-configurar-as.html' title='Usando um modeline para configurar as opções de tabs'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-9041201377117852887</id><published>2009-05-23T14:20:00.005-03:00</published><updated>2009-05-23T22:42:05.530-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim edição'/><title type='text'>Colando texto do registrador  com indentação no modo normal</title><content type='html'>Se você tem algum texto em um registrador, você usaria no modo normal:&lt;br /&gt;&lt;pre&gt;"registradorp&lt;br /&gt;"registradorP&lt;/pre&gt; para colar. Mas se o registrador já estiver indentado e a auto-indentação estiver ligada o resultado poderá ser confuso (dupla-indentação).&lt;br /&gt;O comando:&lt;br /&gt;&lt;pre&gt;"registrador]p&lt;br /&gt;"registrador]P&lt;/pre&gt; faz a mesma coisa, mas também ajusta a indentação conforme o local.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-9041201377117852887?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/9041201377117852887/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/colando-texto-com-indentacao-do.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/9041201377117852887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/9041201377117852887'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/colando-texto-com-indentacao-do.html' title='Colando texto do registrador  com indentação no modo normal'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-979242588163962660</id><published>2009-05-23T11:27:00.006-03:00</published><updated>2009-05-23T22:42:35.191-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim edição'/><title type='text'>Colando texto do registrador com indentação no modo inserção</title><content type='html'>Normalmente, no modo inserção, para inserir o conteúdo de registradores se usa:&lt;br /&gt;&lt;pre&gt;&amp;lt;Ctrl-R&amp;gt;registrador&lt;/pre&gt; Mas isso, especialmente em código de programas, pode causar problemas.&lt;br /&gt;&lt;br /&gt;Se o conteúdo do registrador é uma cópia de um código já indentado, ao inserir, o&lt;br /&gt;Vim usa essa indentação e mais a indentação automática, causando uma dupla&lt;br /&gt;indentação. Isso produz um layout errado.&lt;br /&gt;&lt;br /&gt;Uma alternativa é usar:&lt;br /&gt;&lt;pre&gt;&amp;lt;Ctrl-R&amp;gt;&amp;lt;Ctrl-O&amp;gt;registrador&lt;/pre&gt; isso insere o conteúdo do registrador mas sem fazer a auto-indentação. O problema é que o conteúdo já tem a indentação original e pode não ser coerente com o local&lt;br /&gt;aonde está sendo inserindo.&lt;br /&gt;&lt;br /&gt;Para inserir com o Vim recalculando a indentação correta use:&lt;br /&gt;&lt;pre&gt;&amp;lt;Ctrl-R&amp;gt;&amp;lt;Ctrl-P&amp;gt;registrador&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-979242588163962660?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/979242588163962660/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/inserindo-conteudo-de-registradores-com.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/979242588163962660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/979242588163962660'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/inserindo-conteudo-de-registradores-com.html' title='Colando texto do registrador com indentação no modo inserção'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-4871979301919180167</id><published>2009-05-23T10:47:00.004-03:00</published><updated>2009-05-23T22:43:24.789-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim edição'/><title type='text'>Removendo a indentação automática temporariamente</title><content type='html'>Suponha que você está editando um programa com 'autoindent' gerando indentações automáticas.&lt;br /&gt;Num certo ponto você deseja colocar um bloco de comentários sem ser afetado pela&lt;br /&gt;indentação automática.&lt;br /&gt;&lt;br /&gt;Um modo é usar &lt;br /&gt;&lt;pre&gt;&amp;lt;Ctrl-D&amp;gt;&lt;/pre&gt; repetidamente.&lt;br /&gt;Outra é digitar:&lt;br /&gt;&lt;pre&gt; 0&amp;lt;Ctrl-D&amp;gt; &lt;Ctrl-D&gt;&lt;br /&gt;&lt;/pre&gt; Isso faz com que o editor remova toda indentação automática e coloque o cursor&lt;br /&gt;na coluna 1, enquanto estiver no modo inserção.&lt;br /&gt;&lt;br /&gt;Agora, você quer digitar um label ou uma diretiva '#ifdef' na coluna 1, mas&lt;br /&gt;somente em uma linha e depois volta para a autoindentação.&lt;br /&gt;Use:&lt;br /&gt;&lt;pre&gt; ^&amp;lt;Ctrl-D&amp;gt; &lt;/pre&gt; quando você entrar na linha seguinte volta a autoindentação.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-4871979301919180167?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/4871979301919180167/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/removendo-uma-indentacao-automatica.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4871979301919180167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4871979301919180167'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/removendo-uma-indentacao-automatica.html' title='Removendo a indentação automática temporariamente'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-9018528653013035118</id><published>2009-05-23T10:26:00.004-03:00</published><updated>2009-05-23T10:34:36.310-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><category scheme='http://www.blogger.com/atom/ns#' term='vim script'/><title type='text'>Evitando a repetição de uma seleção no modo seleção</title><content type='html'>Após a execução de um mapeamento e menu a seleção do modo seleção é restaurada (a não ser que a área tenha sido deletada).&lt;br /&gt;&lt;br /&gt;Para evitar, especialmente em macros que selecionam, fazem algum coisa e depois&lt;br /&gt;se quer que a seleção desapareça, use o comando:&lt;br /&gt;&lt;pre&gt;gV&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-9018528653013035118?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/9018528653013035118/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/evitando-repeticao-de-uma-selecao.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/9018528653013035118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/9018528653013035118'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/evitando-repeticao-de-uma-selecao.html' title='Evitando a repetição de uma seleção no modo seleção'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-3395300647604879368</id><published>2009-05-23T09:44:00.002-03:00</published><updated>2009-05-23T09:52:36.425-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim gui'/><title type='text'>Mudando do modo seleção para o modo visual</title><content type='html'>Se você estiver no modo seleção, use o comando:&lt;br /&gt;&lt;pre&gt;&amp;lt;Ctrl-O&amp;gt;&lt;/pre&gt; para executar um único comando no modo visual. Após isso, volta ao modo seleção.&lt;br /&gt;Para mudar para  o modo visual sem retornar para o modo seleção use:&lt;br /&gt;&lt;pre&gt;&amp;lt;Ctrl-G&amp;gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-3395300647604879368?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/3395300647604879368/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/mudando-do-modo-selecao-para-o-modo.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/3395300647604879368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/3395300647604879368'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/mudando-do-modo-selecao-para-o-modo.html' title='Mudando do modo seleção para o modo visual'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-8626531357229890197</id><published>2009-05-23T09:09:00.005-03:00</published><updated>2009-05-23T09:42:33.489-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim edição'/><title type='text'>Alterando e deletando texto com o modo seleção</title><content type='html'>O modo seleção é semelhante ao modo visual, porém mais limitado.&lt;br /&gt;No modo seleção você só pode usar &amp;lt;Backspace&amp;gt; para deletar e caracteres visíveis&lt;br /&gt;para substituir.&lt;br /&gt;Isso é mais rápido que a seleção visual porque você não precisar entrar um&lt;br /&gt;comando no final para fazer a mudança. Mas o repertório é bem menor.&lt;br /&gt;&lt;br /&gt;Para selecionar use:&lt;br /&gt;&lt;pre&gt;gh    inicie uma seleção caractere por caractere.&lt;br /&gt;gH    inicie uma seleção linha a linha.&lt;br /&gt;gCtrl-H inicie uma seleção de bloco.&lt;/pre&gt; Mova o cursor com teclas de direção (flechas) para completar a seleção.&lt;br /&gt;&lt;br /&gt;Para deletar use:&lt;br /&gt;&lt;pre&gt;&amp;lt;BS&amp;gt; ou &amp;lt;Ctrl-H&amp;gt;&lt;/pre&gt;&lt;br /&gt;Para substituir:&lt;br /&gt;&lt;pre&gt;Digite o primeiro caractere visível, o editor entra em modo&lt;br /&gt;inserção.&lt;br /&gt;Continue a entrar o texto.&lt;br /&gt;&amp;lt;Esc&amp;gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-8626531357229890197?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/8626531357229890197/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/alterando-e-deletando-texto-com-o-modo.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8626531357229890197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8626531357229890197'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/alterando-e-deletando-texto-com-o-modo.html' title='Alterando e deletando texto com o modo seleção'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-5819519413655615503</id><published>2009-05-22T21:29:00.002-03:00</published><updated>2009-05-22T21:35:47.673-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Codificando um bloco de texto</title><content type='html'>Com um texto selecionado, use o comando:&lt;br /&gt;&lt;pre&gt;g?&lt;/pre&gt; para codificar (tornar incompreensível) ou para retirar a codificação.&lt;br /&gt;É usado o esquema de codificação Rot13.&lt;br /&gt;Para descodificar, chame de novo o comando.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-5819519413655615503?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/5819519413655615503/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/codificando-um-bloco-de-texto.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/5819519413655615503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/5819519413655615503'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/codificando-um-bloco-de-texto.html' title='Codificando um bloco de texto'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-2723609081421273553</id><published>2009-05-22T07:26:00.003-03:00</published><updated>2009-05-23T08:00:51.786-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim procura'/><category scheme='http://www.blogger.com/atom/ns#' term='vim gui'/><title type='text'>Abrindo uma janela com o primeiro arquivo que contenha uma palavra</title><content type='html'>Se você posicionar o cursor sob uma palavra e pressionar:&lt;br /&gt;&lt;pre&gt;&amp;lt;Ctrl-W&amp;gt;&amp;lt;Ctrl-I&amp;gt;&lt;/pre&gt; o vim pesquisará no arquivo corrente e nos includes, retornando a primeira&lt;br /&gt;ocorrência na nova janela.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-2723609081421273553?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/2723609081421273553/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/abrindo-uma-janela-com-o-primeiro.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2723609081421273553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2723609081421273553'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/abrindo-uma-janela-com-o-primeiro.html' title='Abrindo uma janela com o primeiro arquivo que contenha uma palavra'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-8196622289331745021</id><published>2009-05-22T07:23:00.001-03:00</published><updated>2009-05-22T07:25:28.771-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim gui'/><title type='text'>Abrindo uma janela com o arquivo alternado</title><content type='html'>Para dividir a janela e editar o arquivo alternado use:&lt;br /&gt;&lt;pre&gt;&amp;lt;Ctrl-W&amp;gt;&amp;lt;Ctrl-^&amp;gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-8196622289331745021?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/8196622289331745021/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/abrindo-uma-janela-com-o-arquivo.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8196622289331745021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8196622289331745021'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/abrindo-uma-janela-com-o-arquivo.html' title='Abrindo uma janela com o arquivo alternado'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-643350544714342073</id><published>2009-05-20T18:44:00.006-03:00</published><updated>2009-05-20T18:55:42.079-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim movendo-cursor'/><title type='text'>Movendo o cursor no modo inserção</title><content type='html'>No modo inserção não se pode usar as teclas tradicionais de movimento (hjkl).&lt;br /&gt;Use ao invés:&lt;br /&gt;&lt;pre&gt;&amp;lt;Left&amp;gt;&lt;br /&gt;&amp;lt;Right&amp;gt;&lt;br /&gt;&amp;lt;Up&amp;gt;&lt;br /&gt;&amp;lt;Down&amp;gt;&lt;/pre&gt; Pressionando ao mesmo tempo a tecla &lt;pre&gt;&amp;lt;Ctrl&amp;gt;&lt;/pre&gt; o movimento é por palavra.&lt;br /&gt;&lt;pre&gt;&amp;lt;Home&amp;gt;&lt;/pre&gt; move para o início e &amp;lt;End&amp;gt; para o fim da linha.&lt;br /&gt;Para mover para o início: &lt;pre&gt;&amp;lt;C-Home&amp;gt;&lt;/pre&gt; para o fim da linha:&lt;br /&gt;&lt;pre&gt; &amp;lt;C-End&amp;gt;&lt;/pre&gt; Para  mover uma tela para frente e para trás:&lt;pre&gt;&amp;lt;PageUp&amp;gt; e &amp;lt;PageDown&amp;gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-643350544714342073?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/643350544714342073/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/movendo-o-cursor-no-modo-insercao.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/643350544714342073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/643350544714342073'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/movendo-o-cursor-no-modo-insercao.html' title='Movendo o cursor no modo inserção'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-2466262549800730471</id><published>2009-05-19T22:39:00.004-03:00</published><updated>2009-05-20T12:46:48.897-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim edição'/><title type='text'>Abrindo um arquivo com a execução de um comando</title><content type='html'>Você pode iniciar o Vim executando um comando logo no início.&lt;br /&gt;Para posicionar o cursor numa linha use:&lt;br /&gt;&lt;pre&gt;gvim +87 file.c&lt;/pre&gt; Para pesquisar um string e posicionar o cursor :&lt;br /&gt;&lt;pre&gt;gvim +/include file.c&lt;/pre&gt; Para executar um comando logo após abrir um arquivo:&lt;br /&gt;&lt;pre&gt;gvim +/set\ dir=/tmp file.c&lt;/pre&gt; Se houver espaços na expressão regular e no comando eles deve ser escapados (\).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-2466262549800730471?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/2466262549800730471/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/abrindo-um-arquivo-e-executando-um.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2466262549800730471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2466262549800730471'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/abrindo-um-arquivo-e-executando-um.html' title='Abrindo um arquivo com a execução de um comando'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-1117600006552042857</id><published>2009-05-16T14:25:00.010-03:00</published><updated>2009-05-17T15:10:40.146-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Usando o registrador-expressão (=) para entrar resultados de uma expressão no texto</title><content type='html'>O registrador-expressão permite que você avalie uma expressão e coloque o&lt;br /&gt;resultado em alguma parte do texto.&lt;br /&gt;&lt;br /&gt;Em modo normal, use a sequencia:&lt;br /&gt;&lt;pre&gt;"=&lt;/pre&gt; o Vim salta para a linha de comando, aonde você pode digitar uma expressão, por exemplo:&lt;br /&gt;&lt;pre&gt;38*56&lt;Enter&gt;&lt;/pre&gt; em seguida, mova o cursor e cole resultado:&lt;br /&gt;&lt;pre&gt;p&lt;/pre&gt; Em modo inserção pode-se usar a sequencia:&lt;br /&gt;&lt;pre&gt;&amp;lt;Ctrl-R&amp;gt;"= (o Vim salta para linha de comando)&lt;br /&gt;38*56&lt;br /&gt;&amp;lt;Enter&amp;gt;&lt;/pre&gt;A expressão pode conter os operadores aritméticos comuns (*,+,-,/, etc) assim como as várias funções e operadores especializados do Vim.&lt;br /&gt;&lt;br /&gt;Pode usar variáveis ambientais usando $NOME (por exemplo, $HOME), assim como variáveis Vim, simplesmente usando o nome dela como 'LineSize', por exemplo.&lt;br /&gt;&lt;br /&gt;A linha de comando também dispõe de um histórico de expressões que pode ser recuperadas com as teclas de direção.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-1117600006552042857?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/1117600006552042857/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/usando-registrador-expressao-para.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1117600006552042857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1117600006552042857'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/usando-registrador-expressao-para.html' title='Usando o registrador-expressão (=) para entrar resultados de uma expressão no texto'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-8654681772217948284</id><published>2009-05-16T13:55:00.006-03:00</published><updated>2009-05-16T22:56:18.523-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Usando o registrador buraco negro para evitar de salvar o texto deletado</title><content type='html'>Ao colocar texto no registrador 'buraco negro' (_), faz com que ele desapareça.&lt;br /&gt;&lt;br /&gt;O registrador 'buraco negro' é útil se você quiser deletar um texto (com d ou c, por exemplo), mas não quer que ele vá para os registradores 1 a 9, como de costume.&lt;br /&gt;&lt;br /&gt;Por exemplo, para deletar uma linha e coloca-la no registrador 1 use:&lt;br /&gt;&lt;pre&gt;dd&lt;/pre&gt; Mas para deletar e não mexer no registrador 1 use&lt;br /&gt;&lt;pre&gt;"_dd&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-8654681772217948284?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/8654681772217948284/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/nao-salvando-texto-com-o-registrador.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8654681772217948284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8654681772217948284'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/nao-salvando-texto-com-o-registrador.html' title='Usando o registrador buraco negro para evitar de salvar o texto deletado'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-3495047649903430459</id><published>2009-05-16T13:32:00.003-03:00</published><updated>2009-05-18T09:54:16.302-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Usando registradores especiais</title><content type='html'>O Vim possui uma série de registradores especiais. Aqui tem o seu conteúdo e se pode ser gravado pelo usuário:&lt;br /&gt;&lt;pre&gt;0     O último texto copiado                      gravável&lt;br /&gt;-     O último texto deletado menor que uma linha read-only&lt;br /&gt;.     O último texto inserido                     read-only&lt;br /&gt;%     O nome do arquivo corrente                  read-only&lt;br /&gt;#     O nome do arquivo alternado                 read-only&lt;br /&gt;/     O último string pesquisado                  read-only&lt;br /&gt;:     O último comando ':'                        read-only&lt;br /&gt;_     O registrador 'buraco negro'                gravável&lt;br /&gt;=     Uma expressão                               read-only&lt;br /&gt;*     O texto selecionado com o mouse             gravável&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-3495047649903430459?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/3495047649903430459/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/usando-registradores-especiais.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/3495047649903430459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/3495047649903430459'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/usando-registradores-especiais.html' title='Usando registradores especiais'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-2723751115729628439</id><published>2009-05-15T19:38:00.002-03:00</published><updated>2009-05-15T19:40:46.785-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Mostrando o conteúdo dos registradores</title><content type='html'>Use o comando:&lt;br /&gt;&lt;pre&gt;:registers&lt;/pre&gt; Para mostrar registradores específicos:&lt;br /&gt;&lt;pre&gt;:registers ax&lt;/pre&gt; mostra o conteúdo dos registradores 'a' e 'x'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-2723751115729628439?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/2723751115729628439/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/mostrando-o-conteudo-dos-registradores.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2723751115729628439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2723751115729628439'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/mostrando-o-conteudo-dos-registradores.html' title='Mostrando o conteúdo dos registradores'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-4979445993146518635</id><published>2009-05-15T09:38:00.003-03:00</published><updated>2009-05-18T09:53:23.253-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim edição'/><title type='text'>Colando texto</title><content type='html'>Após comandos de deleção ou cópia, você pode colar o texto em outro lugar.&lt;br /&gt;Cola após o cursor:&lt;br /&gt;&lt;pre&gt;{"registrador}p&lt;/pre&gt; Cola antes do cursor:&lt;br /&gt;&lt;pre&gt;{"registrador}P&lt;/pre&gt; Cola após o cursor e deixa o cursor depois do novo texto:&lt;br /&gt;&lt;pre&gt;{"registrador}gp&lt;/pre&gt; Cola antes do cursor e deixa o cursor depois do novo texto:&lt;br /&gt;&lt;pre&gt;{"registrador}gP&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-4979445993146518635?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/4979445993146518635/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/colando-texto.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4979445993146518635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4979445993146518635'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/colando-texto.html' title='Colando texto'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-3509664469717431189</id><published>2009-05-14T21:42:00.003-03:00</published><updated>2009-06-02T19:48:28.939-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Opção para definir que caracteres tem significado especial na expressão regular</title><content type='html'>A opção 'magic' quando ligada define que caracteres tem valor especial em uma&lt;br /&gt;expressão regular.&lt;br /&gt;Por exemplo '*' significa zero ou mais ocorrências.&lt;br /&gt;Recomenda-se sempre deixa-la ligada (o default) para portabilidade.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-3509664469717431189?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/3509664469717431189/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-que-caracteres-tem.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/3509664469717431189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/3509664469717431189'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-que-caracteres-tem.html' title='Opção para definir que caracteres tem significado especial na expressão regular'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-5053595255730306164</id><published>2009-05-14T21:05:00.004-03:00</published><updated>2009-05-18T09:55:39.506-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim pesquisa'/><title type='text'>Expressão regular: agrupamento</title><content type='html'>Você pode especificar um grupo na expressão regular através de:&lt;br /&gt;&lt;pre&gt;\(...\)&lt;/pre&gt; Por exemplo:&lt;br /&gt;&lt;pre&gt;a\(XY\)*b&lt;/pre&gt; obtém 'ab', 'aXYb', 'aXYXYb', etc.&lt;br /&gt;Quando você define o grupo, o primeiro é assinalado ao item \1.&lt;br /&gt;Por exemplo, para achar palavras repetidas:&lt;br /&gt;&lt;pre&gt;\(\&lt;\a\+\&gt;\) \1&lt;/pre&gt; Descrevendo a expressão:&lt;br /&gt;&lt;pre&gt;Inicia um grupo \(&lt;br /&gt;  início de palavra \&lt;&lt;br /&gt;  uma ou mais letras, o máximo possível \a\+&lt;br /&gt;  fim de palavra \)&lt;br /&gt;Fim do grupo \)&lt;br /&gt;Um espaço&lt;br /&gt;A ocorrência obtida dentro do grupo anterior&lt;/pre&gt; O primeiro grupo é assinalado a \1, o segundo a \2, e assim por diante.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-5053595255730306164?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/5053595255730306164/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/expressao-regular-agrupamento.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/5053595255730306164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/5053595255730306164'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/expressao-regular-agrupamento.html' title='Expressão regular: agrupamento'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-1278324267974742710</id><published>2009-05-14T17:25:00.003-03:00</published><updated>2009-05-14T19:17:15.329-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim pesquisa'/><title type='text'>Expressão regular: Classe de caracteres pré-definida</title><content type='html'>O Vim tem algumas classes de caracteres pré-definidas para coleções comuns de&lt;br /&gt;caracteres.&lt;br /&gt;Por exemplo, todas as letras maiúsculas, você pode usar a expressão [A-Z] ou&lt;br /&gt;a classe:&lt;br /&gt;&lt;pre&gt;[:upper]&lt;/pre&gt; obtém um caractere de letras maiúsculas.&lt;br /&gt;Para obter um caractere dentro alfabeto inteiro use:&lt;br /&gt;&lt;pre&gt;[[:upper][:lower]]&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-1278324267974742710?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/1278324267974742710/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/expressao-regular-classe-de-caracteres.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1278324267974742710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1278324267974742710'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/expressao-regular-classe-de-caracteres.html' title='Expressão regular: Classe de caracteres pré-definida'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-9052015151503716360</id><published>2009-05-13T09:06:00.003-03:00</published><updated>2009-05-13T09:09:39.378-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Opção para definir o número  mudanças salvas pelo Vim para fazer undo</title><content type='html'>Use a opção:&lt;br /&gt;&lt;pre&gt;:set undolevels=5000&lt;/pre&gt; para limitar a 5000 mudanças que salvas para poderem ser desfeitas pelo Vim.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-9052015151503716360?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/9052015151503716360/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-o-numero-undo-que-o.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/9052015151503716360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/9052015151503716360'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-o-numero-undo-que-o.html' title='Opção para definir o número  mudanças salvas pelo Vim para fazer undo'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-2535384390803633809</id><published>2009-05-12T19:31:00.002-03:00</published><updated>2009-05-12T19:41:11.718-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Opção para usar '~' com comando de movimento</title><content type='html'>Quando a opção essa opção está ligada:&lt;br /&gt;&lt;pre&gt;:set tildeop&lt;/pre&gt; o comando '~' troca o case do caractere.&lt;br /&gt;Quando desligada:&lt;br /&gt;&lt;pre&gt;:set notildeop&lt;/pre&gt; a sintaxe do comando muda para '~movimento'.&lt;br /&gt;Por exemplo:&lt;br /&gt;&lt;pre&gt;~fq&lt;/pre&gt; muda o case de todos caracteres até e inclusive o primeiro 'q'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-2535384390803633809?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/2535384390803633809/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-usar-com-comando-de.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2535384390803633809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2535384390803633809'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-usar-com-comando-de.html' title='Opção para usar &apos;~&apos; com comando de movimento'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-5819250624209958084</id><published>2009-05-12T19:15:00.002-03:00</published><updated>2009-05-12T19:27:06.300-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Opção para habilitar a entrada de dígrafos usando Backspace</title><content type='html'>Se você pretende entrar muitos dígrafos ligue a opção:&lt;br /&gt;&lt;pre&gt;:set digraph&lt;/pre&gt; Agora você pode entrar dígrafos com a sequencia:&lt;br /&gt;&lt;pre&gt;caractere &amp;lt;BS&amp;gt; caractere&lt;/pre&gt; Por exemplo:&lt;br /&gt;&lt;pre&gt;c&amp;lt;BS&amp;gt;o&lt;/pre&gt; é o caractere ©.&lt;br /&gt;Naturalmente, essa convenção dificulta a correção usando backspace, pois agora&lt;br /&gt;ele cria um dígrafo, não deleta o caractere.&lt;br /&gt;Para desligar a opção:&lt;br /&gt;&lt;pre&gt;:set nodigraph&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-5819250624209958084?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/5819250624209958084/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-habilitar-entrada-de.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/5819250624209958084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/5819250624209958084'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-habilitar-entrada-de.html' title='Opção para habilitar a entrada de dígrafos usando Backspace'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-8162694366564905416</id><published>2009-05-10T22:19:00.001-03:00</published><updated>2009-05-10T22:24:21.534-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim movendo-cursor'/><title type='text'>Posicionando a linha do cursor no meio da tela</title><content type='html'>Para posicionar a linha do cursor no meio da tela use:&lt;br /&gt;&lt;pre&gt;zz&lt;/pre&gt; que deixa o cursor na sua coluna atual ou&lt;br /&gt;&lt;pre&gt;z.&lt;/pre&gt; que deixa o cursor na primeiro caractere não-branco.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-8162694366564905416?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/8162694366564905416/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/posicionando-linha-do-cursor-no-meio-da.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8162694366564905416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8162694366564905416'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/posicionando-linha-do-cursor-no-meio-da.html' title='Posicionando a linha do cursor no meio da tela'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-1056572754159788613</id><published>2009-05-10T19:42:00.004-03:00</published><updated>2009-05-10T22:19:18.002-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Posicionando a linha do cursor no rodapé da janela</title><content type='html'>Use:&lt;br /&gt;&lt;pre&gt;z-&lt;br /&gt;88z-&lt;/pre&gt; para posicionar na linha final da tela, com o cursor no primeiro caractere&lt;br /&gt;não-branco.&lt;br /&gt;&lt;pre&gt;zb&lt;br /&gt;15zb&lt;/pre&gt; para posicionar na linha final da tela, com o cursor na coluna original.&lt;br /&gt;A linha final é alterada pelo valor da opção 'scrolloff'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-1056572754159788613?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/1056572754159788613/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/posicionanando-linha-do-cursor-no.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1056572754159788613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1056572754159788613'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/posicionanando-linha-do-cursor-no.html' title='Posicionando a linha do cursor no rodapé da janela'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-2736846838006021259</id><published>2009-05-10T15:52:00.005-03:00</published><updated>2009-05-18T09:51:12.228-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim movendo-cursor'/><title type='text'>Posicionando a linha do cursor no topo da janela</title><content type='html'>Se você quiser posicionar a linha do cursor no topo da janela use:&lt;br /&gt;&lt;pre&gt;z&amp;lt;Enter&amp;gt;&lt;/pre&gt; (no entanto, a opção 'scrolloff' pode deixar uma margem de linhas acima dela).&lt;br /&gt;Para posicionar uma linha qualquer:&lt;br /&gt;&lt;pre&gt;88z&amp;lt;Enter&amp;gt;&lt;/pre&gt; Posiciona a linha 88 no topo.&lt;br /&gt;O comando 'z' além de mover para o topo, deixa o cursor no 1º caractere&lt;br /&gt;não-branco da linha.&lt;br /&gt;Se quiser que o cursor continue na coluna original use:&lt;br /&gt;&lt;pre&gt;zt&lt;br /&gt;88zt&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-2736846838006021259?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/2736846838006021259/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/posicionando-linha-do-cursor-no-topo-da.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2736846838006021259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2736846838006021259'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/posicionando-linha-do-cursor-no-topo-da.html' title='Posicionando a linha do cursor no topo da janela'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-2633608134502960755</id><published>2009-05-10T14:45:00.002-03:00</published><updated>2009-05-10T14:55:32.250-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim gui'/><title type='text'>Opção para definir quantas linhas avançar/retroceder quando o cursor atinge início/fim da tela</title><content type='html'>Quando o cursor atinge o início ou fim da tela, com comandos com o 'j' ou 'k',&lt;br /&gt;essa opção define quantas linhas o Vim avança ou retorna (se houver):&lt;br /&gt;&lt;pre&gt;:set scrolljump=5&lt;/pre&gt; O default é 1. &lt;br /&gt;Não é usado para comandos de rolagem de tela (&amp;lt;Ctrl-E&amp;gt;, &amp;lt;Ctrl-D&amp;gt;, etc).&lt;br /&gt;Útil para terminais lentos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-2633608134502960755?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/2633608134502960755/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-quantas-linhas.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2633608134502960755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2633608134502960755'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-quantas-linhas.html' title='Opção para definir quantas linhas avançar/retroceder quando o cursor atinge início/fim da tela'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-6034634075579068151</id><published>2009-05-07T22:01:00.001-03:00</published><updated>2009-05-07T22:06:18.965-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Opção para definir quais teclas podem passar o início ou fim de linha</title><content type='html'>Use:&lt;br /&gt;&lt;pre&gt;:set whichwrap={string}&lt;/pre&gt; Define que teclas move o cursor para esquerda/direita em direção à linha&lt;br /&gt;anterior/seguinte.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-6034634075579068151?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/6034634075579068151/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-quais-teclas-podem.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/6034634075579068151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/6034634075579068151'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-quais-teclas-podem.html' title='Opção para definir quais teclas podem passar o início ou fim de linha'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-1440627366964058824</id><published>2009-05-07T20:49:00.004-03:00</published><updated>2009-05-07T20:54:07.023-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim movendo-cursor'/><title type='text'>Repetindo o comandos de salto para caractere</title><content type='html'>Para repetir esses comandos (f,F,t,T), use:&lt;br /&gt;&lt;pre&gt;;&lt;/pre&gt; Para repetir na direção oposta use:&lt;br /&gt;&lt;pre&gt;,&lt;/pre&gt;Pode-se usar contagem de comando:&lt;br /&gt;&lt;pre&gt;3;&lt;br /&gt;3,&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-1440627366964058824?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/1440627366964058824/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/repetindo-o-comandos-de-salto-para.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1440627366964058824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1440627366964058824'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/repetindo-o-comandos-de-salto-para.html' title='Repetindo o comandos de salto para caractere'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-4438855926171704586</id><published>2009-05-07T20:13:00.003-03:00</published><updated>2009-05-07T20:17:21.381-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Opção para definir que caracteres podem ser exibidos literalmente na tela</title><content type='html'>Use:&lt;br /&gt;&lt;pre&gt;:set isprint={especificação}&lt;/pre&gt; Cuidado com a especificação, pois pode bagunçar a tela.&lt;br /&gt;&lt;br /&gt;Usa a mesma {especificação} de 'iskeyword'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-4438855926171704586?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/4438855926171704586/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-que-caracteres-podem.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4438855926171704586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4438855926171704586'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/opcao-para-definir-que-caracteres-podem.html' title='Opção para definir que caracteres podem ser exibidos literalmente na tela'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-7358970385695539457</id><published>2009-05-05T23:51:00.006-03:00</published><updated>2009-05-06T08:53:54.148-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim procura'/><title type='text'>Expressão regular: Definindo o fim da ocorrência (match)</title><content type='html'>O item '\ze' em uma expressão regular define o local aonde termina uma ocorrência. O texto seguinte é só testado para validar o regex mas não é retornado.&lt;br /&gt;&lt;br /&gt;Esse comando é útil quando você quer um texto que deve ser seguido por outro, mas não deseja que ele faça parte da ocorrência.&lt;br /&gt;&lt;br /&gt;Exemplo:&lt;br /&gt;&lt;pre&gt;end\ze\(if\|for\)&lt;/pre&gt; 'end', define o fim da ocorrência, seguido de 'if' ou 'for'. Retorna 'end' quando ocorrer 'endif' e 'endfor'.&lt;br /&gt;&lt;br /&gt;Pode ser usado múltiplas vezes, o último '\ze' é o que é usado.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-7358970385695539457?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/7358970385695539457/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/expressao-regular-definindo-o-fim-da.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7358970385695539457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7358970385695539457'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/expressao-regular-definindo-o-fim-da.html' title='Expressão regular: Definindo o fim da ocorrência (match)'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-11610215511403148</id><published>2009-05-05T20:43:00.013-03:00</published><updated>2009-05-06T08:54:45.676-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim pesquisa'/><title type='text'>Expressão regular: Definindo  o início da ocorrência (match)</title><content type='html'>O item '\zs' em uma expressão regular define o local aonde começa uma ocorrência. O texto anterior é só testado para validar o regex mas não é retornado.&lt;br /&gt;&lt;br /&gt;Esse comando é útil quando você quer um texto que deve ser precedido por outro, mas não deseja que ele faça parte da ocorrência.&lt;br /&gt;&lt;br /&gt;Exemplo:&lt;br /&gt;&lt;pre&gt;/^\s*\zsif&lt;/pre&gt; localiza o início da linha, seguido de zero ou mais espaços, define o início da&lt;br /&gt;ocorrência, seguido de 'if'. A expressão localiza 'if's no início da linha&lt;br /&gt;ignorando os espaços precedentes.&lt;br /&gt;Pode ser usado múltiplas vezes, o último '\zs' é o que é usado:&lt;br /&gt;&lt;pre&gt;/\(.\{-}\zsFab\)\{3}&lt;/pre&gt; Localiza a terceira ocorrência de 'Fab'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-11610215511403148?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/11610215511403148/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/expressao-regular-define-posicao.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/11610215511403148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/11610215511403148'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/05/expressao-regular-define-posicao.html' title='Expressão regular: Definindo  o início da ocorrência (match)'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-4279578312126289455</id><published>2009-04-26T10:58:00.001-03:00</published><updated>2009-04-26T11:01:45.125-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim movendo-cursor'/><title type='text'>Saltando para um byte específico do buffer</title><content type='html'>Use o comando:&lt;br /&gt;&lt;pre&gt;{contagem}go&lt;/pre&gt; para saltar para um byte específico do arquivo.&lt;br /&gt;O comando:&lt;br /&gt;&lt;pre&gt;:goto {número}&lt;/pre&gt; faz o mesmo.&lt;br /&gt;Use o comando&lt;br /&gt;&lt;pre&gt;g&amp;lt;Ctrl-G&amp;gt;&lt;/pre&gt; para ajudar a ver a posição do cursor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-4279578312126289455?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/4279578312126289455/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/saltando-para-um-byte-especifico-do.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4279578312126289455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4279578312126289455'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/saltando-para-um-byte-especifico-do.html' title='Saltando para um byte específico do buffer'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-9196034669873104175</id><published>2009-04-26T10:02:00.003-03:00</published><updated>2009-04-26T10:26:48.047-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Arquivo read-only e o gerenciador de versão de fontes</title><content type='html'>A opção 'readonly' é ligada automaticamente quando é lido é read-only.&lt;br /&gt;&lt;br /&gt;Em uma ocasião você deveria desliga-la: quando você está usando um sistema de&lt;br /&gt;controle de fontes que deixa os arquivo em modo read-only.&lt;br /&gt;Quando você edita-lo no Vim, ele avisa que o arquivo é só para leitura e liga a&lt;br /&gt;opção 'readonly'.&lt;br /&gt;&lt;br /&gt;Neste ponto você lembra que esqueceu de dizer ao gerenciador de fontes que você&lt;br /&gt;quer editar o arquivo. &lt;br /&gt;&lt;br /&gt;Assim você usa o comando ':shell' para ir ao command prompt e executa comandos&lt;br /&gt;que diz ao gerenciador que você quer editar o arquivo. &lt;br /&gt;Depois de obter a permissão do gerenciador, você volta ao Vim ao entrar 'exit' e&lt;br /&gt;executa o seguinte comando para dizer que o arquivo é editável:&lt;br /&gt;&lt;pre&gt;:set noreadonly&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-9196034669873104175?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/9196034669873104175/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/arquivo-read-only-e-o-gerenciador-de.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/9196034669873104175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/9196034669873104175'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/arquivo-read-only-e-o-gerenciador-de.html' title='Arquivo read-only e o gerenciador de versão de fontes'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-7997740087956790055</id><published>2009-04-26T09:54:00.002-03:00</published><updated>2009-04-26T09:57:17.212-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Opção que informa se o buffer corrente foi alterado</title><content type='html'>A opção 'modified' é ligada automaticamente pelo Vim quando o buffer é&lt;br /&gt;modificado.&lt;br /&gt;Não é necessário ligar essa opção, pois ela é gerencia pelo editor.&lt;br /&gt;No entanto você pode testa-la em vim scripts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-7997740087956790055?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/7997740087956790055/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/opcao-que-diz-se-o-buffer-corrente-foi.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7997740087956790055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7997740087956790055'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/opcao-que-diz-se-o-buffer-corrente-foi.html' title='Opção que informa se o buffer corrente foi alterado'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-1174198027148811555</id><published>2009-04-26T09:39:00.002-03:00</published><updated>2009-04-26T09:48:00.738-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Salvando a edição do arquivo para o swap file</title><content type='html'>Se você fez bastante alterações em um arquivo e deseja preserva-las em caso de&lt;br /&gt;crash você usa:&lt;br /&gt;&lt;pre&gt;:w&lt;/pre&gt; No entanto isso sobrepõe o arquivo original com as alterações.&lt;br /&gt;Uma alterativa é usar o comando:&lt;br /&gt;&lt;pre&gt;:preserve&lt;/pre&gt; Ele irá gravar todas alterações no swap file somente. O arquivo original&lt;br /&gt;permanece intacto e só será mudado quando você fizer um ':w' ou um 'ZZ'.&lt;br /&gt;Se o sistema cai você pode recuperar os dados mesmo que o arquivo original tenha&lt;br /&gt;sido perdido.&lt;br /&gt;Sem esse comando você precisaria tanto do swap file como do arquivo original&lt;br /&gt;para recuperar os dados.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-1174198027148811555?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/1174198027148811555/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/salvando-edicao-para-o-swap-file.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1174198027148811555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1174198027148811555'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/salvando-edicao-para-o-swap-file.html' title='Salvando a edição do arquivo para o swap file'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-1002329458829843578</id><published>2009-04-25T23:54:00.002-03:00</published><updated>2009-04-26T00:00:10.706-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Opção para forçar o Unix/Linux gravar o swap file</title><content type='html'>No Unix/Linux quando você grava um arquivo, os dados normalmente vão para um&lt;br /&gt;buffer de memória e são gravados de fato quando o sistema achar que é o momento.&lt;br /&gt;Isto pode levar alguns segundos.&lt;br /&gt;Se você quiser ter certeza que os dados vão para o disco use:&lt;br /&gt;&lt;pre&gt;:set swapsync&lt;/pre&gt; Este comando executa uma operação 'sync' depois de cada gravação do swap file&lt;br /&gt;para forçar a gravação em disco.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-1002329458829843578?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/1002329458829843578/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/definindo-para-forcar-o-unix-gravar-o.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1002329458829843578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1002329458829843578'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/definindo-para-forcar-o-unix-gravar-o.html' title='Opção para forçar o Unix/Linux gravar o swap file'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-2378833592824771606</id><published>2009-04-25T23:49:00.002-03:00</published><updated>2009-04-25T23:53:14.844-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Desativando o swap file</title><content type='html'>Você pode querer desativar o uso de um swap file quando editando um arquivo&lt;br /&gt;muito grande e não se importa com recuperação.&lt;br /&gt;Use:&lt;br /&gt;&lt;pre&gt;:set noswapfile&lt;/pre&gt; Essa opção é específica para cada buffer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-2378833592824771606?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/2378833592824771606/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/desativando-o-swap-file.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2378833592824771606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2378833592824771606'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/desativando-o-swap-file.html' title='Desativando o swap file'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-7125148206959076436</id><published>2009-04-25T23:38:00.004-03:00</published><updated>2009-04-26T00:05:42.479-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Escolhendo entre várias versões do swap file</title><content type='html'>O Vim busca sempre evitar de gravar sobre um swap file existente. A primeira vez&lt;br /&gt;que edita o swap file chama '.arquivo.txt.swp', na vez seguinte&lt;br /&gt;'.arquivo.txt.swo' e assim por diante.&lt;br /&gt;Você pode dizer ao Vim qual swap file utilizar:&lt;br /&gt;&lt;pre&gt;vim -r .arquivo.txt.swo&lt;/pre&gt; Para ver qual o nome do swap file que está sendo usado use:&lt;br /&gt;&lt;pre&gt;:swapname&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-7125148206959076436?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/7125148206959076436/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/usando-varias-versoes-do-swap-file.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7125148206959076436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7125148206959076436'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/usando-varias-versoes-do-swap-file.html' title='Escolhendo entre várias versões do swap file'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-4620074943744312877</id><published>2009-04-25T22:52:00.004-03:00</published><updated>2009-05-13T17:16:42.342-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><category scheme='http://www.blogger.com/atom/ns#' term='vim edição'/><title type='text'>A sequência de eventos quando gravando um arquivo</title><content type='html'>Sequência de passos quando o Vim grava um arquivo.&lt;br /&gt;&lt;br /&gt;1. O Vim verifica se o arquivo foi alterado externamente. Caso tenha&lt;br /&gt;acontecido o editor envia uma aviso e pergunta se quer continuar.&lt;br /&gt;2. Se 'writebackup' ou 'backup' estão ligados, qualquer backup antigo é&lt;br /&gt;removido. O arquivo corrente então é copiado para o backup.&lt;br /&gt;3. O buffer é gravado no arquivo.&lt;br /&gt;4. Se o 'patchmode' está ligado e não existe nenhum arquivo de patch, o arquivo&lt;br /&gt;de backup é renomeado e se torna o arquivo de patch.&lt;br /&gt;5. Se a opção 'backup' não está ligada, e 'writebackup' está ligada, remove o&lt;br /&gt;arquivo de backup.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-4620074943744312877?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/4620074943744312877/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/sequencia-de-passos-que-o-ocorrem.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4620074943744312877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4620074943744312877'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/sequencia-de-passos-que-o-ocorrem.html' title='A sequência de eventos quando gravando um arquivo'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-926828343715759601</id><published>2009-04-25T18:06:00.001-03:00</published><updated>2009-04-25T18:11:03.389-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Entrando no modo restrito pela linha de comando</title><content type='html'>Use:&lt;br /&gt;&lt;pre&gt;vim -Z&lt;/pre&gt; No modo restrito, todos comandos que fazem uso do shell externo são proibidos.&lt;br /&gt;Isso inclui ':shell', &lt;Ctrl-Z&gt;, filtragem, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-926828343715759601?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/926828343715759601/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/entrando-no-modo-restrito-pela-linha-de.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/926828343715759601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/926828343715759601'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/entrando-no-modo-restrito-pela-linha-de.html' title='Entrando no modo restrito pela linha de comando'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-7412376354078199400</id><published>2009-04-25T17:57:00.002-03:00</published><updated>2009-04-25T18:00:15.285-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim documentação'/><title type='text'>Mostrando a versão e opções de compilação pela linha de comando</title><content type='html'>Use a opção:&lt;br /&gt;&lt;pre&gt;vim --version&lt;/pre&gt; Mostrará a versão do Vim e as opções que foram usadas na compilação do programa.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-7412376354078199400?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/7412376354078199400/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/mostrando-versao-e-opcoes-de-compilacao.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7412376354078199400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7412376354078199400'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/mostrando-versao-e-opcoes-de-compilacao.html' title='Mostrando a versão e opções de compilação pela linha de comando'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-1352652384407894821</id><published>2009-04-25T17:54:00.002-03:00</published><updated>2009-04-25T17:57:23.408-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim documentação'/><title type='text'>Mostrando o help da linha de comando</title><content type='html'>Use:&lt;br /&gt;&lt;pre&gt;vim --help&lt;/pre&gt; Será mostrado todos argumentos de linha de comando.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-1352652384407894821?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/1352652384407894821/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/mostrando-o-help-da-linha-de-comando.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1352652384407894821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1352652384407894821'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/mostrando-o-help-da-linha-de-comando.html' title='Mostrando o help da linha de comando'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-1896696451133810052</id><published>2009-04-25T11:38:00.005-03:00</published><updated>2009-04-25T12:52:08.594-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Saindo do modo inserção automaticamente depois de um intervalo de tempo</title><content type='html'>Se você entra em modo inserção deve ser pressionado o &lt;Esc&gt; para voltar para o modo normal para executar alguns comandos.&lt;br /&gt;&lt;br /&gt;Elimine essa ação repetitiva definindo o código abaixo em seu .vimrc:&lt;br /&gt;&lt;pre&gt;" automaticamente deixe o modo inserção depois de 'updatetime' milisegundos &lt;br /&gt;" de inatividade.&lt;br /&gt;au CursorHoldI * stopinsert&lt;/pre&gt;&lt;pre&gt;" defina o 'updatetime' de até 2 segundos quando no modo inserção&lt;br /&gt;au InsertEnter * let updaterestore=&amp;updatetime | set updatetime=2000&lt;br /&gt;au InsertLeave * let &amp;updatetime=updaterestore&lt;/pre&gt; O primeiro autocomando tem o evento 'CursorHoldI' que ocorre quando o usuário&lt;br /&gt;não digita nada durante o tempo especificado na opção 'updatetime' e está no&lt;br /&gt;modo inserção. O comando executado será 'stopinsert', o qual equivale a&lt;br /&gt;pressionar &lt;Esc&gt; no modo inserção.&lt;br /&gt;&lt;br /&gt;O autocomando seguinte, ativado no 'InsertEnter' que ocorre antes de entrar no&lt;br /&gt;modo inserção, salva o a opção 'updatetime' e define num valor conveniente, aqui&lt;br /&gt;2 segundos.&lt;br /&gt;&lt;br /&gt;O autocomando final, ativado no 'InsertLeave' que ocorre ao deixar o modo&lt;br /&gt;inserção, retorna o valor original da opção 'updatetime'.&lt;br /&gt;&lt;br /&gt;Isso permite usar um valor específico de 'updatetime' para sair do modo inserção&lt;br /&gt;sem afetar outras funções, por exemplo mapeamento com várias teclas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-1896696451133810052?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/1896696451133810052/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/saindo-do-modo-insercao-automaticamente.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1896696451133810052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1896696451133810052'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/saindo-do-modo-insercao-automaticamente.html' title='Saindo do modo inserção automaticamente depois de um intervalo de tempo'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-344014634341242628</id><published>2009-04-24T20:08:00.003-03:00</published><updated>2009-04-24T20:14:31.136-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Opção para definir como a última linha do arquivo termina</title><content type='html'>O Vim supõe que a última linha termina com um carácter &lt;EOL&gt;.&lt;br /&gt;Algumas vezes você encontra um arquivo estranho que contém uma linha incompleta.&lt;br /&gt;Quando o Vim encontra este tipo de arquivo, ele liga a opção 'noendofline'.&lt;br /&gt;Se o seu arquivo termina com uma linha completa, a opção 'endofline' é ligada.&lt;br /&gt;&lt;br /&gt;Se quiser mudar se o arquivo termina com &lt;EOL&gt; use:&lt;br /&gt;&lt;pre&gt;:set endofline&lt;/pre&gt; caso contrário:&lt;br /&gt;&lt;pre&gt;:set noendofline&lt;/pre&gt; Esta opção só funciona com&lt;br /&gt;&lt;pre&gt;:set binary&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-344014634341242628?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/344014634341242628/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/opcao-para-definir-como-ultima-linha.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/344014634341242628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/344014634341242628'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/opcao-para-definir-como-ultima-linha.html' title='Opção para definir como a última linha do arquivo termina'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-1186245480498268496</id><published>2009-04-24T11:23:00.003-03:00</published><updated>2009-04-24T22:19:02.256-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Definindo uma lista de arquivos com palavras para autocompletar</title><content type='html'>Use a seguinte opção:&lt;br /&gt;&lt;pre&gt;:set dictionary=arquivo,arquivo,...&lt;/pre&gt; Isso define arquivos que serão procurados quando pressionando &amp;lt;Ctrl-N&amp;gt; e&lt;br /&gt;&amp;lt;Ctrl-P&amp;gt; para completar palavras.&lt;br /&gt;Exemplo:&lt;br /&gt;&lt;pre&gt;:set dictionary=/home/joao/palavras&lt;/pre&gt; Você pode também especificar um dicionário na opção 'complete' com a flag 'k':&lt;br /&gt;&lt;pre&gt;:set complete+=/home/joao/palavras&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-1186245480498268496?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/1186245480498268496/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/definindo-uma-lista-particular-de.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1186245480498268496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1186245480498268496'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/definindo-uma-lista-particular-de.html' title='Definindo uma lista de arquivos com palavras para autocompletar'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-9188668290385419550</id><published>2009-04-23T18:43:00.008-03:00</published><updated>2009-05-22T08:23:16.158-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim edição'/><title type='text'>Gravando um arquivo</title><content type='html'>Para gravar o buffer (arquivo) use:&lt;br /&gt;&lt;pre&gt;:write teste.txt &lt;br /&gt;:w teste.txt&lt;/pre&gt;O comando ':write' não regrava um arquivo existente com o mesmo nome. Use:&lt;br /&gt;&lt;pre&gt;:w! teste.txt&lt;/pre&gt; para forçar isso.&lt;br /&gt;Para gravar e sair do Vim use:&lt;br /&gt;&lt;pre&gt;:wq&lt;/pre&gt; para gravar e sair, sem gravar os buffers ocultos use:&lt;br /&gt;read-only se:&lt;br /&gt;&lt;pre&gt;:wq!&lt;/pre&gt; Para gravar com um novo nome:&lt;br /&gt;&lt;pre&gt;:wq b.txt&lt;/pre&gt; Para forçar a gravação, caso o nome já exista use:&lt;br /&gt;&lt;pre&gt;:wq! b.txt&lt;/pre&gt; Para gravar, somente se o buffer foi mudado , e sair use:&lt;br /&gt;&lt;pre&gt;:xit&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-9188668290385419550?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/9188668290385419550/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/gravando-um-arquivo.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/9188668290385419550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/9188668290385419550'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/gravando-um-arquivo.html' title='Gravando um arquivo'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-8280653285687300031</id><published>2009-04-23T10:58:00.000-03:00</published><updated>2009-04-23T11:09:00.774-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Salvando configurações definidas na linha de comando em um arquivo</title><content type='html'>Depois de experimentar com os comandos ':map', ':abbreviate' e ':set', seria legal se&lt;br /&gt;pudesse salva-los e usa-los de novo.&lt;br /&gt;O comando ':mkvimrc' grava todas suas definições em um arquivo:&lt;br /&gt;&lt;pre&gt;:mkvimrc {arquivo}&lt;/pre&gt; Você pode ler esse arquivo usando o comando:&lt;br /&gt;&lt;pre&gt;:source {arquivo}&lt;/pre&gt; Somente mapeamentos globais são gravado.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-8280653285687300031?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/8280653285687300031/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/salvando-configuracoes-definidas-na.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8280653285687300031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8280653285687300031'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/salvando-configuracoes-definidas-na.html' title='Salvando configurações definidas na linha de comando em um arquivo'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-9202331760862401510</id><published>2009-04-22T09:44:00.001-03:00</published><updated>2009-04-22T09:48:03.480-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Opção para definir o arquivo com a lista de erros de compilação</title><content type='html'>A opção:&lt;br /&gt;&lt;pre&gt;:set errorfile=&lt;/pre&gt; define o arquivo default que o comando ':clist' e opção de linha de comando '-q'&lt;br /&gt;usarão para percorrer os erros de compilação.&lt;br /&gt;Este arquivo não é usado como saída do comando ':make'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-9202331760862401510?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/9202331760862401510/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/opcao-para-definir-o-arquivo-com-lista.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/9202331760862401510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/9202331760862401510'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/opcao-para-definir-o-arquivo-com-lista.html' title='Opção para definir o arquivo com a lista de erros de compilação'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-203255936692156031</id><published>2009-04-22T09:33:00.003-03:00</published><updated>2009-05-18T17:53:57.715-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Usando um arquivo de erros gerado  externamente</title><content type='html'>Caso você tenha rodado 'make' externo e gerado seu próprio arquivo de erro, você pode dizer ao Vim sobre ele com:&lt;br /&gt;&lt;pre&gt;:cfile 'arquivo-de-erro'&lt;/pre&gt; 'arquivo-de-erro' é a saída do comando 'make' ou do compilador.   &lt;br /&gt;Se 'arquivo-de-erro' não foi especificado a opção 'errofile' é usada.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-203255936692156031?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/203255936692156031/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/usando-um-arquivo-de-erros-gerado.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/203255936692156031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/203255936692156031'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/usando-um-arquivo-de-erros-gerado.html' title='Usando um arquivo de erros gerado  externamente'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-8367677867091389786</id><published>2009-04-21T23:50:00.003-03:00</published><updated>2009-04-21T23:54:52.293-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Classificando um bloco de linhas no modo visual</title><content type='html'>Ponha o cursor na 1ª linha do bloco.&lt;br /&gt;Inicie o modo visual-linha:&lt;br /&gt;&lt;pre&gt;V&lt;/pre&gt; Mova para o final do bloco&lt;br /&gt;Execute o comando de filtro:&lt;br /&gt;&lt;pre&gt;!sort&lt;/pre&gt; O Vim preenche a linha de comando com:&lt;br /&gt;&lt;pre&gt;'&amp;lt;,'&amp;gt;!sort&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-8367677867091389786?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/8367677867091389786/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/classificando-um-bloco-de-linhas-usando.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8367677867091389786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8367677867091389786'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/classificando-um-bloco-de-linhas-usando.html' title='Classificando um bloco de linhas no modo visual'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-818736471881105668</id><published>2009-04-21T14:41:00.003-03:00</published><updated>2009-04-21T14:56:15.323-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Classificando linhas usando marca</title><content type='html'>Classificando uma série de linhas (de um Makefile):&lt;br /&gt;&lt;pre&gt;SOURCES = \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.cpp     \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set_ix.cpp   \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rio_io.cpp   \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;arm.cpp      \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;app.cpp      \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;amem.cpp     \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;als.cpp      \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aformat.cpp  \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;adump.cpp    \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rio.cpp      \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;progress.cpp \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;add.cpp      \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;acp.cpp      \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rio_glob.cpp&lt;/pre&gt; Posicione o cursor no início da lista (a 2ª linha).&lt;br /&gt;Crie uma marca ali:&lt;br /&gt;&lt;pre&gt;ma&lt;/pre&gt; Posicione o cursor no final da lista.&lt;br /&gt;Entre o filtro:&lt;br /&gt;&lt;pre&gt;!'a&lt;/pre&gt; O vim traduz na linha de comando para:&lt;br /&gt;&lt;pre&gt;:.,$!&lt;/pre&gt; Entre o filtro:&lt;br /&gt;&lt;pre&gt;sort&lt;/pre&gt; As linhas são classificadas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-818736471881105668?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/818736471881105668/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/classificando-linhas-usando-marca.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/818736471881105668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/818736471881105668'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/classificando-linhas-usando-marca.html' title='Classificando linhas usando marca'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-5249291662294877247</id><published>2009-04-21T14:09:00.002-03:00</published><updated>2009-04-21T14:32:21.905-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim movendo-cursor'/><title type='text'>Percorrendo uma lista de tags selecionadas</title><content type='html'>Caso os comandos ':tag {palavra}' ou ':tselect {palavra}' retornem mais uma&lt;br /&gt;ocorrência, use os comandos abaixo:&lt;br /&gt;&lt;pre&gt;:tnext&lt;/pre&gt;     próxima tag&lt;br /&gt;&lt;pre&gt;:tprevious&lt;/pre&gt; tag anterior &lt;br /&gt;&lt;pre&gt;:tNext&lt;/pre&gt;     tag anterior&lt;br /&gt;&lt;pre&gt;:tfirst&lt;/pre&gt;    primeira tag&lt;br /&gt;&lt;pre&gt;:tlast&lt;/pre&gt;     última tag&lt;br /&gt;Todos suportam o argumento 'contagem' para saltar 'n' ocorrências.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-5249291662294877247?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/5249291662294877247/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/percorrendo-uma-lista-de-tags.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/5249291662294877247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/5249291662294877247'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/percorrendo-uma-lista-de-tags.html' title='Percorrendo uma lista de tags selecionadas'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-6025184409631933885</id><published>2009-04-21T11:20:00.006-03:00</published><updated>2009-04-21T13:09:28.671-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim movendo-cursor'/><title type='text'>Procurando tag usando expressão regular</title><content type='html'>Se você só conhece parte do nome de uma procedure você pode usar o comando&lt;br /&gt;&lt;pre&gt;:tag&lt;/pre&gt; para procura-la usando uma regexp.&lt;br /&gt;Procure uma procedure que tem 'write' no nome:&lt;br /&gt;&lt;pre&gt;:tag /write&lt;/pre&gt; Procure uma procedure que comece com 'read':&lt;br /&gt;&lt;pre&gt;:tag /^read&lt;/pre&gt; Procure uma procedure cuja grafia você tem dúvidas:&lt;br /&gt;&lt;pre&gt;:tag /DoFile\|do_file\|Do_File&lt;br /&gt;:tag /[Dd]o_\=[Ff]ile&lt;/pre&gt; Esses comandos podem retornar múltiplos resultados.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-6025184409631933885?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/6025184409631933885/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/procurando-tag-usando-expressao-regular.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/6025184409631933885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/6025184409631933885'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/procurando-tag-usando-expressao-regular.html' title='Procurando tag usando expressão regular'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-9117743821575628845</id><published>2009-04-21T00:42:00.003-03:00</published><updated>2009-04-21T00:49:36.631-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim movendo-cursor'/><title type='text'>Mapeamento para percorrer os buffers</title><content type='html'>Use:&lt;br /&gt;&lt;pre&gt;map &amp;lt;C-right&amp;gt; &amp;lt;ESC&amp;gt;:bn&amp;lt;CR&amp;gt;&lt;br /&gt;map &amp;lt;C-left&amp;gt; &amp;lt;ESC&amp;gt;:bp&amp;lt;CR&amp;gt;&lt;/pre&gt; Mapeamentos para retornar o buffer anterior e seguinte respectivamente.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-9117743821575628845?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/9117743821575628845/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/mapeamento-para-percorrer-os-buffers.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/9117743821575628845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/9117743821575628845'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/mapeamento-para-percorrer-os-buffers.html' title='Mapeamento para percorrer os buffers'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-1826115255084692731</id><published>2009-04-21T00:15:00.003-03:00</published><updated>2009-04-21T00:22:13.505-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim utilitários'/><title type='text'>Opção para definir que programa chamar para o comando 'K'</title><content type='html'>O comando 'K' chamará um programa externo que receberá a palavra sob o cursor.&lt;br /&gt;O programa a ser chamado está declarado na opção:&lt;br /&gt;&lt;pre&gt;:set keywordprg=man&lt;/pre&gt; No Unix, o default é 'man'. Pode-se definir ':help' para chamar o help do Vim&lt;br /&gt;passando a palavra.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-1826115255084692731?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/1826115255084692731/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/opcao-para-definir-que-programa-chamar.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1826115255084692731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1826115255084692731'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/opcao-para-definir-que-programa-chamar.html' title='Opção para definir que programa chamar para o comando &apos;K&apos;'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-4170112724213763793</id><published>2009-04-21T00:09:00.002-03:00</published><updated>2009-04-21T00:13:06.764-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim movendo-cursor'/><title type='text'>Indentando um bloco no modo visual</title><content type='html'>1. Posicione o cursor no delimitador.&lt;br /&gt;2. Inicie o modo visual:&lt;br /&gt;&lt;pre&gt;v&lt;/pre&gt; 3. Selecione o bloco {} internamente com:&lt;br /&gt;&lt;pre&gt;i}&lt;/pre&gt; 4. Indente o texto com:&lt;br /&gt;&lt;pre&gt;&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-4170112724213763793?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/4170112724213763793/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/indentando-um-bloco-no-modo-visual.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4170112724213763793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4170112724213763793'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/indentando-um-bloco-no-modo-visual.html' title='Indentando um bloco no modo visual'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-4787341500159115690</id><published>2009-04-20T22:39:00.006-03:00</published><updated>2009-05-22T13:09:09.866-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim movendo-cursor'/><title type='text'>Indentando um bloco de texto entre delimitadores</title><content type='html'>Se quiser indentar um nível um texto entre '{}' faça:&lt;br /&gt;Posicione o cursor no delimitador e use o comando-movimento seguinte:&lt;br /&gt;&lt;pre&gt;&gt;%&lt;/pre&gt; Infelizmente isso indenta o delimitador também. Se você quiser só deslocar o conteúdo do bloco :&lt;br /&gt;Posicione o cursor no delimitador e use  comando-objeto_texto:&lt;br /&gt;&lt;pre&gt;&gt;i{&lt;/pre&gt; 'i{' é o objeto texto 'bloco {} interno'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-4787341500159115690?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/4787341500159115690/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/indentando-um-bloco-de-texto-delimitado.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4787341500159115690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4787341500159115690'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/indentando-um-bloco-de-texto-delimitado.html' title='Indentando um bloco de texto entre delimitadores'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-5014093112027527282</id><published>2009-04-20T21:48:00.001-03:00</published><updated>2009-04-20T21:55:59.089-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim movendo-cursor'/><title type='text'>Mostrando as definições de macro de  um programa C</title><content type='html'>Mostrando as definições de macro de um programa C.&lt;br /&gt;Mostra a partir do início:&lt;br /&gt;&lt;pre&gt;[d&lt;/pre&gt;&lt;br /&gt;Mostra depois do cursor:&lt;br /&gt;&lt;pre&gt;]d&lt;/pre&gt;&lt;br /&gt;Mostrando uma lista com todas definições de macro de um program C.&lt;br /&gt;Mostra a partir do início:&lt;br /&gt;&lt;pre&gt;[D&lt;/pre&gt;&lt;br /&gt;Mostra depois do cursor:&lt;br /&gt;&lt;pre&gt;]D&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-5014093112027527282?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/5014093112027527282/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/mostrando-as-definicoes-de-macro-de-um.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/5014093112027527282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/5014093112027527282'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/mostrando-as-definicoes-de-macro-de-um.html' title='Mostrando as definições de macro de  um programa C'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-5695578579812694246</id><published>2009-04-20T21:31:00.005-03:00</published><updated>2009-04-20T21:43:54.061-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim movendo-cursor'/><title type='text'>Saltando para definição da macro C cujo nome está sob o cursor</title><content type='html'>Salta para uma  definição da macro cujo nome está sob o cursor use.&lt;br /&gt;A pesquisa começa no início do arquivo:&lt;br /&gt;&lt;pre&gt;[&amp;lt;Ctrl-D&amp;gt;&lt;/pre&gt; A pesquisa começa a partir do cursor:&lt;br /&gt;&lt;pre&gt;]&amp;lt;Ctrl-D&amp;gt;&lt;/pre&gt; Esses comandos procuram também nos arquivos que estão em '#include'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-5695578579812694246?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/5695578579812694246/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/procurando-primeira-definicao-da-macro.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/5695578579812694246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/5695578579812694246'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/procurando-primeira-definicao-da-macro.html' title='Saltando para definição da macro C cujo nome está sob o cursor'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-6816230641942247488</id><published>2009-04-20T20:48:00.005-03:00</published><updated>2009-04-20T21:44:31.821-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim movendo-cursor'/><title type='text'>Saltando para a  linha que tem a palavra sob o cursor</title><content type='html'>Para saltar para a primeira ocorrência da palavra sob o cursor:&lt;br /&gt;&lt;pre&gt;[&amp;lt;Ctrl-I&amp;gt;&lt;/pre&gt; Começa a partir do início do arquivo. Linhas que parecem comentários são&lt;br /&gt;ignoradas&lt;br /&gt;&lt;br /&gt;Para saltar para ocorrências a partir do cursor para frente:&lt;br /&gt;&lt;pre&gt;]&amp;lt;Ctrl-I&amp;gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-6816230641942247488?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/6816230641942247488/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/saltando-para-primeira-linha-que-tem.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/6816230641942247488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/6816230641942247488'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/saltando-para-primeira-linha-que-tem.html' title='Saltando para a  linha que tem a palavra sob o cursor'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-4025693259498496449</id><published>2009-04-20T14:03:00.003-03:00</published><updated>2009-04-20T14:07:27.504-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim edição'/><title type='text'>Mudando de modo visual carácter/linha para bloco</title><content type='html'>Se você está usando o modo visual carácter ou linha mas descobre que você deveria estar&lt;br /&gt;usando o modo visual bloco use o comando:&lt;br /&gt;&lt;pre&gt;&amp;lt;Ctrl-V&amp;gt;&lt;/pre&gt; para mudar rapidamente.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-4025693259498496449?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/4025693259498496449/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/mudando-de-modo-visual-caracterlinha.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4025693259498496449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4025693259498496449'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/mudando-de-modo-visual-caracterlinha.html' title='Mudando de modo visual carácter/linha para bloco'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-1193714028360236249</id><published>2009-04-20T14:01:00.001-03:00</published><updated>2009-04-20T14:02:43.912-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim edição'/><title type='text'>Copiando texto no modo visual</title><content type='html'>O comando 'y' irá copiar o texto selecionado em um registrador. Enquanto que o comando 'Y' copiará linhas inteiras no registrador.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-1193714028360236249?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/1193714028360236249/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/copiando-texto-no-modo-visual.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1193714028360236249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1193714028360236249'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/copiando-texto-no-modo-visual.html' title='Copiando texto no modo visual'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-4591003856555824435</id><published>2009-04-20T13:24:00.006-03:00</published><updated>2009-05-28T20:54:25.578-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><category scheme='http://www.blogger.com/atom/ns#' term='vim gui'/><title type='text'>Opção  para controlar o uso de janelas quando se muda de buffer</title><content type='html'>A ação default do vim para os comandos 'split/buffer' (p.e :sbnext, :sbuffer&lt;br /&gt;arquivo ,etc) é dividir a janela corrente e carregar o arquivo.&lt;br /&gt;Usando a opção:&lt;br /&gt;&lt;pre&gt;:set switchbuf=useopen&lt;/pre&gt; faz com que o Vim só salte para a primeira janela que contiver o buffer, se&lt;br /&gt;existir.&lt;br /&gt;Nota: você ainda pode dividir a janela para ver 2 visões do mesmo arquivo com&lt;br /&gt;comandos ':split'.&lt;br /&gt;Quando você roda o ':make' e ocorre erro, o Vim mostrará o arquivo com o&lt;br /&gt;problema na janela corrente.&lt;br /&gt;Se usar:&lt;br /&gt;&lt;pre&gt;:set switchbuf=split&lt;/pre&gt; o editor dividirá a janela corrente mostrando o arquivo errado na nova janela.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-4591003856555824435?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/4591003856555824435/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/opcao-para-nao-abrir-janelas-extras-se.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4591003856555824435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/4591003856555824435'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/opcao-para-nao-abrir-janelas-extras-se.html' title='Opção  para controlar o uso de janelas quando se muda de buffer'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-9022970733238876548</id><published>2009-04-18T10:57:00.004-03:00</published><updated>2009-04-18T11:06:30.222-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim pesquisa'/><title type='text'>Expressão regular: usando escape para caracteres especiais</title><content type='html'>Se for pesquisar usando caracteres que são caracteres especiais de expressão&lt;br /&gt;regular, eles devem ser precedidos pr backslash ('\').&lt;br /&gt;Por exemplo,^, $,. portanto deve ser escapados com o backslash (\):&lt;br /&gt;&lt;pre&gt;/lei\.&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-9022970733238876548?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/9022970733238876548/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/expressao-regular-usando-escape-para.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/9022970733238876548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/9022970733238876548'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/expressao-regular-usando-escape-para.html' title='Expressão regular: usando escape para caracteres especiais'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-3642948785579197047</id><published>2009-04-18T10:55:00.001-03:00</published><updated>2009-04-18T10:56:55.657-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim pesquisa'/><title type='text'>Expressão regular: Um carácter qualquer</title><content type='html'>'.' corresponde a um carácter qualquer.&lt;br /&gt;Pesquise por uma palavra que tenha  um carácter qualquer (.):&lt;br /&gt;&lt;pre&gt;/la.a&lt;/pre&gt; 'la' seguido de um carácter qualquer seguido de 'a'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-3642948785579197047?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/3642948785579197047/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/expressao-regular-um-caracter-qualquer.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/3642948785579197047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/3642948785579197047'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/expressao-regular-um-caracter-qualquer.html' title='Expressão regular: Um carácter qualquer'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-5526821119987048420</id><published>2009-04-17T14:14:00.001-03:00</published><updated>2009-04-17T14:17:54.827-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim configuração'/><title type='text'>Mostrando qual idioma o Vim está usando</title><content type='html'>Use:&lt;br /&gt;&lt;pre&gt;:language&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-5526821119987048420?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/5526821119987048420/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/mostrando-qual-idioma-o-vim-esta-usando.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/5526821119987048420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/5526821119987048420'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/mostrando-qual-idioma-o-vim-esta-usando.html' title='Mostrando qual idioma o Vim está usando'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-8826397935773034694</id><published>2009-04-17T12:12:00.002-03:00</published><updated>2009-04-17T12:53:00.150-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim script'/><title type='text'>Layout portável de um arquivo de sintaxe</title><content type='html'>Siga essas orientações para fazer arquivos de sintaxe acessíveis para todos.&lt;br /&gt;Comece com um header que explique para que é o arquivo de sintaxe, quem o mantém&lt;br /&gt;e quando foi sua última atualização. Não inclua muita informação sobre o&lt;br /&gt;histórico de mudanças, poucas pessoas irão le-la. &lt;br /&gt;Exemplo:&lt;br /&gt;&lt;pre&gt;" Vim syntax file&lt;br /&gt;" Language:     C&lt;br /&gt;" Maintainer:   Bram Moolenaar &amp;lt;Bram@vim.org&amp;gt;&lt;br /&gt;" Last Change: 2001 Jun 18&lt;br /&gt;" Remark:       Included by the C++ syntax.&lt;/pre&gt; Use o mesmo layout que os outros arquivos de sintaxe. Usar um arquivo de sintaxe&lt;br /&gt;existente irá lhe economizar um monte de tempo.&lt;br /&gt;&lt;br /&gt;Escolha um bom e descritivo nome para seu arquivo de sintaxe. Use letras&lt;br /&gt;minusculas e dígitos. Não faça-o muito longo, ele é usado em muitos lugares: O&lt;br /&gt;nome do arquivo de sintaxe 'nome.vim', 'filetype', use 'b:current_syntax' no início&lt;br /&gt;de cada grupo de sintaxe (nameType, nameStatement, nameString, etc).&lt;br /&gt;&lt;br /&gt;Comece com um teste do 'b:current_syntax'. Se estiver definido, algum outro&lt;br /&gt;arquivo de sintaxe, mais no início do 'runtimepath' já foi carregado:&lt;br /&gt;&lt;pre&gt;if exists("b:current_syntax")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;finish&lt;br /&gt;endif&lt;/pre&gt; Para ser compatível com o Vim 5.8 use:&lt;br /&gt;&lt;pre&gt;if version &amp;lt; 600&lt;br /&gt;&amp;nbsp;&amp;nbsp;syntax clear&lt;br /&gt;elseif exists("b:current_syntax")&lt;br /&gt;&amp;nbsp;&amp;nbsp;finish&lt;br /&gt;endif&lt;/pre&gt; Defina 'b:current_syntax' para o nome da sintaxe no final. Não esqueça que&lt;br /&gt;arquivos incluídos fazem isto também, você pode ter que redefinir&lt;br /&gt;'b:current_syntax' se você incluir dois arquivos.&lt;br /&gt;&lt;br /&gt;Se você quiser que seu arquivo de sintaxe funcione com Vim 5.x, adicione um&lt;br /&gt;teste do v:version. Veja 'yacc.vim' por um exemplo.&lt;br /&gt;&lt;br /&gt;Não inclua qualquer coisa que é uma preferencia do usuário. Não, define&lt;br /&gt;'tabstop', 'expandtab', etc. Estes pertencem ao filetype plugin.&lt;br /&gt;&lt;br /&gt;Não inclua mapeamentos ou abreviaçoes. Somente inclua a definição de 'iskeyword'&lt;br /&gt;se for realmente necessária para reconhecimento de palavras-chave.&lt;br /&gt;&lt;br /&gt;Para permitir que os próprios usuários selecionem sua cores preferidas, faça um&lt;br /&gt;nome de grupo diferente para cada tipo de item colorizado. Então associe cada um&lt;br /&gt;deles para um dos grupos de colorização padrão. Isto fará com que trabalhe com&lt;br /&gt;qualquer esquema de cores. &lt;br /&gt;Se você selecionar cores específicas ele irá parecer ruim com alguns esquemas de&lt;br /&gt;cores. E não esqueça que algumas pessoas usam uma cor de fundo diferente, ou só&lt;br /&gt;tem oito cores disponíveis.&lt;br /&gt;&lt;br /&gt;Para a associação use 'hi def link', para que o usuário possa selecionar&lt;br /&gt;colorização diferente antes que seu arquivo de sintaxe seja carregado. Exemplo:&lt;br /&gt;&lt;pre&gt;hi def link nameString  String&lt;br /&gt;hi def link nameNumber  Number&lt;br /&gt;hi def link nameCommand Statement&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;... etc ...&lt;/pre&gt; Adicione o argumento 'display' para itens que não serão usados quando&lt;br /&gt;sincronizando, para acelerar a rolagem para trás e o Ctrl-L.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-8826397935773034694?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/8826397935773034694/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/layout-portavel-de-um-arquivo-de.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8826397935773034694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/8826397935773034694'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/layout-portavel-de-um-arquivo-de.html' title='Layout portável de um arquivo de sintaxe'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-6675635375794884063</id><published>2009-04-17T11:13:00.002-03:00</published><updated>2009-04-18T09:47:26.604-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim script'/><title type='text'>Adicionando novos itens a um arquivo de sintaxe existente</title><content type='html'>Quando um arquivo de sintaxe já existe, mas está faltando alguns itens, você&lt;br /&gt;pode adiciona-los em um arquivo separado.&lt;br /&gt;&lt;br /&gt;Isto evita mudar o arquivo de sintaxe distribuído, o qual seria perdido quando&lt;br /&gt;instalando uma nova versão do Vim.&lt;br /&gt;&lt;br /&gt;Grave os comandos de sintaxe em seu arquivo, possivelmente usando nomes de&lt;br /&gt;grupos da sintaxe existente. Por exemplo, para adicionar novos tipos de&lt;br /&gt;variáveis para o arquivo de sintaxe C:&lt;br /&gt;&lt;pre&gt;:syntax keyword cType off_t uint&lt;/pre&gt; Grave o arquivo com o mesmo nome que o arquivo de sintaxe original. Neste caso&lt;br /&gt;'c.vim'.&lt;br /&gt;Coloque-o em um diretório próximo ao final do 'runtimepath'. Isto faz que seja&lt;br /&gt;carregado depois do arquivo de sintaxe original. No Unix seria:&lt;br /&gt;&lt;pre&gt;~/.vim/after/syntax/c.vim &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-6675635375794884063?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/6675635375794884063/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/adicionando-itens-um-arquivo-de-sintaxe.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/6675635375794884063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/6675635375794884063'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/adicionando-itens-um-arquivo-de-sintaxe.html' title='Adicionando novos itens a um arquivo de sintaxe existente'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-7741285203063930581</id><published>2009-04-17T10:36:00.002-03:00</published><updated>2009-04-17T10:48:28.749-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim script'/><title type='text'>Instalando um novo arquivo de sintaxe</title><content type='html'>Quando seu arquivo de sintaxe estiver pronto, jogue-o em um diretório 'syntax'&lt;br /&gt;no 'runtimepath'. No Unix, isso seria '~/.vim/syntax'.&lt;br /&gt;O nome do arquivo de sintaxe deveria ser igual ao tipo do arquivo, com '.vim'&lt;br /&gt;adicionado. Assim para a linguagem 'x', o path completo do arquivo seria:&lt;br /&gt;&lt;pre&gt;~/.vim/syntax/x.vim&lt;/pre&gt; Você também deve fazer o tipo do arquivo ser conhecido.&lt;br /&gt;&lt;br /&gt;Se o seu arquivo funciona bem, você poderia querer que ele estivesse disponível&lt;br /&gt;para outros usuários Vim.&lt;br /&gt;Após testar bem o arquivo, passe-o por e-mail ao manutendor  do Vim:&lt;br /&gt;&amp;lt;maintainer@vim.org&amp;gt;. Também explique como o tipo do arquivo pode ser detectado.&lt;br /&gt;Com um pouco de sorte seu arquivo pode ser incluído na próxima versão do Vim.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-7741285203063930581?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/7741285203063930581/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/instalando-um-novo-arquivo-de-sintaxe.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7741285203063930581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7741285203063930581'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/instalando-um-novo-arquivo-de-sintaxe.html' title='Instalando um novo arquivo de sintaxe'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-7748976443127877217</id><published>2009-04-17T08:44:00.005-03:00</published><updated>2009-04-17T10:20:46.528-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim script'/><title type='text'>Definindo como será sincronizada a tela no arquivo de sintaxe</title><content type='html'>Os compiladores analisam um arquivo a partir do início. Para o Vim é mais complicado pois deve começar no meio aonde a edição está sendo feita. Então, como ele sabe aonde ele está?&lt;br /&gt;&lt;br /&gt;O segredo é o comando ':syntax sync'. Ele diz ao Vim como descobrir aonde está.&lt;br /&gt;Por exemplo, o comando seguinte diz ao Vim para procurar atrás pelo início&lt;br /&gt;ou fim de um comentário no estilo C e começar a colorização de sintaxe a partir&lt;br /&gt;de lá:&lt;br /&gt;&lt;pre&gt;:syntax sync ccomment&lt;/pre&gt; Você pode ajustar este processamento com alguns argumentos. O argumento&lt;br /&gt;'minlines' diz ao Vim o número mínimo  de linhas para procurar atrás, e&lt;br /&gt;'maxlines' diz ao editor o número máximo de linhas para pesquisar.&lt;br /&gt;&lt;br /&gt;Por exemplo, o seguinte comando diz ao Vim para olhar 10 linhas antes do topo da&lt;br /&gt;tela:&lt;br /&gt;&lt;pre&gt;:syntax sync ccomment minlines=10 maxlines=500&lt;/pre&gt; Se ele não consegue descobrir aonde ele está naquele espaço, ele começa olhar&lt;br /&gt;mais e mais para atrás até que ele descubra o que fazer. Mas ele não olha atrás não mais que 500 linhas. (Um 'maxlines' grande torna lento o processamento. Um&lt;br /&gt;valor pequeno pode causar a sincronização falhar.)&lt;br /&gt;&lt;br /&gt;Para fazer a sincronização um pouco mais rápida, diga ao Vim quais itens de&lt;br /&gt;sintaxe que podem ser pulados. Todo 'match' e 'region' que somente precisa ser usado&lt;br /&gt;quando estiver realmente mostrando o texto pode ser dado o argumento 'display'.&lt;br /&gt;&lt;br /&gt;Por default, o comentário a ser encontrado será colorizado como parte do grupo&lt;br /&gt;de sintaxe 'Comment'. Se você colorizar as coisas de outro modo, você pode&lt;br /&gt;especificar um outro grupo de sintaxe:&lt;br /&gt;&lt;pre&gt;:syntax sync ccomment xAltComment&lt;/pre&gt; Se sua linguagem de programação não tem comentários estilo C dentro dele, você&lt;br /&gt;pode tentar outro modo de sincronização. O modo mais simples é dizer ao Vim para&lt;br /&gt;retornar um número de linhas e tentar descobrir as coisas a partir de lá.&lt;br /&gt;O seguinte comando diz ao Vim para voltar atraś 150 linhas e começar a analisar a&lt;br /&gt;partir de lá:&lt;br /&gt;&lt;pre&gt;:syntax sync minlines=150&lt;/pre&gt; O valor grande de 'minlines' pode fazer o Vim ficar lento, especialmente quando percorrendo  o arquivo para trás.&lt;br /&gt;Finalmente, você pode especificar um grupo de sintaxe a ser procurado usando&lt;br /&gt;este comando:&lt;br /&gt;&lt;pre&gt;:syntax sync match {sync−group−name}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\ grouphere {group−name} {pattern}&lt;/pre&gt; Isto diz ao Vim que quando ele ver o {pattern} o grupo de sintaxe chamado de {group-name} começa exatamente depois do padrão dado.&lt;br /&gt;&lt;br /&gt;O {sync−group−name} é usado para dar um nome para essa especificação de&lt;br /&gt;sincronização. Por exemplo, a linguagem de script 'sh' começa com um comando&lt;br /&gt;&lt;pre&gt;if [ −−f file.txt ] ; then ~&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo "File exists" ~&lt;br /&gt;fi&lt;/pre&gt; Para definir um diretiva 'grouphere' para esta sintaxe, você usa o seguinte&lt;br /&gt;comando:&lt;br /&gt;&lt;pre&gt;:syntax sync match shIfSync grouphere shIf "\&amp;lt;if\&amp;gt;"&lt;/pre&gt; O argumento 'grouphere' diz ao Vim que o padrão termina o grupo. Por exemplo, o&lt;br /&gt;fim do grupo 'if/fi' é o seguinte:&lt;br /&gt;&lt;pre&gt;:syntax sync match shIfSync groupthere NONE "\&amp;lt;fi\&amp;gt;"&lt;/pre&gt; Neste exemplo, o 'NONE' diz ao Vim que você não está em nenhum região especial&lt;br /&gt;de sintaxe. Em particular, você não está num bloco 'if'.&lt;br /&gt;&lt;br /&gt;Você pode também definir matches e regions sem nenhum argumento 'grouphere' ou&lt;br /&gt;'groupthere'.&lt;br /&gt;&lt;br /&gt;Estes grupos são para grupos de sintaxe pulados durante a sincronização. Por&lt;br /&gt;exemplo, o seguinte comando pula pula sobre qualquer coisa dentro de '{}', mesmo se ele normalmente correspondesse com outro método de sincronização:&lt;br /&gt;:syntax sync match xSpecial /{.*}/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-7748976443127877217?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/7748976443127877217/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/definindo-como-sera-sincronizada-tela.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7748976443127877217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7748976443127877217'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/definindo-como-sera-sincronizada-tela.html' title='Definindo como será sincronizada a tela no arquivo de sintaxe'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-1582337323528776045</id><published>2009-04-16T21:10:00.010-03:00</published><updated>2009-04-17T00:10:00.663-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim script'/><title type='text'>Incluindo um arquivo de sintaxe dentro de outro</title><content type='html'>A linguagem C++ é um superconjunto da linguagem C. Como você não vai querer criar dois arquivos de sintaxe, você pode colocar o arquivo de sintaxe do C++ dentro do C com o seguinte comando:&lt;br /&gt;&lt;pre&gt;:runtime! syntax/c.vim&lt;/pre&gt; O comando ':runtime!' procura no 'runtimepath' por todos arquivos 'syntax/c.vim'.&lt;br /&gt;Isto faz a sintaxe C++ ser definida parecida com os arquivos C. &lt;br /&gt;&lt;br /&gt;Se você mudou o arquivo de sintaxe 'c.vim', ou adicionou itens com um arquivo&lt;br /&gt;extra, estes serão carregados também.&lt;br /&gt;&lt;br /&gt;Depois de carregados os itens de sintaxe C os itens específicos de C++ podem ser&lt;br /&gt;definidos. Por exemplo, adicionar palavras-chave que não são usadas no C:&lt;br /&gt;&lt;pre&gt;:syntax keyword cppStatement new delete this friend using&lt;/pre&gt; Isto funciona exatamente como qualquer outro arquivo de sintaxe.&lt;br /&gt;&lt;br /&gt;Agora considere a linguagem Perl. Ela consiste de duas partes distintas: um&lt;br /&gt;parte de documentação no formato POD, e um programa escrito no próprio Perl.&lt;br /&gt;&lt;br /&gt;A seção POD começa com '=head' e termina com '=cut'.&lt;br /&gt;Você quer definir a sintaxe POD em um arquivo, e usa-lo a partir do arquivo&lt;br /&gt;de sintaxe do Perl.&lt;br /&gt;&lt;br /&gt;Para o Perl, os comandos são :&lt;br /&gt;&lt;pre&gt;:syntax include @Pod &amp;lt;sfile&amp;gt;:p:h/pod.vim&lt;br /&gt;:syntax region perlPOD start=/^=head/ end=/^=cut/ contains=@Pod&lt;/pre&gt; Quando '=head' é encontrado em um arquivo Perl, a região 'PerlPOD' começa.&lt;br /&gt;Nesta região o cluster @POD está contido. Todos os itens definidos como itens&lt;br /&gt;nível do topo nos arquivos de sintaxe 'pod.vim' serão localizados aqui. Quando&lt;br /&gt;'=cut' é encontrado, a região termina e nos voltamos para os itens definidos&lt;br /&gt;para o arquivo Perl.&lt;br /&gt;&lt;br /&gt;O comando ':syntax include' é esperto o suficiente para ignorar um comando&lt;br /&gt;':syntax clear' no arquivo incluído. E um argumento tal como 'contains=all'&lt;br /&gt;somente conterão itens definidos no arquivo incluído, não no arquivo que o&lt;br /&gt;inclui.&lt;br /&gt;&lt;br /&gt;A parte '&lt;sfile&gt;:p:h/' usa o nome do arquivo corrente (&amp;lt;sfile&amp;gt;), o expande &lt;br /&gt;o path completo (:p), e então tira a parte da frente (:head).&lt;br /&gt; &lt;br /&gt;Isto resulta no nome do diretório do arquivo. Isto faz com que o arquivo 'pod.vim'&lt;br /&gt;no mesmo diretório seja incluído.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-1582337323528776045?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/1582337323528776045/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/linguagem-c-e-um-superconjunto-da.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1582337323528776045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/1582337323528776045'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/linguagem-c-e-um-superconjunto-da.html' title='Incluindo um arquivo de sintaxe dentro de outro'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-7745672006692253003</id><published>2009-04-16T19:08:00.001-03:00</published><updated>2009-04-16T21:04:19.625-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim script'/><title type='text'>Simplificando definições de item com clusters no arquivo de sintaxe</title><content type='html'>Uma das coisas que você notará quando começar a escrever um arquivo de sintaxe&lt;br /&gt;você acabará gerando um monte de grupos de sintaxe. O Vim permite que você&lt;br /&gt;defina uma coleção de grupos de sintaxe chamada de 'cluster'.&lt;br /&gt;&lt;br /&gt;Suponha que você tem uma linguagem que contém loops 'for', comandos 'if', loops&lt;br /&gt;'while', e funções. Cada uma delas contém os mesmos elementos de sintaxe:&lt;br /&gt;números e identificadores. Você define-os assim:&lt;br /&gt;&lt;pre&gt;:syntax match xFor /^for.*/ contains=xNumber,xIdent&lt;br /&gt;:syntax match xIf /^if.*/ contains=xNumber,xIdent&lt;br /&gt;:syntax match xWhile /^while.*/ contains=xNumber,xIdent&lt;/pre&gt; Você tem que repetir a mesma clausula 'contains=' a cada vez. Se você quiser&lt;br /&gt;adicionar outro item contido, você tem que adiciona-lo três vezes. Os clusters&lt;br /&gt;de sintaxe simplificam esta definições ao permitir que você tenha um cluster&lt;br /&gt;pronto para diversos grupos de sintaxe.&lt;br /&gt;&lt;br /&gt;Para definir um cluster para os dois itens que os três grupos contém, use o&lt;br /&gt;seguinte comando:&lt;br /&gt;&lt;pre&gt;:syntax cluster xState contains=xNumber,xIdent&lt;/pre&gt; Os clusters são usados dentro de outros itens de sintaxe exatamente como&lt;br /&gt;qualquer outro grupo de sintaxe.&lt;br /&gt;Seus nomes começam com '@'. Assim, você pode definir os três grupos assim:&lt;br /&gt;&lt;pre&gt;:syntax match xFor /^for.*/ contains=@xState&lt;br /&gt;:syntax match xIf /^if.*/ contains=@xState&lt;br /&gt;:syntax match xWhile /^while.*/ contains=@xState&lt;/pre&gt; Você pode adicionar novos nomes de grupo para este cluster com o argumento&lt;br /&gt;'add':&lt;br /&gt;&lt;pre&gt;:syntax cluster xState add=xString&lt;/pre&gt; Você pode remover grupos de sintaxe desta lista também:&lt;br /&gt;&lt;pre&gt;:syntax cluster xState remove=xNumber&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-7745672006692253003?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/7745672006692253003/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/simplificando-definicoes-de-item-com.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7745672006692253003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7745672006692253003'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/simplificando-definicoes-de-item-com.html' title='Simplificando definições de item com clusters no arquivo de sintaxe'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-2206097206193274965</id><published>2009-04-16T13:50:00.003-03:00</published><updated>2009-04-16T15:12:34.283-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim script'/><title type='text'>Definindo item com ou sem linha de continuação no arquivo de sintaxe</title><content type='html'>Vamos definir uma linha de um preprocessador.&lt;br /&gt;Isto começa com um '#' na primeira coluna e segue até o final da linha. Uma&lt;br /&gt;linha que termina com '\' faz a próxima linha ser uma linha de continuação.&lt;br /&gt;&lt;br /&gt;O modo que você trata isso é permitindo o item de sintaxe conter um padrão de&lt;br /&gt;continuação:&lt;br /&gt;&lt;pre&gt;:syntax region xPreProc start=/^#/ end=/$/ contains=xLineContinue&lt;br /&gt;:syntax match xLineContinue "\\$" contained&lt;/pre&gt; Neste caso, embora 'xPreProc' normalmente normalmente obtém um única linha, o&lt;br /&gt;grupo contido nele (chamado de 'xLineContinue') permite-o ir para mais de uma&lt;br /&gt;linha.&lt;br /&gt;Por exemplo, ele irá localizar ambas dessas linhas:&lt;br /&gt;&lt;pre&gt;#define SPAM spam spam spam \ ~&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bacon and spam ~&lt;/pre&gt; Neste caso, isto é o que você quer. Se não é isso que você quer, você pode pedir&lt;br /&gt;para que a região esteja em uma única linha adicionando 'excludenl' para o&lt;br /&gt;padrão contido.&lt;br /&gt;Por exemplo, você quer colorir 'end' em 'xPreProc', mas somente no final da&lt;br /&gt;linha.&lt;br /&gt;Para evitar que 'xPreProc' continue na próxima linha, como 'xLineContinue' faz,&lt;br /&gt;use 'excludenl' assim:&lt;br /&gt;&lt;pre&gt;:syntax region xPreProc start=/^#/ end=/$/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\ contains=xLineContinue,xPreProcEnd&lt;br /&gt;:syntax match xPreProcEnd excludenl /end$/ contained&lt;br /&gt;:syntax match xLineContinue "\\$" contained&lt;/pre&gt; 'excludenl' deve ser posto  antes do padrão. Desde que 'xLineContinue' não tem&lt;br /&gt;'excludenl', um ocorrência dele estende 'xPreProc' para a próxima linha como&lt;br /&gt;antes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-2206097206193274965?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/2206097206193274965/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/definindo-item-com-ou-sem-linha-de.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2206097206193274965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/2206097206193274965'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/definindo-item-com-ou-sem-linha-de.html' title='Definindo item com ou sem linha de continuação no arquivo de sintaxe'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-7544564654914841932</id><published>2009-04-16T13:39:00.001-03:00</published><updated>2009-04-16T13:46:39.933-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim script'/><title type='text'>Definindo uma região que não ultrapasse uma linha no arquivo de sintaxe.</title><content type='html'>O argumento 'oneline' indica que a região não cruza um limite de linha. &lt;br /&gt;Por exemplo:&lt;br /&gt;&lt;pre&gt;:syntax region xIfThen start=/if/ end=/then/ oneline&lt;/pre&gt; Isto define uma região que começa em um 'if' e termina em um 'then'. Mas se não&lt;br /&gt;existe nenhum 'then' após o 'if', a região não obtém uma ocorrência.&lt;br /&gt;&lt;br /&gt;Nota:&lt;br /&gt;Quando usando 'oneline' a região não começa se o padrão 'end' não obtém&lt;br /&gt;ocorrência na mesma linha. Sem 'oneline' o Vim não verifica se existe uma&lt;br /&gt;ocorrência para o padrão 'end'. A região começa mesmo que o padrão 'end' não&lt;br /&gt;obtém ocorrência no resto do arquivo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-7544564654914841932?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/7544564654914841932/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/definindo-uma-regiao-que-nao-ultrapasse.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7544564654914841932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7544564654914841932'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/definindo-uma-regiao-que-nao-ultrapasse.html' title='Definindo uma região que não ultrapasse uma linha no arquivo de sintaxe.'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-5828199936700885703</id><published>2009-04-16T12:26:00.002-03:00</published><updated>2009-04-16T12:51:15.071-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim script'/><title type='text'>Definindo colorização de item por deslocamentos na região no arquivo de sintaxe</title><content type='html'>Suponha que você quer definir um região para o texto entre '(' e ')' depois de&lt;br /&gt;um 'if'. &lt;br /&gt;Mas você não quer incluir o 'if' ou o '(' e ')'. Você pode fazer isso&lt;br /&gt;especificando 'offsets' (deslocamentos) para os padrões:&lt;br /&gt;&lt;pre&gt;:syntax region xCond start=/if\s*(/ms=e+1 end=/)/me=s−1&lt;/pre&gt; O deslocamento para o padrão 'start' é 'ms=e+1'. 'ms' significa 'Match Start'. Isto&lt;br /&gt;define um deslocamento para o início da ocorrência do texto. Normalmente a&lt;br /&gt;ocorrência começa aonde o padrão localiza. 'e+1' significa que a ocorrência&lt;br /&gt;agora começa no final que o padrão localizou, e então um carácter a mais.&lt;br /&gt;O deslocamento para o final do padrão é 'me=s-1'. 'me' significa 'Match End'.&lt;br /&gt;'s-1' significa o início que o padrão localizou e então um carácter a menos. &lt;br /&gt;O resultado neste texto :&lt;br /&gt;&lt;pre&gt;if (foo == bar)&lt;/pre&gt; Somente 'foo == bar' será colorizado como 'xCond'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-5828199936700885703?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/5828199936700885703/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/definindo-colorizacao-de-item-por-meio.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/5828199936700885703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/5828199936700885703'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/definindo-colorizacao-de-item-por-meio.html' title='Definindo colorização de item por deslocamentos na região no arquivo de sintaxe'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-7729883620411602974</id><published>2009-04-16T10:09:00.003-03:00</published><updated>2009-04-16T12:23:18.305-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim script'/><title type='text'>Definindo um item com a colorização do item que o contém no arquivo de sintaxe</title><content type='html'>Em um arquivo na linguagem C você gostaria de colorir o texto '()' depois de um&lt;br /&gt;'while' diferente do texto '()' depois de 'for'.&lt;br /&gt;&lt;br /&gt;Em ambos casos, podem existir itens '()' aninhados, os quais deveriam ser&lt;br /&gt;coloridos do mesmo modo.&lt;br /&gt;&lt;br /&gt;Você deve ter certeza que a colorização pare no ')' correspondente. &lt;br /&gt;Este é um modo de fazer isso:&lt;br /&gt;&lt;pre&gt;:syntax region cWhile matchgroup=cWhile start=/while\s*(/ end=/)/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\ contains=cCondNest&lt;br /&gt;:syntax region cFor matchgroup=cFor start=/for\s*(/ end=/)/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\ contains=cCondNest&lt;br /&gt;:syntax region cCondNest start=/(/ end=/)/ contained transparent&lt;/pre&gt; Agora você pode dar 'cWhile' e 'cFor' uma colorização diferente. 'cCondNest'&lt;br /&gt;pode aparecer em qualquer um deles, mas ele leva a colorização do item em que&lt;br /&gt;está contido.&lt;br /&gt;O argumento 'transparent' faz isso.&lt;br /&gt;&lt;br /&gt;Note que o argumento 'matchgroup' tem o mesmo grupo que o próprio item. Porque&lt;br /&gt;defini-lo então? O efeito secundário de usar um 'matchgroup' é que os itens&lt;br /&gt;contidos não são encontrados encontrados no padrão com o item 'start'.&lt;br /&gt;&lt;br /&gt;Isto evita que o grupo 'cCondNest' encontre o '(' bem após o 'while' ou o 'for'.&lt;br /&gt;Se isto tivesse acontecido, ele iria se expandir o texto todo até encontrar ')'&lt;br /&gt;e a região continuaria após ele. &lt;br /&gt;&lt;br /&gt;Agora 'cCondNest' somente irá localizar após o padrão start, assim depois do primeiro '('.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-7729883620411602974?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/7729883620411602974/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/definindo-um-item-com-colorizacao-do.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7729883620411602974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/7729883620411602974'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/definindo-um-item-com-colorizacao-do.html' title='Definindo um item com a colorização do item que o contém no arquivo de sintaxe'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-90006102996913037.post-6808867090843942066</id><published>2009-04-15T18:49:00.007-03:00</published><updated>2009-04-16T10:06:51.448-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim script'/><title type='text'>Definindo a colorização de itens diferente da região que os contém em um arquivo de sintaxe</title><content type='html'>Quando você define uma região, a região inteira é colorida de acordo com o nome&lt;br /&gt;do grupo especificado. &lt;br /&gt;Para colorir o texto entre parenteses com o grupo 'xInside', por exemplo, use o&lt;br /&gt;seguinte comando:&lt;br /&gt;&lt;pre&gt;:syntax region xInside start=/(/ end=/)/&lt;/pre&gt; Suponha que você quer colorir os parenteses de modo diferente. Você pode fazer isso&lt;br /&gt;com um monte de comandos 'region' misturados, ou pode usar o argumento&lt;br /&gt;'matchgroup'.&lt;br /&gt;&lt;br /&gt;O código a seguir, diz ao Vim para colorir o início e fim de uma região com um grupo de&lt;br /&gt;colorização diferente (neste caso, o grupo 'xParen'):&lt;br /&gt;&lt;pre&gt;:syntax region xInside matchgroup=xParen start=/(/ end=/)/&lt;/pre&gt; O argumento 'matchgroup' aplica aos padrões 'start' ou 'end' que vem depois dele.&lt;br /&gt;No exemplo anterior, tanto 'start' ou 'end' são coloridos com 'xParen'. Para&lt;br /&gt;colorir o final com 'xParenEnd':&lt;br /&gt;&lt;pre&gt;:syntax region xInside matchgroup=xParen start=/(/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\ matchgroup=xParenEnd end=/)/&lt;/pre&gt; Um efeito secundário de usar 'matchgroup' é que os itens contidos não serão&lt;br /&gt;localizados no início ou fim da região.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/90006102996913037-6808867090843942066?l=vim-anotacoes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vim-anotacoes.blogspot.com/feeds/6808867090843942066/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/quando-voce-define-uma-regiao-regiao.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/6808867090843942066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/90006102996913037/posts/default/6808867090843942066'/><link rel='alternate' type='text/html' href='http://vim-anotacoes.blogspot.com/2009/04/quando-voce-define-uma-regiao-regiao.html' title='Definindo a colorização de itens diferente da região que os contém em um arquivo de sintaxe'/><author><name>Gamont</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
