<chapter id="vi-input-mode-chapter">
<chapterinfo>
<authorgroup>
<author
><firstname
>Erlend</firstname
> <surname
>Hamberg</surname
> <email
>ehamberg@gmail.com</email
></author>
<othercredit role="translator"
><firstname
>Marcus</firstname
><surname
>Gama</surname
><affiliation
><address
><email
>marcus.gama@gmail.com</email
></address
></affiliation
><contrib
>Tradução</contrib
></othercredit
> 
</authorgroup>
</chapterinfo>

<title
>O Modo de entrada do VI</title>

<sect1 id="vi-mode-sect1">
<title
>Modo de entrada do VI</title>

<para
>O objetivo do modo VI não é ser um substituto completo para o Vim e suportar todas as funcionalidades do Vim. O objetivo é tornar o <quote
>jeito Vim</quote
> de edição de texto - e os hábitos Vim aprendidos - disponíveis para os programas que usam o editor de texto do &kate; como seu editor interno.</para>

<para
>O modo VI busca integrar-se de maneira transparente aos programas e se afastar do comportamento do Vim onde isto faz sentido. Por exemplo, <userinput
><command
>:w</command
></userinput
> abrirá uma janela para salvar no modo VI do &kate;.</para>

<para
>Para ativar o modo de entrada VI para todas as novas visualizações, vá para <menuchoice
><guimenu
>Configurações</guimenu
><guimenuitem
>Configurar o &kate;...</guimenuitem
> <guimenu
>Edição</guimenu
><guimenuitem
>Modo de entrada VI</guimenuitem
></menuchoice
>. Nesta página você pode definir opções para o Modo de entrada VI e definir e editar o mapeamento de teclado neste modo. O Modo de entrada VI pode também ser alternado com a configuração <guimenuitem
>Modo de entrada VI</guimenuitem
> no menu <guimenu
>Editar</guimenu
>. (O atalho de teclado padrão é <keycombo action="simul"
><keysym
>Meta</keysym
>&Ctrl;<keycap
>V</keycap
></keycombo
> - onde o <keysym
>Meta</keysym
> é normalmente a tecla <keysym
>Windows</keysym
>).</para>

<sect2 id="vi-incompatibilities">
<title
>Incompatibilidades com o Vim</title>

<para
>Existem algumas poucas funcionalidades do modo VI do &kate; que são incompatíveis com o Vim (sem contar as que estão faltando). Elas estão listadas abaixo juntamente com os motivos para esta incompatibilidade.</para>
<itemizedlist>
<listitem>
<para
>&kate;: o <keycap
>U</keycap
> e o <keycombo action="simul"
>&Ctrl;<keycap
>R</keycap
></keycombo
> são o 'Refazer'.</para>
<para
>Vim: <keycombo action="simul"
>&Ctrl;<keycap
>R</keycap
></keycombo
> é o 'refazer' normal, enquanto o <keycap
>U</keycap
> é usado para anular todas as últimas alterações numa linha.</para>
<para
>O motivo para ter a ação <keycap
>U</keycap
> como refazer no modo VI do &kate; é que o atalho <keycombo action="simul"
>&Ctrl;<keycap
>R</keycap
></keycombo
> por padrão é usado pela função substituir do &kate; (localizar e substituir). Por padrão, o modo VI não se sobrepõe aos atalhos do &kate; (isto pode ser configurado em <menuchoice
><guimenu
>Configurações</guimenu
><guimenuitem
>Configurar o &kate;...</guimenuitem
> <guimenu
>Edição</guimenu
><guimenuitem
>Modo de entrada VI</guimenuitem
></menuchoice
>), assim a ação de refazer precisa estar disponível como uma tecla <quote
>normal</quote
>. Além disso, o comportamento do comando <keycap
>U</keycap
> no Vim não corresponde exatamente ao sistema de refazer interno do &kate;, assim isto seria um suporte não tão trivial de qualquer maneira.</para>
</listitem>
<listitem>
<para
>&kate;: <userinput
><command
>print</command
></userinput
> mostra a janela <guilabel
>Imprimir</guilabel
>.</para>
<para
>Vim: <userinput
><command
>print</command
></userinput
> imprime as linhas de um determinado intervalo como seu avô, o 'ed'.</para>
<para
>Comandos como <userinput
><command
>:print</command
></userinput
> estão disponíveis não somente no modo VI para usuários que usam o &kate; <quote
>normal</quote
> também - assim, o comando <userinput
><command
>:print</command
></userinput
> abre a janela de impressão - seguindo o princípio da menor surpresa ao invés de simplesmente imitar o comportamento do Vim.</para>
</listitem>
<listitem>
<para
>&kate;: <keycap
>Y</keycap
> copia até o fim da linha.</para>
<para
>Vim: <keycap
>Y</keycap
> copia toda a linha, como no <keycap
>y</keycap
><keycap
>y</keycap
>.</para>
<para
>O comportamento do VI para o comando <keycap
>Y</keycap
> é na prática um erro. Para os comandos 'change' e 'delete', <keycap
>c</keycap
><keycap
>c</keycap
>/ <keycap
>d</keycap
><keycap
>d</keycap
> fará esta ação na linha atual e <keycap
>C</keycap
>/<keycap
>D</keycap
> funcionará da coluna do cursor até o final da linha. No entanto, <keycap
>y</keycap
><keycap
>y</keycap
> e <keycap
>Y</keycap
> copia a linha atual. No Modo VI do &kate;, <keycap
>Y</keycap
> copia até o fim da linha. Isto é considerado <quote
>mais lógico</quote
> na <ulink url="http://vimdoc.sourceforge.net/htmldoc/change.html#Y"
>documentação</ulink
> do Vim. </para>
</listitem>
<listitem>
<para
>&kate;: <keycap
>O</keycap
> e <keycap
>o</keycap
> abre [<replaceable
>tantas</replaceable
>] novas linhas e entra no modo de inserção.</para>
<para
>Vim: <keycap
>O</keycap
> e <keycap
>o</keycap
> abre uma nova linha e insere o texto [<replaceable
>tantas</replaceable
>] vezes ao deixar o modo de inserção.</para>
<para
>Isto é normalmente feito como uma consequência de se observar muitas pessoas confusas com este comportamento no canal IRC do vim (#vim no freenode).</para>
</listitem>
</itemizedlist>
 
</sect2>

<sect2 id="vi-switching-modes">
<title
>Alternando modos</title>

<itemizedlist>
<listitem>
<para
><emphasis
>Modo Normal</emphasis
> permite que você insira comandos para navegar ou editar um documento, sendo o modo padrão. Você pode retornar à ele a partir de outro modo pressionando &Esc;. </para
></listitem>
<listitem>
<para
><emphasis
>Modo Visual</emphasis
> permite que você selecione texto em um documento. A maioria dos comandos do Modo Normal são também válidos neste modo. Você pode entrar nele pressionando <keycap
>v</keycap
> para selecionar caracteres ou <keycap
>V</keycap
> para selecionar linhas. </para
></listitem>
<listitem>
<para
><emphasis
>Modo Inserção</emphasis
> permite que você edite o documento diretamente. Você pode entrar nele pressionando <keycap
>i</keycap
> ou um dos vários comandos listados abaixo. </para
></listitem>
<listitem>
<para
><emphasis
>Modo Comando</emphasis
> permite que você execute determinados comandos. Pressione <keycap
>:</keycap
>, insira o comando e pressione &Enter;.</para>
</listitem>
</itemizedlist>
<!-- add a picture like http://de.wikipedia.org/wiki/Vi#Arbeitsmodi here? -->
</sect2>

<sect2 id="vi-normal-visual-mode-commands">
<title
>Comandos suportados nos modos normal/visual</title>

<informaltable>
<tgroup cols="2">
<!--thead>
<row>
<entry
><para
>Key</para
></entry>
<entry
><para
>Command</para
></entry>
</row>
</thead-->
<tbody>
<row
><entry
><para
><keycap
>a</keycap
></para
></entry>
<entry
><para
>Entra no Modo Inserção; adiciona após o cursor</para
></entry>
</row>
<row
><entry
><para
><keycap
>A</keycap
></para
></entry>
<entry
><para
>Entra no Modo Inserção; adiciona após a linha</para
></entry>
</row>
<row
><entry
><para
><keycap
>i</keycap
></para
></entry>
<entry
><para
>Entra no Modo Inserção; insere antes do cursor</para
></entry>
</row>
<row
><entry
><para
><keycap
>v</keycap
></para
></entry>
<entry
><para
>Entra no Modo Visual; seleciona caracteres</para
></entry>
</row>
<row
><entry
><para
><keycap
>V</keycap
></para
></entry>
<entry
><para
>Entra no Modo Visual; seleciona linhas</para
></entry>
</row>
<row
><entry
><para
><keycap
>o</keycap
></para
></entry>
<entry
><para
>Abre uma nova linha abaixo da linha atual</para
></entry>
</row>
<row
><entry
><para
><keycap
>O</keycap
></para
></entry>
<entry
><para
>Abre uma nova linha acima da linha atual</para
></entry>
</row>
<row
><entry
><para
><keycap
>J</keycap
></para
></entry>
<entry
><para
>Junta linhas</para
></entry>
</row>
<row
><entry
><para
><keycap
>c</keycap
></para
></entry>
<entry
><para
>Muda: seguido de um deslocamento para excluir e entrar no Modo Inserção</para
></entry>
</row>
<row
><entry
><para
><keycap
>C</keycap
></para
></entry>
<entry
><para
>Muda até o final da linha: Exclui até o final da linha e entre na Modo Inserção</para
></entry>
</row>
<row
><entry
><para
><keycap
>c</keycap
><keycap
>c</keycap
></para
></entry>
<entry
><para
>Muda a linha: Exclui a linha e entre no Modo Inserção</para
></entry>
</row>
<row
><entry
><para
><keycap
>s</keycap
></para
></entry>
<entry
><para
>Substitui caractere</para
></entry>
</row>
<row
><entry
><para
><keycap
>S</keycap
></para
></entry>
<entry
><para
>Substitui linha</para
></entry>
</row>
<row
><entry
><para
><keycap
>d</keycap
><keycap
>d</keycap
></para
></entry>
<entry
><para
>Excluir linha</para
></entry>
</row>
<row
><entry
><para
><keycap
>d</keycap
></para
></entry>
<entry
><para
>Seguido de deslocamento para excluir</para
></entry>
</row>
<row
><entry
><para
><keycap
>D</keycap
></para
></entry>
<entry
><para
>Exclui até o fim da linha</para
></entry>
</row>
<row
><entry
><para
><keycap
>x</keycap
></para
></entry>
<entry
><para
>Exclui caractere à direita do cursor</para
></entry>
</row>
<row
><entry
><para
><keycap
>X</keycap
></para
></entry>
<entry
><para
>Exclui caractere à esquerda do cursor</para
></entry>
</row>
<row
><entry
><para
><keycap
>g</keycap
><keycap
>u</keycap
></para
></entry>
<entry
><para
>Seguido com um deslocamento para transformar em minúsculas</para
></entry>
</row>
<row
><entry
><para
><keycap
>g</keycap
><keycap
>u</keycap
><keycap
>u</keycap
></para
></entry>
<entry
><para
>Transforma a linha atual em minúsculas</para
></entry>
</row>
<row
><entry
><para
><keycap
>g</keycap
><keycap
>U</keycap
></para
></entry>
<entry
><para
>Seguido de um deslocamento para tornar maiúsculas</para
></entry>
</row>
<row
><entry
><para
><keycap
>g</keycap
><keycap
>U</keycap
><keycap
>U</keycap
></para
></entry>
<entry
><para
>Transforma a linha atual em maiúsculas</para
></entry>
</row>
<row
><entry
><para
><keycap
>y</keycap
></para
></entry>
<entry
><para
>Seguido de um deslocamento para copiar (do termo em inglês <quote
>yank</quote
></para
></entry>
</row>
<row
><entry
><para
><keycap
>y</keycap
><keycap
>y</keycap
></para
></entry>
<entry
><para
>Copia (do termo em inglês) a linha</para
></entry>
</row>
<row
><entry
><para
><keycap
>Y</keycap
></para
></entry>
<entry
><para
>Copia (do termo em inglês) a linha</para
></entry>
</row>
<row
><entry
><para
><keycap
>p</keycap
></para
></entry>
<entry
><para
>Colar após o cursor</para
></entry>
</row>
<row
><entry
><para
><keycap
>P</keycap
></para
></entry>
<entry
><para
>Colar antes do cursor</para
></entry>
</row>
<row
><entry
><para
><keycap
>r</keycap
></para
></entry>
<entry
><para
>Seguido de um caractere para substituir o caractere após o cursor</para
></entry>
</row>
<row
><entry
><para
><keycap
>:</keycap
></para
></entry>
<entry
><para
>Entra no Modo Comando</para
></entry>
</row>
<row
><entry
><para
><keycap
>/</keycap
></para
></entry>
<entry
><para
>Procurar</para
></entry>
</row>
<row
><entry
><para
><keycap
>u</keycap
></para
></entry>
<entry
><para
>Desfazer</para
></entry>
</row>
<row
><entry
><para
><keycombo action="simul"
>&Ctrl;<keycap
>r</keycap
></keycombo
></para
></entry>
<entry
><para
>Refazer</para
></entry>
</row>
<row
><entry
><para
><keycap
>U</keycap
></para
></entry>
<entry
><para
>Refazer</para
></entry>
</row>
<row
><entry
><para
><keycap
>m</keycap
></para
></entry>
<entry
><para
>Definir marcador (pode ser usado por deslocamentos mais tarde)</para
></entry>
</row>
<row
><entry
><para
><keycap
>n</keycap
></para
></entry>
<entry
><para
>Localizar próxima</para
></entry>
</row>
<row
><entry
><para
><keycap
>N</keycap
></para
></entry>
<entry
><para
>Localizar anterior</para
></entry>
</row>
<row
><entry
><para
><keycap
>&gt;</keycap
><keycap
>&gt;</keycap
></para
></entry>
<entry
><para
>Recuar linha</para
></entry>
</row>
<row
><entry
><para
><keycap
>&lt;</keycap
><keycap
>&lt;</keycap
></para
></entry>
<entry
><para
>Remover recuo da linha</para
></entry>
</row>
<row
><entry
><para
><keycap
>&gt;</keycap
></para
></entry>
<entry
><para
>Recuar linhas</para
></entry>
</row>
<row
><entry
><para
><keycap
>&lt;</keycap
></para
></entry>
<entry
><para
>Remover recuos da linhas</para
></entry>
</row>
<row
><entry
><para
><keycombo action="simul"
>&Ctrl;<keycap
>f</keycap
></keycombo
></para
></entry>
<entry
><para
>Página abaixo</para
></entry>
</row>
<row
><entry
><para
><keycombo action="simul"
>&Ctrl;<keycap
>b</keycap
></keycombo
></para
></entry>
<entry
><para
>Página acima</para
></entry>
</row>
<row
><entry
><para
><keycap
>g</keycap
><keycap
>a</keycap
></para
></entry>
<entry
><para
>Imprimir o valor ASCII do caractere</para
></entry>
</row>
<row
><entry
><para
><keycap
>.</keycap
></para
></entry>
<entry
><para
>Repetir última mudança</para
></entry>
</row>
<row
><entry
><para
><keycap
>=</keycap
><keycap
>=</keycap
></para
></entry>
<entry
><para
>comandoAlinharLinha</para
></entry>
</row>
<row
><entry
><para
><keycap
>=</keycap
></para
></entry>
<entry
><para
>comandoAlinharLinhas</para
></entry>
</row>
<row
><entry
><para
><keycap
>~</keycap
></para
></entry>
<entry
><para
>Muda a caixa (maiúscula ou minúscula) do caractere atual</para
></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>

<sect2 id="vi-supported-motions">
<title
>Movimentos suportados</title>

<para
>As teclas a seguir podem ser usadas para mover-se em um documento no modo Normal ou Visual, ou em conjunção com um dos comandos acima. Elas podem ser precedidas por um número, que indica quantas vezes o referido movimento será feito.</para>

<informaltable>
<tgroup cols="2">
<!--thead>
<row>
<entry
><para
>Key</para
></entry>
<entry
><para
>Command</para
></entry>
</row>
</thead-->
<tbody>
<row
><entry
><para
><keycap
>h</keycap
></para
></entry>
<entry
><para
>Esquerda</para
></entry>
</row>
<row
><entry
><para
><keysym
>Esquerda</keysym
></para
></entry>
<entry
><para
>Esquerda</para
></entry>
</row>
<row
><entry
><para
>&Backspace;</para
></entry>
<entry
><para
>Esquerda</para
></entry>
</row>
<row
><entry
><para
><keycap
>j</keycap
></para
></entry>
<entry
><para
>Abaixo</para
></entry>
</row>
<row
><entry
><para
><keysym
>Abaixo</keysym
></para
></entry>
<entry
><para
>Abaixo</para
></entry>
</row>
<row
><entry
><para
><keycap
>k</keycap
></para
></entry>
<entry
><para
>Acima</para
></entry>
</row>
<row
><entry
><para
><keysym
>Acima</keysym
></para
></entry>
<entry
><para
>Acima</para
></entry>
</row>
<row
><entry
><para
><keycap
>l</keycap
></para
></entry>
<entry
><para
>Direita</para
></entry>
</row>
<row
><entry
><para
><keysym
>Direita</keysym
></para
></entry>
<entry
><para
>Direita</para
></entry>
</row>
<row
><entry
><para
><keysym
>Espaço</keysym
></para
></entry>
<entry
><para
>Direita</para
></entry>
</row>
<row
><entry
><para
><keycap
>$</keycap
></para
></entry>
<entry
><para
>Fim da linha</para
></entry>
</row>
<row
><entry
><para
><keycap
>End</keycap
></para
></entry>
<entry
><para
>Fim da linha</para
></entry>
</row>
<row
><entry
><para
><keycap
>0</keycap
></para
></entry>
<entry
><para
>Primeiro caractere da linha (Coluna 0)</para
></entry>
</row>
<row
><entry
><para
><keycap
>Início</keycap
></para
></entry>
<entry
><para
>Primeiro caractere da linha</para
></entry>
</row>
<row
><entry
><para
><keycap
>^</keycap
></para
></entry>
<entry
><para
>Primeiro caractere não vazio da linha</para
></entry>
</row>
<row
><entry
><para
><keycap
>f</keycap
></para
></entry>
<entry
><para
>Seguido pelo caractere para mover para direita do cursor</para
></entry>
</row>
<row
><entry
><para
><keycap
>F</keycap
></para
></entry>
<entry
><para
>Seguido pelo caractere para mover para esquerda do cursor</para
></entry>
</row>
<row
><entry
><para
><keycap
>t</keycap
></para
></entry>
<entry
><para
>Seguido pelo caractere para mover para direita do cursor, colocando o cursor no caractere antes dele</para
></entry>
</row>
<row
><entry
><para
><keycap
>T</keycap
></para
></entry>
<entry
><para
>Seguido pelo caractere para mover para esquerda do cursor, colocando o cursor no caractere antes dele</para
></entry>
</row>
<row
><entry
><para
><keycap
>g</keycap
><keycap
>g</keycap
></para
></entry>
<entry
><para
>Primeira linha</para
></entry>
</row>
<row
><entry
><para
><keycap
>G</keycap
></para
></entry>
<entry
><para
>Última linha</para
></entry>
</row>
<row
><entry
><para
><keycap
>w</keycap
></para
></entry>
<entry
><para
>Próxima palavra</para
></entry>
</row>
<row
><entry
><para
><keycap
>W</keycap
></para
></entry>
<entry
><para
>Próxima palavra separada por espaço em branco</para
></entry>
</row>
<row
><entry
><para
><keycap
>b</keycap
></para
></entry>
<entry
><para
>Palavra anterior</para
></entry>
</row>
<row
><entry
><para
><keycap
>B</keycap
></para
></entry>
<entry
><para
>Palavra anterior separada por espaço em branco</para
></entry>
</row>
<row
><entry
><para
><keycap
>e</keycap
></para
></entry>
<entry
><para
>Fim da palavra</para
></entry>
</row>
<row
><entry
><para
><keycap
>E</keycap
></para
></entry>
<entry
><para
>Fim da palavra separada por espaço em branco</para
></entry>
</row>
<row
><entry
><para
><keycap
>g</keycap
><keycap
>e</keycap
></para
></entry>
<entry
><para
>Fim da palavra anterior</para
></entry>
</row>
<row
><entry
><para
><keycap
>g</keycap
><keycap
>E</keycap
></para
></entry>
<entry
><para
>Fim da palavra anterior separada por espaço em branco</para
></entry>
</row>
<row
><entry
><para
><keycap
>|</keycap
></para
></entry>
<entry
><para
>Seguido de um número de coluna para mover para esta coluna</para
></entry>
</row>
<row
><entry
><para
><keycap
>%</keycap
></para
></entry>
<entry
><para
>Seguido por um item para mover para este item</para
></entry>
</row>
<row
><entry
><para
><keycap
>`</keycap
></para
></entry>
<entry
><para
>Marca</para
></entry>
</row>
<row
><entry
><para
><keycap
>‘</keycap
></para
></entry>
<entry
><para
>Marca o primeiro caractere não em branco da linha</para
></entry>
</row>
<row
><entry
><para
><keycap
>[</keycap
><keycap
>[</keycap
></para
></entry>
<entry
><para
>Colchete de abertura anterior</para
></entry>
</row>
<row
><entry
><para
><keycap
>]</keycap
><keycap
>]</keycap
></para
></entry>
<entry
><para
>Próximo colchete de abertura</para
></entry>
</row>
<row
><entry
><para
><keycap
>[</keycap
><keycap
>]</keycap
></para
></entry>
<entry
><para
>Colchete de fechamento anterior</para
></entry>
</row>
<row
><entry
><para
><keycap
>]</keycap
><keycap
>[</keycap
></para
></entry>
<entry
><para
>Próximo colchete de fechamento</para
></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>

<sect2 id="vi-supported-text-objects">
<title
>Objetos de texto suportados</title>

<para
>Estes objetos podem ser usados para selecionar determinadas porções de um documento.</para>

<informaltable>
<tgroup cols="2">
<!--thead>
<row>
<entry
><para
>Key</para
></entry>
<entry
><para
>Command</para
></entry>
</row>
</thead-->
<tbody>
<row
><entry
><para
><keycap
>i</keycap
><keycap
>w</keycap
></para
></entry>
<entry
><para
>Palavra interna: palavra incluindo espaços em branco</para
></entry>
</row>
<row
><entry
><para
><keycap
>a</keycap
><keycap
>w</keycap
></para
></entry>
<entry
><para
>Uma palavra: palavra excluindo espaços em branco</para
></entry>
</row>
<row
><entry
><para
><keycap
>i</keycap
><keycap
>"</keycap
></para
></entry>
<entry
><para
>Aspas duplas (<userinput
>"</userinput
>) anterior até as próximas aspas duplas, incluindo marcas de citação</para
></entry>
</row>
<row
><entry
><para
><keycap
>a</keycap
><keycap
>”</keycap
></para
></entry>
<entry
><para
>Aspas duplas (<userinput
>"</userinput
>) anterior até as próximas aspas duplas, excluindo marcas de citação</para
></entry>
</row>
<row
><entry
><para
><keycap
>i</keycap
><keycap
>'</keycap
></para
></entry>
<entry
><para
>Aspas simples (<userinput
>'</userinput
>) anterior até as próximas aspas simples, incluindo marcas de citação</para
></entry>
</row>
<row
><entry
><para
><keycap
>a</keycap
><keycap
>'</keycap
></para
></entry>
<entry
><para
>Aspas simples (<userinput
>'</userinput
>) anterior até as próximas aspas simples, excluindo marcas de citação</para
></entry>
</row>
<row
><entry
><para
><keycap
>i</keycap
><keycap
>(</keycap
></para
></entry>
<entry
><para
>Parênteses de abertura [<userinput
>(</userinput
>] anterior até o próximo parênteses de fechamento [<userinput
>)</userinput
>], incluindo os parênteses</para
></entry>
</row>
<row
><entry
><para
><keycap
>a</keycap
><keycap
>(</keycap
></para
></entry>
<entry
><para
>Parênteses de abertura [<userinput
>(</userinput
>] anterior até o próximo parênteses de fechamento [<userinput
>)</userinput
>], excluindo os parênteses</para
></entry>
</row>
<row
><entry
><para
><keycap
>i</keycap
><keycap
>[</keycap
></para
></entry>
<entry
><para
>Colchete de abertura (<userinput
>[</userinput
>) anterior até o próximo colchete de fechamento (<userinput
>]</userinput
>0, incluindo os colchetes</para
></entry>
</row>
<row
><entry
><para
><keycap
>a</keycap
><keycap
>[</keycap
></para
></entry>
<entry
><para
>Colchete de abertura (<userinput
>[</userinput
>) anterior até o próximo colchete de fechamento (<userinput
>]</userinput
>0, excluindo os colchetes</para
></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>

<sect2 id="vi-insert-mode-commands">
<title
>Comandos de modo de inserção suportados</title>

<informaltable>
<tgroup cols="2">
<!--thead>
<row>
<entry
><para
>Key</para
></entry>
<entry
><para
>Command</para
></entry>
</row>
</thead-->
<tbody>
<row
><entry
><para
><keycombo action="simul"
>&Ctrl;<keycap
>d</keycap
></keycombo
></para
></entry>
<entry
><para
>Retirar recuo</para
></entry>
</row>
<row
><entry
><para
><keycombo action="simul"
>&Ctrl;<keycap
>t</keycap
></keycombo
></para
></entry>
<entry
><para
>Recuar</para
></entry>
</row>
<row
><entry
><para
><keycombo action="simul"
>&Ctrl;<keycap
>e</keycap
></keycombo
></para
></entry>
<entry
><para
>comandoInserirAbaixo</para
></entry>
</row>
<row
><entry
><para
><keycombo action="simul"
>&Ctrl;<keycap
>y</keycap
></keycombo
></para
></entry>
<entry
><para
>Apagar palavra</para
></entry>
</row>
<row
><entry
><para
><keycombo action="simul"
>&Ctrl;<keycap
>w</keycap
></keycombo
></para
></entry>
<entry
><para
>Apagar palavra</para
></entry>
</row>
<row
><entry
><para
><keycombo action="simul"
>&Ctrl;<keycap
>Home</keycap
></keycombo
></para
></entry>
<entry
><para
>Move para o primeiro caractere no documento</para
></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>

<sect2 id="vi-text-object">
<title
>O Objeto de Texto Vírgula</title>

<para
>Este objeto está faltando no Vim. O objeto de texto vírgula torna mais fácil modificar listas de parâmetros em linguagens no estilo C e outras listas separadas por vírgula. Isto é basicamente a área entre duas vírgulas ou entre uma vírgula e um colchete. Na linha mostrada na ilustração à direita, os três intervalos que este objeto de texto podeter são realçados em vermelho.</para>

<screenshot id="screenshot-resources">
<screeninfo
>Um exemplo de Objeto de Texto de Vírgula</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="comma-to.png" format="PNG"/></imageobject>
<textobject
><phrase
>Um exemplo de Objeto de Texto de Vírgula</phrase
></textobject>
<caption
><para
>Intervalos de objeto de texto de vírgula. Se o cursor está sobre o &eg; <replaceable
>arg2</replaceable
>, pressionar <keycap
>c</keycap
><keycap
>i</keycap
>, (<quote
>mudar vírgula interna</quote
>) removeria <replaceable
>double arg2</replaceable
> e posicionaria o cursor entre as duas vírgulas no modo de inserção. Uma maneira muito conveniente de mudar os parâmetros da função.</para
></caption>
</mediaobject>
</screenshot>

</sect2>

<sect2 id="vi-missing-features">
<title
>Funcionalidades que faltam</title>

<para
>Como dito anteriormente, o objetivo do Modo VI do &kate; não é suportar 100% das funcionalidades do Vim, no entanto, existem algumas funcionalidades que estão realmente faltando:</para>
<itemizedlist>
<listitem>
<para
>Modo de bloco visual - especialmente a capacidade de adicionar texto antes/depois da seleção de bloco visual.</para
></listitem>
<listitem>
<para
>Ter os comandos disponíveis em outros programas além do aplicativo &kate;.</para
></listitem>
<listitem>
<para
>O código de pesquisa precisa melhorias e os comandos <keycap
>*</keycap
> e <keycap
>#</keycap
> devem apenas ser pesquisas normais.</para
></listitem>
</itemizedlist>
</sect2>

</sect1>

</chapter>
