summaryrefslogtreecommitdiffstats
path: root/tde-i18n-pt_BR/docs/kdebase/kate/advanced.docbook
diff options
context:
space:
mode:
Diffstat (limited to 'tde-i18n-pt_BR/docs/kdebase/kate/advanced.docbook')
-rw-r--r--tde-i18n-pt_BR/docs/kdebase/kate/advanced.docbook2324
1 files changed, 2324 insertions, 0 deletions
diff --git a/tde-i18n-pt_BR/docs/kdebase/kate/advanced.docbook b/tde-i18n-pt_BR/docs/kdebase/kate/advanced.docbook
new file mode 100644
index 00000000000..68562d81bc6
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/kdebase/kate/advanced.docbook
@@ -0,0 +1,2324 @@
+<chapter id="advanced-editing-tools">
+<chapterinfo>
+<authorgroup>
+<author
+>&Anders.Lund; &Anders.Lund.mail;</author>
+<author
+>&Dominik.Haumann; &Dominik.Haumann.mail;</author>
+<othercredit role="translator"
+><firstname
+>Lisiane</firstname
+><surname
+>Sztoltz</surname
+><affiliation
+><address
+><email
+>lisiane@conectiva.com.br</email
+></address
+></affiliation
+><contrib
+>Tradução</contrib
+></othercredit
+>
+</authorgroup>
+</chapterinfo>
+<title
+>Ferramentas Avançadas de Edição</title>
+
+<sect1 id="advanced-editing-tools-comment">
+
+<title
+>Comentar/Descomentar</title>
+
+<para
+>Os comandos Comentar e Descomentar, disponíveis no menu <guimenu
+>Ferramentas</guimenu
+> permitem-lhe adicionar ou remover marcações de comentários à seleção ou à linha atual, se não existir texto selecionado, se os comentários são suportados pelo formato do texto que você está editando.</para>
+
+<para
+>As regras de como o comentário é feito são feitas nas definições de sintaxe; assim, se o realce de sintaxe não é usado, as ações de comentar/descomentar não são possíveis. </para>
+
+<para
+>Alguns formatos definem marcas de comentários para linhas únicas, outros suportam marcas de comentários para várias linhas e alguns suportam ambas. Se não estiverem disponíveis os comentários para várias linhas, o ato de comentar uma seleção que não inclui por completo a sua última linha não é possível.</para>
+
+<para
+>Se um marcador de linha única estiver disponível, é preferível comentar linhas simples onde for aplicável, pois isto ajuda a evitar problemas com comentários aninhados.</para>
+
+<para
+>Ao remover marcadores de comentários, textos sem comentários devem ser selecionados; ao remover marcadores de comentários de múltiplas linhas de uma seleção, qualquer espaço em branco fora do marcador é ignorado.</para>
+
+<para
+><indexterm
+><primary
+>comentar</primary
+></indexterm
+> Para colocar marcações de comentários, use a opção do menu <menuchoice
+><guimenu
+>Ferramentas</guimenu
+><guimenuitem
+>Comentar</guimenuitem
+></menuchoice
+> ou o atalho de teclado relacionado, que por padrão é <keycombo action="simul"
+>&Ctrl;<keycap
+>D</keycap
+></keycombo
+>.</para>
+
+<para
+><indexterm
+><primary
+>descomentar</primary
+></indexterm
+> Para remover marcações de comentários, use a opção do menu <menuchoice
+><guimenu
+>Ferramentas</guimenu
+><guimenuitem
+>Descomentar</guimenuitem
+></menuchoice
+> ou o atalho de teclado relacionado, que por padrão é o <keycombo action="simul"
+>&Ctrl;&Shift;<keycap
+>D</keycap
+></keycombo
+>.</para>
+
+</sect1>
+
+<sect1 id="advanced-editing-tools-commandline">
+<title
+>A Linha de Comando do Componente de Edição</title>
+
+<para
+>O componente de edição do Kate possui uma linha de comando interna, que lhe permite efetuar várias ações a partir de uma interface mínima. A linha de comando é um campo de texto no fundo da área de edição onde, para mostrá-la, você poderá selecionar a opção <menuchoice
+><guimenu
+>Ver</guimenu
+><guimenuitem
+>Alternar para Linha de Comando</guimenuitem
+></menuchoice
+> ou usar o atalho (que é, por padrão, o <keycombo action="simul"
+><keycap
+>F7</keycap
+></keycombo
+>). O editor oferece um conjunto de comandos, tal como está documentado abaixo, sendo oferecidos mais comandos através de 'plugins'.</para>
+
+<para
+>Para executar um comando, pressione a tecla Return. A linha de comando irá indicar se foi bem sucedida e, provavelmente, irá mostrar uma mensagem. Se você inseriu na linha de comando pressionando <keycap
+>F7</keycap
+>, ele ocultar-se-á automaticamente, ao fim de alguns segundos. Para limpar a mensagem e inserir um comando novo, pressione <keycap
+>F7</keycap
+> de novo.</para>
+
+<para
+>A linha de comando possui um sistema de ajuda embutido, podendo inserir o comando <command
+>help</command
+> para iniciá-lo. Para ver uma lista com todos os comandos disponíveis, invoque o comando <command
+>help list</command
+>; para ver a ajuda sobre um determinado comando, faça <command
+>help <replaceable
+>comando</replaceable
+></command
+>.</para>
+
+<para
+>A linha de comando possui um histórico embutido, como tal, o usuário poderá reutilizar os comandos já digitados. Para navegar no histórico, use as teclas <keycap
+>Cima</keycap
+> e <keycap
+>Baixo</keycap
+>. Ao mostrar os comandos do histórico, a parte do argumento do comando será selecionada, o que lhe permite sobrepor facilmente os argumentos.</para>
+
+<sect2 id="advanced-editing-tools-commandline-commands">
+<title
+>Comandos Padrão da Linha de Comando</title>
+
+<sect3 id="advanced-editing-tools-commandline-commands-configure">
+<title
+>Comandos para Configurar o Editor</title>
+
+<para
+>Estes comandos são oferecidos pelo componente do editor e permitem-lhe configurar apenas o documento e a janela ativos. Isto poderá ser útil se quiser usar uma configuração diferente da pré-definida como, por exemplo, na indentação. </para>
+
+<variablelist>
+<title
+>Tipos de argumento</title>
+
+<varlistentry>
+<term
+>BOOLEANO</term>
+<listitem
+><para
+>Isto é usado com os comandos que ativam ou desativam certas coisa. Os valores válidos são o <userinput
+>on</userinput
+>, <userinput
+>off</userinput
+>, <userinput
+>true</userinput
+>, <userinput
+>false</userinput
+>, <userinput
+>1</userinput
+> ou <userinput
+>0</userinput
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+>INTEIRO</term>
+<listitem
+><para
+>Um número inteiro</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+>TEXTO</term>
+<listitem
+><para
+>Um texto</para
+></listitem>
+</varlistentry>
+
+</variablelist>
+
+<variablelist>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>set-tab-width</command
+><arg
+>INTEIRO largura</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Configura a largura da tabulação como sendo <userinput
+>largura</userinput
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>set-indent-width</command
+><arg
+>INTEIRO largura</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Configura a largura da indentação como <userinput
+>largura</userinput
+>. Só é usado se o usuário indentar com espaços.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>set-word-wrap-column</command
+><arg
+>INTEIRO largura</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Configura a largura da linha para uma quebra como tendo <userinput
+>largura</userinput
+> colunas. Isto é usado se você tiver o seu texto sendo quebrado automaticamente.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>set-icon-border</command
+><arg
+>BOOLEANO ativar</arg
+> </cmdsynopsis
+></term>
+<listitem
+><para
+>Configura a visibilidade da borda dos ícones.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>set-folding-markers</command
+><arg
+>BOOLEANO ativar</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Configura a visibilidade da área de marcadores de dobra do código.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>set-line-numbers</command
+><arg
+>BOOLEANO ativar</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Configura a visibilidade da área de números de linha.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>set-replace-tabs</command
+><arg
+>BOOLEANO ativar</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Se estiver ativo, as tabulações são substituídas por espaços, à medida que você vai digitando. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>set-remove-trailing-space</command
+><arg
+>BOOLEANO ativar</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Se estiver ativo, os espaços finais serão removidos quando o cursor abandonar uma determinada linha.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>set-show-tabs</command
+><arg
+>BOOLEANO ativar</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Se estiver ativo, os caracteres de tabulação e espaços estarão visíveis através de um pequeno ponto.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>set-indent-spaces</command
+><arg
+>BOOLEANO ativar</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Se estiver ativo, o editor irá indentar com <option
+>largura-indentação</option
+> espaços por cada nível de indentação, em vez de usar o caracter TAB.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>set-mixed-indent</command
+><arg
+>BOOLEANO ativar</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Se estiver ativo, o &kate; irá usar uma mistura de TABs e espaços para a indentação. Cada nível de indentação irá ter um tamanho de <option
+>largura-indentação</option
+>, enquanto os restantes níveis de indentação serão otimizados para usar tantos caracteres TAB quantos possíveis.</para>
+<para
+>Quando for executado, este comando irá ativar a indentação com espaços e, se a largura de indentação não estiver definida, corresponderá a metade da <option
+>largura-tabulação</option
+> do documento, no momento da execução.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>set-word-wrap</command
+><arg
+>BOOLEANO ativar</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Ativa a quebra de linha dinâmica, de acordo com o parâmetro <userinput
+>ativar</userinput
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>set-replace-tabs-save</command
+><arg
+>BOOLEANO ativar</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Quando estiver ativo, as tabulações serão substituídas por espaços em branco, sempre que o documento for salvo.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>set-remove-trailing-space-save</command
+><arg
+>BOOLEANO ativar</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Quando estiver ativo, os espaços finais serão removidos de cada linha, sempre que o documento for salvo.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>set-indent-mode</command
+><arg
+>nome</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Configura o modo de indentação automática como <userinput
+>nome</userinput
+>. Se o <userinput
+>nome</userinput
+> não for conhecido, o modo é configurado como 'none' (nenhum). Os modos válidos são o 'cstyle', 'csands', 'xml', 'python', 'varindent' e 'none'.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>set-highlight</command
+><arg
+>realce</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Configura o sistema de realce de sintaxe para o documento. O argumento deverá ser um nome de realce válido, como pode ser visto no menu <menuchoice
+><guimenu
+>Ferramentas</guimenu
+><guisubmenu
+>Realce</guisubmenu
+></menuchoice
+>. Este comando oferece uma lista de completação automática para o seu argumento.</para
+></listitem>
+</varlistentry>
+
+</variablelist>
+
+</sect3>
+
+<sect3 id="advanced-editing-tools-commandline-commands-edit">
+<title
+>Comandos de edição</title>
+
+<para
+>Estes comandos modificam o documento atual.</para>
+
+<variablelist>
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>indent</command
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Indenta as linhas selecionadas ou a linha atual.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>unindent</command
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Remove um nível de indentação das linhas selecionadas ou da linha atual.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>cleanindent</command
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Limpa a indentação das linhas selecionadas ou da linha atual, de acordo com a configuração de indentação no documento. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>comment</command
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Insere marcações de comentários para fazer da seleção, linhas selecionadas ou da linha atual um comentário, de acordo com o formato de texto definido pela definição do realce de sintaxe para o documento.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>uncomment</command
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Remove os marcadores de comentários da seleção, linhas selecionadas ou da linha atual, de acordo com o formato de texto definido pela definição do realce de sintaxe do documento.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>kill-line</command
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Remove a linha atual.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>replace</command
+><arg
+>padrão</arg
+><arg
+>substituição</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Substitui o texto correspondente ao <userinput
+>padrão</userinput
+> por <userinput
+>substituição</userinput
+>. Se você quiser incluir espaços em branco no <userinput
+>padrão</userinput
+>, deverá colocar tanto o <userinput
+>padrão</userinput
+> como a <userinput
+>substituição</userinput
+> entre aspas simples ou duplas. Se os argumentos não estiverem entre estes caracteres, a primeira palavra é usada como <userinput
+>padrão</userinput
+> e o resto como a <userinput
+>substituição</userinput
+>. Se a <userinput
+>substituição</userinput
+> estiver em branco, cada ocorrência do <userinput
+>padrão</userinput
+> será removida.</para>
+<para
+>Você poderá configurar opções para modificar a procura, adicionando dois pontos (:), seguidos de uma ou mais letras, onde cada uma representa uma configuração, o que corresponderá ao formato <userinput
+>replace:opções padrão substituição</userinput
+>. As opções disponíveis são: <variablelist>
+
+<varlistentry>
+<term
+><userinput
+>b</userinput
+></term>
+<listitem
+><para
+>Procura para trás.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+>c</userinput
+></term>
+<listitem
+><para
+>Procura a partir da posição do cursor.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+>e</userinput
+></term>
+<listitem
+><para
+>Procura apenas na área selecionada.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+>r</userinput
+></term>
+<listitem
+><para
+>Faz uma pesquisa por uma determinada expressão regular. Se estiver ativo, você poderá usar o <userinput
+>\N</userinput
+>, onde o N é um número que representa as capturas no texto de substituição.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+>s</userinput
+></term>
+<listitem
+><para
+>Faz uma pesquisa com distinção entre maiúsculas e minúsculas.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+>p</userinput
+></term>
+<listitem
+><para
+>Pede permissão para substituir a próxima ocorrência.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+>w</userinput
+></term>
+<listitem
+><para
+>Faz uma correspondência apenas com palavras inteiras.</para
+></listitem>
+</varlistentry>
+
+</variablelist>
+
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>date</command
+><arg
+>formato</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Insere um texto de data/hora, tal como está definido pelo <userinput
+>formato</userinput
+> indicado, ou com o formato <quote
+>aaaa-MM-dd hh:mm:ss</quote
+>, se não for indicada qualquer formatação. As traduções a seguir são feitas quando for interpretado o <userinput
+>formato</userinput
+>: <informaltable
+> <tgroup cols="2"
+> <tbody>
+<row
+><entry
+><literal
+>d</literal
+></entry
+><entry
+>O dia, como um número sem um zero inicial (1-31).</entry
+></row>
+<row
+><entry
+><literal
+>dd</literal
+></entry
+><entry
+>O dia, como um número com um zero inicial (01-31).</entry
+></row>
+<row
+><entry
+><literal
+>ddd</literal
+></entry
+><entry
+>O nome do dia abreviado, no formato regional (p.ex. 'Seg'..'Dom').</entry
+></row>
+<row
+><entry
+><literal
+>dddd</literal
+></entry
+><entry
+>O nome do dia completo, no formato regional (p.ex. 'Segunda'..'Domingo').</entry
+></row>
+<row
+><entry
+><literal
+>M</literal
+></entry
+><entry
+>O mês, como um número sem um zero inicial (1-12).</entry
+></row>
+<row
+><entry
+><literal
+>MM</literal
+></entry
+><entry
+>O mês, como um número com um zero inicial (01-12).</entry
+></row>
+<row
+><entry
+><literal
+>MMM</literal
+></entry
+><entry
+>O nome do mês abreviado, no formato regional (p.ex. 'Jan'..'Dez').</entry
+></row>
+<row
+><entry
+><literal
+>aa</literal
+></entry
+><entry
+>O ano, como um número de dois algarismos (00-99).</entry
+></row>
+<row
+><entry
+><literal
+>aaaa</literal
+></entry
+><entry
+>O ano, como um número de quatro algarismos (1752-8000).</entry
+></row>
+<row
+><entry
+><literal
+>h</literal
+></entry
+><entry
+>As horas sem um zero inicial (0..23 ou 1..12 no caso do formato AM/PM).</entry
+></row>
+<row
+><entry
+><literal
+>hh</literal
+></entry
+><entry
+>As horas com um zero inicial (00..23 ou 01..12 no caso do formato AM/PM).</entry
+></row>
+<row
+><entry
+><literal
+>m</literal
+></entry
+><entry
+>Os minutos sem um zero inicial (0..59).</entry
+></row>
+<row
+><entry
+><literal
+>mm</literal
+></entry
+><entry
+>Os minutos com um zero inicial (00..59).</entry
+></row>
+<row
+><entry
+><literal
+>s</literal
+></entry
+><entry
+>Os segundos sem um zero inicial (0..59).</entry
+></row>
+<row
+><entry
+><literal
+>ss</literal
+></entry
+><entry
+>Os minutos com um zero inicial (00..59).</entry
+></row>
+<row
+><entry
+><literal
+>z</literal
+></entry
+><entry
+>Os milisegundos sem um zero inicial (0..999).</entry
+></row>
+<row
+><entry
+><literal
+>zzz</literal
+></entry
+><entry
+>Os milisegundos com zeros iniciais (000..999).</entry
+></row>
+<row
+><entry
+><literal
+>AP</literal
+></entry
+><entry
+>Usar o formato de horas AM/PM. O AP será substituído por "AM" ou por "PM".</entry
+></row>
+<row
+><entry
+><literal
+>ap</literal
+></entry
+><entry
+>Usar o formato de horas am/pm. O ap será substituído por "am" ou por "pm".</entry
+></row>
+
+</tbody>
+</tgroup>
+</informaltable>
+
+</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>char</command
+><arg
+>identificador</arg
+></cmdsynopsis
+></term>
+<listitem>
+<para
+>Este comando permite que você insira caracteres literais através de suas identificações numéricas, em decimal, octal ou hexadecimal. Para usá-lo, abra o diálogo de Edição de Comando e digite <userinput
+>char: [número]</userinput
+> na caixa de entrada e clique em <guibutton
+>OK</guibutton
+>.</para>
+
+<example>
+<title
+>exemplos do comando <command
+>char</command
+></title>
+
+<para
+>Entrada: <userinput
+>char:234</userinput
+></para>
+<para
+>Resultado: <computeroutput
+>&#234;</computeroutput
+></para>
+<para
+>Entrada: <userinput
+>char:0x1234</userinput
+></para>
+<para
+>Resultado: <computeroutput
+>&#x1234;</computeroutput
+></para>
+</example>
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term>
+<indexterm
+><primary
+>substituir no estilo sed</primary>
+<secondary
+>procurar no estilo sed</secondary
+></indexterm>
+<command
+>s///[ig]</command
+> <command
+>%s///[ig]</command
+></term>
+
+<listitem>
+<para
+>Este comando faz um sed como operação de procura/substituição na linha atual, ou em um arquivo inteiro (<command
+>%s///</command
+>).</para>
+
+<para
+>Em resumo, é procurado o texto que combine com o <emphasis
+>padrão de busca </emphasis
+>, a expressão regular entre a primeira e a segunda barra, e quando é encontrado, a parte que combina com o texto é substituída pela expressão entre a metade e a última parte da string. Os parênteses no padrão de busca criam <emphasis
+>referências anteriores</emphasis
+>, isto é, o comando lembra qual parte procurada combinou no parênteses; estas strings podem ser reutilizadas no padrão de substituição, referidas como <userinput
+>\1</userinput
+> para o primeiro conjunto de parênteses, <userinput
+>\2</userinput
+> para o segundo e assim por diante.</para>
+
+<para
+>Para procurar por um caractere literal <literal
+>(</literal
+> ou <literal
+>)</literal
+>, você precisa usar o caractere de <emphasis
+>escape</emphasis
+>, que é o caractere de barra invertida: <userinput
+>\(\)</userinput
+></para>
+
+<para
+>Se você puser um <userinput
+>i</userinput
+> no fim da expressão, a correspondência não fará distinção entre maiúsculas ou minúsculas. Se, por outro lado, puser um <userinput
+>g</userinput
+> no fim, todas as ocorrências do padrão serão substituídas, caso contrário, só será substituída a primeira ocorrência.</para>
+
+<example>
+
+<title
+>Substituindo texto na linha atual</title>
+
+<para
+>Seu compilador parou, dizendo a você que a classe <classname
+> minhaClasse</classname
+>, mencionada na linha 3902 do seu arquivo fonte, não está definida.</para>
+
+<para
+>&quot;Droga!&quot; você pensa, é claro que é <classname
+>MinhaClasse</classname
+>. Você vai para a linha 3902, e em vez de tentar encontrar a palavra no texto, você lança o Diálogo de Edição de Comando, digita <userinput
+>s/minhaclasse/MinhaClasse/i</userinput
+>, clica no botão <guibutton
+>OK</guibutton
+>, salva o arquivo e compila &ndash; com sucesso, sem erros.</para>
+
+</example>
+
+<example>
+<title
+>Substituindo texto no arquivo inteiro</title>
+
+<para
+>Imagine que você tem um arquivo, onde está mencionado a string <quote
+>Senhorita Jensen</quote
+> várias vezes, quando alguém vem e lhe diz que ela casou com o <quote
+>Senhor Jones</quote
+>. Você quer, é claro, substituir toda ocorrência de <quote
+>Senhorita Jensen</quote
+> por <quote
+>Senhora Jones</quote
+>.</para>
+
+<para
+>Entre na linha de comando e digite o comando <userinput
+>%s/Srª Silva/Srª Braga/</userinput
+>, pressionando RETURN para terminar.</para>
+
+</example>
+
+<example>
+<title
+>Um Exemplo Mais Avançado</title>
+
+<para
+>Este exemplo tira partido das <emphasis
+>referências anteriores</emphasis
+> assim como das <emphasis
+>classes de palavras</emphasis
+> (se você não souber o que isso é, baseie-se na documentação referida abaixo).</para>
+
+<para
+>Suponha que você possui a seguinte linha: <programlisting
+>void MinhaClasse::DoStringOps( String &amp;foo, String &amp;bar String *p, int &amp;a, int &amp;b )</programlisting>
+</para>
+<para
+>Agora, você pode perceber que este não é um código bom, e decidir que deseja usar a palavra-chave <constant
+>const</constant
+> para todos os argumentos <quote
+>address of</quote
+>, aqueles caracterizados pelo operador &amp; em frente ao nome do argumento. Você poderia também simplificar o espaço em branco, pois assim existiria somente um caractere de espaço em branco entre cada palavra.</para>
+
+<para
+>Abra o Diálogo de Edição de Comando, e digite <userinput
+>s/\s+(\w+)\s+(&amp;)/ const \1 \2/g</userinput
+> e clique no botão <guibutton
+>OK</guibutton
+>. O caractere <userinput
+>g</userinput
+> no final da expressão faz com que a expressão regular recompile cada combinação, para recuperar as <emphasis
+>referências de volta</emphasis
+>.</para>
+
+<para
+>Saída <computeroutput
+>void MinhaClasse::DoStringOps( const String &amp;foo, const String &amp;bar String *p, const int &amp;a, const int &amp;b )</computeroutput
+></para>
+
+<para
+>Missão completa! Agora, o que aconteceu? Bem, procuramos por espaços em branco (<literal
+>\s+</literal
+>) seguidos por um ou mais caracteres alfabéticos(<literal
+>\w+</literal
+>) seguidos por mais espaços em branco (<literal
+>\s+</literal
+>) seguidos por um E comercial, e no processo é salvo o pedaço alfabético e o E comercial para reutilização na operação de substituição. Quando substituímos a parte relacionada da nossa linha, com um espaço em branco, seguido por <quote
+>const</quote
+>, seguido por um espaço em branco, seguido por nosso pedaço alfabético (<literal
+>\1</literal
+>) seguido por um espaço em branco, em por fim, seguido por nosso E comercial salvo (<literal
+>\2</literal
+>)</para>
+
+<para
+>Em alguns casos, a parte alfabética foi <quote
+>String</quote
+>, em alguns <quote
+>int</quote
+>, assim, usar a classe de caractere <literal
+>\w</literal
+> e o quantificador <literal
+>+</literal
+> provê uma vantagem considerável.</para>
+
+</example>
+
+</listitem>
+
+</varlistentry>
+
+</variablelist>
+
+</sect3>
+
+<sect3 id="advanced-editing-tools-commandline-commands-navigation">
+<title
+>Comandos de navegação</title>
+
+<variablelist>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>goto</command
+><arg
+>INT linha</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Este comando vai para a linha indicada.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>find</command
+><arg
+>padrão</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Este comando vai para a primeira ocorrência do <userinput
+>padrão</userinput
+>, de acordo com a configuração. As ocorrências a seguir poderão ser encontradas com a opção <menuchoice
+><guimenu
+>Editar</guimenu
+><guimenuitem
+>Procurar Próximo</guimenuitem
+></menuchoice
+> (o atalho por padrão é o <keycap
+>F3</keycap
+>).</para>
+<para
+>O comando de procura poderá ser configurado adicionando dois-pontos, seguidos de uma ou mais opções, sendo o formato <userinput
+>find:opções padrão</userinput
+>. São suportadas as seguintes opções: <variablelist>
+
+<varlistentry>
+<term
+><userinput
+>b</userinput
+></term>
+<listitem
+><para
+>Procura para trás.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+>c</userinput
+></term>
+<listitem
+><para
+>Procura a partir da posição do cursor.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+>e</userinput
+></term>
+<listitem
+><para
+>Procura apenas na área selecionada.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+>r</userinput
+></term>
+<listitem
+><para
+>Faz uma pesquisa por uma determinada expressão regular. Se estiver ativo, você poderá usar o <userinput
+>\N</userinput
+>, onde o N é um número que representa as capturas no texto de substituição.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+>s</userinput
+></term>
+<listitem
+><para
+>Faz uma pesquisa com distinção entre maiúsculas e minúsculas.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+>w</userinput
+></term>
+<listitem
+><para
+>Faz uma correspondência apenas com palavras inteiras.</para
+></listitem>
+</varlistentry>
+
+</variablelist>
+
+</para>
+
+</listitem>
+
+</varlistentry>
+
+<varlistentry>
+<term
+><cmdsynopsis
+><command
+>ifind</command
+><arg
+>padrão</arg
+></cmdsynopsis
+></term>
+<listitem
+><para
+>Este comando oferece uma procura <quote
+>à-medida-que-digita</quote
+>. Você poderá configurar o comportamento da procura adicionando dois-pontos (:), seguidos de uma ou mais opções, como se segue: <userinput
+>ifind:opções padrão</userinput
+>. As opções permitidas são <variablelist>
+<varlistentry>
+<term
+><userinput
+>b</userinput
+></term>
+<listitem
+><para
+>Procura para trás.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+>r</userinput
+></term>
+<listitem
+><para
+>Faz uma procura por uma expressão regular.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+>s</userinput
+></term>
+<listitem
+><para
+>Faz uma pesquisa com distinção entre maiúsculas e minúsculas.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+>c</userinput
+></term>
+<listitem
+><para
+>Procura a partir da posição do cursor.</para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</para
+></listitem>
+</varlistentry>
+
+</variablelist>
+
+</sect3>
+
+</sect2>
+
+</sect1>
+
+<sect1 id="advanced-editing-tools-code-folding">
+<title
+>Usando o Desdobramento de Código</title>
+
+<para
+>O desdobramento ou dobragem de código permite-lhe ocultar partes de um documento no editor, tornando mais simples analisar globalmente arquivos grandes. No &kate;, as regiões desdobráveis são calculadas com base nas regras das definições de realce de sintaxe; como tal só está disponível em alguns formatos - tipicamente em código-fonte de programas, código em XML e semelhantes. A maioria das definições de realce que suportam o desdobramento de código também lhe permitem definir manualmente regiões desdobráveis, tipicamente com as palavras-chave <userinput
+>BEGIN</userinput
+> e <userinput
+>END</userinput
+>.</para>
+
+<para
+>Para usar a funcionalidade de desdobramento de código, ative os marcadores com a opção <menuchoice
+><guimenu
+>Ver</guimenu
+><guimenuitem
+>Mostrar as Marcações de Dobragem</guimenuitem
+></menuchoice
+>, se não estiverem já visíveis. A área de Marcações de Dobragem, no lado esquerdo da tela, mostra uma visão gráfica sobre as regiões que poderão ser recolhidas ou expandidas, com símbolos +/- para indicar a operação possível numa determinada região: um '-' significa que a região é expandida; enquanto clicar no '-' irá recolher a região, clicar no '+' irá exibí-la.</para>
+
+<para
+>Estão disponíveis quatro comandos para manipular o estado das regiões dobradas; para tal, veja a <link linkend="view-code-folding"
+>documentação do menu</link
+>. </para>
+
+<para
+>Se você não quiser usar a funcionalidade de desdobramento do código, poderá desativar a opção <guilabel
+>Mostrar as marcações de dobragem (se disponíveis)</guilabel
+> na <link linkend="config-dialog-editor-appearance"
+>página de Aparência da configuração do editor</link
+></para>
+
+</sect1>
+
+<sect1 id="advanced-editing-tools-scripting">
+
+<title
+>Programando o componente do editor com Javascript</title>
+
+<sect2 id="advanced-editing-tools-scripting-introduction">
+
+<title
+>Introdução</title>
+
+<para
+>Desde a versão 2.5, o componente de edição do &kate; suporta a programação em ECMA Script, também conhecido como JavaScript.</para>
+
+<para
+>Os programas só poderão ser usados através da <link linkend="advanced-editing-tools-commandline"
+>linha de comando embutida</link
+>. Os requisitos são que o arquivo esteja colocado numa pasta em que o &kate; o consiga encontrar, em conjunto com um arquivo .desktop opcional que define as propriedades relacionadas. Algumas pastas válidas são a <filename
+>katepart/scripts</filename
+> nas pastas de dados do &kde;. Você poderá encontrar as pastas de dados executando o comando <command
+>kde-config <option
+>--path</option
+> <parameter
+>data</parameter
+></command
+> Você terá pelo menos uma pasta do sistema e uma pessoal. Claro que os programas na pasta de dados do sistema estão disponíveis para todos os usuários do sistema, enquanto os das pastas pessoais só estão disponíveis para o respectivo usuário.</para>
+
+<note
+><para
+>Esta funcionalidade é experimental e poderá vir a mudar durante os desenvolvimentos futuros.</para>
+<para
+>Sabemos que muitos usuários poderão ficar desapontados, uma vez que não poderão adicionar os seus programas ao menu ou atribuir atalhos a eles. Infelizmente, só no futuro provavelmente isso será possível.</para>
+<para
+>Também não é possível passar argumentos aos seus programas ainda. Tenha paciência, que isso será implementado em breve no futuro ;)</para>
+</note>
+
+</sect2>
+
+<sect2 id="advanced-editing-tools-scripting-reference">
+
+<title
+>A API de JavaScript do Kate</title>
+
+<para
+>Aqui está listado o conjunto completo de funções e propriedades disponíveis nos objetos <type
+>document</type
+> e <type
+>view</type
+>. Além disso, você poderá também usar todos os objetos-padrão, como o <type
+>Math</type
+>, o <type
+>String</type
+>, o <type
+>Regex</type
+> e assim por diante.</para>
+
+<para
+>Quando um programa é executado, o objeto <classname
+>document</classname
+> é o documento atual, enquanto o <classname
+>view</classname
+> é a janela atual.</para>
+
+<note
+><para
+>Os tipos dos argumentos não são, obviamente, usados no JavaScript neste momento, servindo apenas para indicar que tipo de valor as funções estão esperando.</para
+></note>
+
+<variablelist id="advanced-editing-tools-scripting-global">
+<title
+>Funções Globais</title>
+<varlistentry>
+<term
+><function
+>debug( <parameter
+><replaceable
+>texto</replaceable
+></parameter
+>) [função]</function
+></term>
+<listitem>
+<itemizedlist>
+<title
+>parâmetros</title>
+<listitem
+><para
+><parameter
+>texto</parameter
+> a mensagem a exibir</para>
+</listitem>
+</itemizedlist>
+<para
+>Envia o texto para o <acronym
+>STDERR</acronym
+> com o <function
+>kdDebug()</function
+>. É usada uma área de saída dedicada para o texto, o qual será antecedido de <computeroutput
+>Kate (KJS Scripts):</computeroutput
+> </para>
+</listitem>
+</varlistentry>
+</variablelist>
+
+<variablelist id="advanced-editing-tools-scripting-document">
+<title
+>A API do <classname
+>document</classname
+></title>
+
+<varlistentry>
+<term
+><function
+>document.attribute( <parameter
+><replaceable
+>linha</replaceable
+> </parameter
+>, <parameter
+><replaceable
+>coluna</replaceable
+></parameter
+> ); [função]</function
+></term>
+<listitem>
+<itemizedlist>
+<title
+>Parâmetros</title>
+<listitem
+><para
+><parameter
+>uint linha</parameter
+> A linha da posição onde encontrar o atributo.</para
+></listitem>
+<listitem
+><para
+><parameter
+>uint coluna</parameter
+> A coluna da posição onde encontrar o atributo.</para
+></listitem>
+</itemizedlist>
+<para
+>Devolve o ID numérico do atributo para a posição do documento [<parameter
+>linha</parameter
+>,<parameter
+>coluna</parameter
+>]. O atributo representa a aparência ou estilo visual do texto, e é usado também para calcular o realce de sintaxe para uma parte específica do texto, em formatos mixtos como o HTML ou o PHP.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.canBreakAt( <parameter
+>Char c</parameter
+>, <parameter
+>uint atributo</parameter
+> ); [função]</function
+></term>
+<listitem>
+<itemizedlist>
+<title
+>Parâmetros</title>
+<listitem
+><para
+><parameter
+>c</parameter
+> O caracter a testar</para
+></listitem>
+<listitem
+><para
+><parameter
+>atributo</parameter
+> O atributo na posição do <parameter
+>c</parameter
+>.</para
+></listitem>
+</itemizedlist>
+<para
+>Devolve se é permitido quebrar a linha num caracter 'c' com o atributo 'atributo'. O resultado é decidido através da pesquisa do realce que contém o atributo, para o qual os caracteres permitem a quebra de linha.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.canComment( <parameter
+>uint atributo_inicio</parameter
+>, <parameter
+>uint atributo_fim</parameter
+> ); [função]</function
+></term>
+<listitem>
+<itemizedlist>
+<title
+>Parâmetros</title>
+<listitem
+><para
+><parameter
+>atributo_inicio</parameter
+> O atributo no início do intervalo para converter num comentário.</para
+></listitem>
+<listitem
+><para
+><parameter
+>atributo_fim</parameter
+> O atributo no fim do intervalo para converter num comentário.</para
+></listitem>
+</itemizedlist>
+<para
+>Devolve se o atributo_inicio e o atributo_fim pertencem ao mesmo sistema de realce de sintaxe. Se sim, é seguro. </para>
+<example>
+<title
+>Usando o canComment</title>
+<programlisting
+>if ( document.canComment( document.attribute(1,0), document.attribute(5,0) ) ) {
+ // o 1,0 e o 5,0 pertencem ao mesmo sistema de realce de sintaxe
+}
+</programlisting>
+</example>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.clear(); [função]</function
+></term>
+<listitem
+><para
+>Limpa o documento.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.commentStart( <parameter
+>uint atributo</parameter
+> ); [função]</function
+></term>
+<listitem>
+<itemizedlist>
+<title
+>Parâmetros</title>
+<listitem
+><para
+><parameter
+>atributo</parameter
+> O atributo do texto para qual deseja obter o texto do 'commentStart'.</para
+></listitem>
+</itemizedlist>
+<para
+>Devolve o texto necessário para iniciar um comentário para várias linhas com um texto e um atributo, ou um texto vazio se não forem suportados comentários em várias linhas para esse texto.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.commentMarker( <parameter
+>uint atributo</parameter
+> ); [função]</function
+></term>
+<listitem>
+<itemizedlist>
+<title
+>Parâmetros</title>
+<listitem
+><para
+><parameter
+>atributo</parameter
+> O atributo do texto para o qual deseja obter o texto do 'commentMarker'</para
+></listitem>
+</itemizedlist>
+<para
+>Devolve o texto necessário para marcar o resto da linha como um comentário com um texto e um atributo, ou um texto vazio se não forem suportados comentários numa única linha para esse texto.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.commentEnd( <parameter
+>uint atributo</parameter
+> ); [função]</function
+></term>
+<listitem>
+<itemizedlist>
+<title
+>Parâmetros</title>
+<listitem
+><para
+><parameter
+>atributo</parameter
+> O atributo do texto para o qual deseja obter o texto do 'commentEnd'</para
+></listitem>
+</itemizedlist>
+<para
+>Devolve o texto necessário para terminar um comentário para várias linhas com um texto e um atributo, ou um texto vazio se não forem suportados comentários em várias linhas para esse texto.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.editBegin(); [função]</function
+></term>
+<listitem>
+<para
+>Inicia um grupo de edição. Todas as ações feitas até à chamada do editEnd() serão agrupadas como uma ação anulável.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.editEnd(); [função]</function
+></term>
+<listitem>
+<para
+>Termina um grupo de edição.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.highlightMode; [propriedade:apenas leitura]</function
+></term>
+<listitem>
+<para
+>O nome do modo de realce do documento, como por exemplo JavaScript ou C++. Se não estiver definido qualquer modo de realce de sintaxe, o valor é igual a None. Lembre-se que terá de usar o nome em Inglês, no caso de ser diferente da versão traduzida.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.indentMode; [propriedade:apenas leitura]</function
+></term>
+<listitem>
+<para
+>O nome do modo de indentação do documento, como por exemplo <literal
+>normal</literal
+> ou <literal
+>cstyle</literal
+>. Lembre-se que, se não estiver definido qualquer modo de indentação, o valor é igual a <literal
+>none</literal
+>. </para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.indentWidth; [propriedade:apenas leitura]</function
+></term>
+<listitem>
+<para
+>A largura da indentação do documento. Isto é usado se você indentar com espaços.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.insertLine( <parameter
+>uint linha</parameter
+>, <parameter
+>string texto</parameter
+> ); [função]</function
+></term>
+<listitem>
+<itemizedlist>
+<title
+>Parâmetros</title>
+<listitem
+><para
+><parameter
+>linha</parameter
+> número de linha do documento</para>
+</listitem>
+<listitem
+><para
+><parameter
+>texto</parameter
+> o texto a inserir</para
+></listitem>
+</itemizedlist>
+<para
+>Insere uma linha nova com o texto <parameter
+>texto</parameter
+> na linha <parameter
+>linha</parameter
+>.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.insertText( <parameter
+>uint linha</parameter
+>, <parameter
+>uint coluna</parameter
+>, <parameter
+>string texto</parameter
+> ); [função]</function
+></term>
+<listitem>
+<itemizedlist>
+<title
+>Parâmetros</title>
+<listitem
+><para
+><parameter
+>linha</parameter
+> o número de linha</para
+></listitem>
+<listitem
+><para
+><parameter
+>coluna</parameter
+> o número da coluna</para
+></listitem>
+<listitem
+><para
+><parameter
+>texto</parameter
+> o texto a inserir</para
+></listitem>
+</itemizedlist>
+<para
+>Insere o texto <parameter
+>texto</parameter
+> na linha <parameter
+>linha</parameter
+> e coluna <parameter
+>coluna</parameter
+>.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+>document.length(); [função]</term>
+<listitem>
+<para
+>Devolve o tamanho do documento em 'bytes'.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.lines(); [função]</function
+></term>
+<listitem>
+<para
+>Devolve o número de linhas do documento.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+>document.mixedIndent; [propriedade:apenas leitura]</term>
+<listitem>
+<para
+>Um booleano que lhe diz se a opção 'mixed-indent' está ativa para o documento. Se sim, a indentação é otimizada para conter uma mistura de tabulações e espaços, como acontece no editor Emacs.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+>document.removeLine( <parameter
+>uint linha</parameter
+> ); [função]</term>
+<listitem>
+<itemizedlist>
+<title
+>Parâmetros</title>
+<listitem
+><para
+><parameter
+>linha</parameter
+> o número de linha</para
+></listitem>
+</itemizedlist>
+<para
+>Remove a linha especificada do documento.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.removeText( <parameter
+>uint linhaInicial</parameter
+>, <parameter
+>colunaInicial</parameter
+>, <parameter
+>uint linhaFinal</parameter
+>, <parameter
+>uint colunaFinal</parameter
+> ); [função]</function
+></term>
+<listitem>
+<itemizedlist>
+<title
+>Parâmetros</title>
+<listitem
+><para
+><parameter
+>linhaInicial</parameter
+> corresponde à linha inicial</para
+></listitem>
+<listitem
+><para
+><parameter
+>colunaInicial</parameter
+> corresponde à coluna inicial</para
+></listitem>
+<listitem
+><para
+><parameter
+>linhaFinal</parameter
+> corresponde à linha final</para
+></listitem>
+<listitem
+><para
+><parameter
+>colunaFinal</parameter
+> corresponde à coluna final</para
+></listitem>
+</itemizedlist>
+<para
+>Remove o intervalo de texto da linha <parameter
+>linhaInicial</parameter
+> e coluna <parameter
+>colunaInicial</parameter
+> até à linha <parameter
+>linhaFinal</parameter
+> e coluna <parameter
+>colunaFinal</parameter
+>. </para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.setText( <parameter
+>string texto</parameter
+> ); [função]</function
+></term>
+<listitem>
+<itemizedlist>
+<title
+>Parâmetros</title>
+<listitem
+><para
+><parameter
+>texto</parameter
+> o texto do documento</para
+></listitem>
+</itemizedlist>
+<para
+>Configura o conteúdo inteiro do documento como <parameter
+>texto</parameter
+>.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.spaceIndent; [propriedade:apenas leitura]</function
+></term>
+<listitem>
+<para
+>Um booleano que indica se o 'space-indent' está ativo para o documento. Se for o caso, o documento é indentado com larguraIndentacao espaços por nível, caso contrário, a indentação corresponde a uma tabulação por nível.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.textFull(); [função]</function
+></term>
+<listitem>
+<para
+>Devolve o conteúdo completo do documento. Se o texto se espalhar por várias linhas, o carácter de mudança de linha é o <constant
+>\n</constant
+>.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.textLine( uint linha ); [função]</function
+></term>
+<listitem>
+<itemizedlist>
+<title
+>Parâmetros</title>
+<listitem
+><para
+><parameter
+>linha</parameter
+> a linha</para
+></listitem>
+</itemizedlist>
+<para
+>Devolve o texto da linha <parameter
+>linha</parameter
+>.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>document.textRange( <parameter
+>uint linhaInicial</parameter
+>, <parameter
+>uint colunaInicial</parameter
+>, <parameter
+>uint linhaFinal</parameter
+>, <parameter
+>uint colunaFinal</parameter
+> ); [função]</function
+></term>
+<listitem>
+<itemizedlist>
+<title
+>Parâmetros</title>
+<listitem
+><para
+><parameter
+>linhaInicial</parameter
+> corresponde à linha inicial</para
+></listitem>
+<listitem
+><para
+><parameter
+>colunaInicial</parameter
+> corresponde à coluna inicial</para
+></listitem>
+<listitem
+><para
+><parameter
+>linhaFinal</parameter
+> corresponde à linha final</para>
+</listitem>
+<listitem
+><para
+><parameter
+>colunaFinal</parameter
+> corresponde à coluna final</para
+></listitem>
+</itemizedlist>
+<para
+>Devolve o intervalo de texto indicado. Se o intervalo se espalhar por várias linhas, o caracter de mudança de linha é o <constant
+>\n</constant
+>.</para>
+</listitem>
+</varlistentry>
+
+</variablelist
+><!--/ document API -->
+
+<variablelist id="advanced-editing-tools-scripting-view">
+<title
+>A API do <classname
+>view</classname
+></title>
+
+<varlistentry>
+<term
+><function
+>view.clearSelection(); [função]</function
+></term>
+<listitem>
+<para
+>Remove a seleção de todo o texto.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>view.cursorColumn(); [função]</function
+></term>
+<listitem>
+<para
+>Devolve a coluna atual do cursor (os caracteres TAB são expandidos).</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>view.cursorColumnReal(); [função]</function
+></term>
+<listitem>
+<para
+>Devolve a coluna real do cursor (os caracteres TAB contam como um).</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>view.cursorLine(); [função]</function
+></term>
+<listitem>
+<para
+>Devolve a linha atual do cursor.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>view.hasSelection(); [função]</function
+></term>
+<listitem>
+<para
+>Devolve <constant
+>true</constant
+> (verdadeiro) se a janela contiver algum texto selecionado, caso contrário devolve <constant
+>false</constant
+>.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>view.removeSelectedText(); [função]</function
+></term>
+<listitem>
+<para
+>Remove o texto selecionado, se a janela tiver alguma seleção.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>view.selectAll(); [função]</function
+></term>
+<listitem>
+<para
+>Seleciona todo o texto.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>view.selection(); [função]</function
+></term>
+<listitem>
+<para
+>Devolve o texto selecionado. Se a seleção se espalhar por várias linhas, o caracter de mudança de linha é o <constant
+>\n</constant
+>.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>view.selectionEndColumn; [propriedade:apenas leitura]</function
+></term>
+<listitem>
+<para
+>Devolve a coluna final da seleção.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>view.selectionEndLine; [propriedade:apenas leitura]</function
+></term>
+<listitem>
+<para
+>Devolve a linha final da seleção.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>view.selectionStartColumn; [propriedade:apenas leitura]</function
+></term>
+<listitem>
+<para
+>Devolve a coluna inicial da seleção.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>view.selectionStartLine; [propriedade:apenas leitura]</function
+></term>
+<listitem>
+<para
+>Devolve a linha inicial da seleção.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>view.setCursorPosition( <parameter
+>uint linha</parameter
+>, <parameter
+>uint coluna</parameter
+> ); [função]</function
+></term>
+<listitem>
+<itemizedlist>
+<title
+>Parâmetros</title>
+<listitem
+><para
+><parameter
+>linha</parameter
+> Indica a linha para o cursor.</para
+></listitem>
+<listitem
+><para
+><parameter
+>coluna</parameter
+> Indica a coluna para o cursor.</para
+></listitem>
+</itemizedlist>
+<para
+>Configura a posição atual do cursor na janela como sendo [<parameter
+>linha</parameter
+>, <parameter
+>col</parameter
+>]. A posição do cursor é a nível visual, isto é, um caracter TAB conta como <replaceable
+>tab-width</replaceable
+> espaços, dependendo da posição dentro da linha. A posição do cursor é tornada visível. Tanto a linha como a coluna começam em zero.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>view.setCursorPositionReal( <parameter
+>uint linha</parameter
+>, <parameter
+>uint coluna</parameter
+> ); [função]</function
+></term>
+<listitem>
+<itemizedlist>
+<title
+>Parâmetros</title>
+<listitem
+><para
+><parameter
+>linha</parameter
+> Indica a linha para o cursor.</para
+></listitem>
+<listitem
+><para
+><parameter
+>coluna</parameter
+> Indica a coluna para o cursor.</para
+></listitem>
+</itemizedlist>
+<para
+>Configura a posição atual do cursor na janela como sendo [<parameter
+>linha</parameter
+>, <parameter
+>col</parameter
+>]. A posição do cursor é a nível do texto, isto é, um caracter TAB conta como 1. A posição do cursor é tornada visível. Tanto a linha como a coluna começam em zero.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><function
+>view.setSelection( <parameter
+>uint linhaInicial</parameter
+>, <parameter
+>uint colunaInicial</parameter
+>, <parameter
+>uint linhaFinal</parameter
+>, <parameter
+>uint colunaFinal</parameter
+> ); [função]</function
+></term>
+<listitem>
+<itemizedlist>
+<title
+>Parâmetros</title>
+<listitem
+><para
+><parameter
+>linhaInicial</parameter
+> corresponde à linha inicial</para
+></listitem>
+<listitem
+><para
+><parameter
+>colunaInicial</parameter
+> corresponde à coluna inicial</para
+></listitem>
+<listitem
+><para
+><parameter
+>linhaFinal</parameter
+> corresponde à linha final</para
+></listitem>
+<listitem
+><para
+><parameter
+>colunaFinal</parameter
+> corresponde à coluna final</para
+></listitem>
+</itemizedlist>
+<para
+>Configura a seleção desde a linha <parameter
+>linhaInicial</parameter
+> e coluna <parameter
+>colunaInicial</parameter
+> até à linha <parameter
+>linhaFinal</parameter
+> e coluna <parameter
+>colunaFinal</parameter
+>.</para>
+</listitem>
+</varlistentry>
+
+</variablelist>
+
+<example id="advanced-editing-tools-scripting-example">
+
+<title
+>Um programa de exemplo</title>
+<para
+>Como exemplo, será criado um pequeno programa que converte o texto selecionado para maiúsculas. É óbvio que se deverá ver primeiro se existe texto selecionado, para que se possa obter o texto, mudar a capitalização e depois substituir pelo novo. Uma implementação possível seria do género:</para>
+
+<programlisting
+>if ( view.hasSelection() )
+{
+ // seleção para maiúsculas
+ column = view.selectionStartColumn;
+ line = view.selectionStartLine;
+
+ selection = view.selection().toUpperCase();
+
+ document.editBegin();
+ view.removeSelectedText();
+ document.insertText( line, column, selection );
+ document.editEnd();
+}
+</programlisting>
+
+<para
+>Para agrupar esta ação em conjunto, para que possam ser anuladas com uma única ativação do <guimenuitem
+>Desfazer</guimenuitem
+>, as linhas <programlisting
+>view.removeSelectedText()</programlisting
+> e <programlisting
+>document.insertText()</programlisting
+> são encapsuladas com um <programlisting
+>document.editBegin()</programlisting
+> e <programlisting
+>document.editEnd()</programlisting
+>.</para>
+
+</example>
+
+<example id="advanced-editing-tools-desktop-example">
+<title
+>Um arquivo <filename
+>.desktop</filename
+> de exemplo</title>
+
+<para
+>Aqui está um arquivo .desktop de exemplo que acompanha o programa acima.</para>
+
+<programlisting
+># Exemplo de um arquivo .desktop
+[Desktop Entry]
+Encoding=UTF-8
+Name=Kate Part JavaScript Uppercase
+Comment=Script to uppercase the selection
+X-Kate-Command=uppercase-selection
+X-Kate-Help=&lt;p&gt;Usage: &lt;code&gt;uppercase-selection&lt;/code&gt;&lt;/p&gt;
+</programlisting>
+
+<para
+>Como você pode ver, você pode definir a codificação, definir um nome, comentário, um texto de ajuda com o X-Kate-Help e o nome da linha de comando com o X-Kate-Command. Os itens Name, Comment e X-Kate-Help são traduzidos automaticamente para outros idiomas pelas equipes de traduções do KDE, se os arquivos estiverem no repositório de SVN do KDE.</para>
+
+</example>
+
+<sect3>
+<title
+>Colocando tudo junto</title>
+
+<para
+>O &kate; irá procurar nas pastas de programas (ver <link linkend="advanced-editing-tools-scripting-introduction"
+>acima</link
+>) por arquivos <filename
+>*.js</filename
+>. Para cada um deles, verifica se existe um arquivo <filename
+>.desktop</filename
+> correspondente, como por exemplo, maiusculas.js corresponderia a maiusculas.desktop. </para>
+<para
+>Se não for encontrado um arquivo <filename
+>.desktop</filename
+>, o programa será registrado na linha de comando com o nome do arquivo sem o '.js' final, para que, no nosso exemplo, fosse <literal
+>maiusculas</literal
+>. Se o nome do comando for aceitável e não necessitar de funcionalidades extras de um arquivo <filename
+>.desktop</filename
+>, não será necessário um arquivo <filename
+>.desktop</filename
+>. </para>
+<para
+>Se o arquivo <filename
+>.desktop</filename
+> existir, o 'katepart' irá ler o nome sob o qual o programa será registrado, a partir do item do '.desktop' X-Kate-Command, como por exemplo X-Kate-Command=uppercase-selection.</para>
+
+</sect3>
+
+</sect2>
+
+</sect1>
+
+</chapter>