Copyright © 2000, 2001 Seth Rothberg
Copyright © 2002, 2003, 2005 Anders Lund
Copyright © 2005 Dominik Haumann
É dada permissão para copiar, distribuir e/ou modificar este documento ao abrigo da GNU Free Documentation License, Versão 1.1 ou de uma versão mais recente publicada pela Free Software Foundation; sem Secções Invariantes, sem Textos de Capa Frontal, e sem Textos de Capa Traseira. Uma cópia desta licença está incluida na secção intitulada "GNU Free Documentation License".
O Kate é um editor de texto para programadores do KDE 2.2 e posteriores.
Este manual documenta o Kate Versão 2.5.0
Índice
Lista de Exemplos
Bem-vindo ao Kate, um editor de texto destinado a programadores para o KDE versões 2.2 e superiores. Algumas das funcionalidades do Kate incluem o realce de sintaxe programável para linguagens que vai do C ao HTML, passando pelo C++ e os 'scripts' de bash, a capacidade de criar e gerir projectos, uma interface de múltiplos documentos (MDI) e um emulador de terminal embutido.
Mas o Kate é mais do que um editor para programadores. A sua capacidade de abrir vários ficheiros de uma vez torna-o ideal para editar os vários ficheiros de configuração do UNIX®. Este documento foi escrito no Kate.
Editar este manual...
Se alguma vez utilizou um editor de texto, não terá problemas a usar o Kate. Nas duas próximas secções, em Iniciar o Kate e em Trabalhar com o Kate, mostrar-lhe-emos tudo o que precisa para interagir com ele.
Poderá iniciar o Kate no ou na linha de comandos.
Abra o menu de programas do KDE carregando no K grande na barra de ferramentas no canto inferior esquerdo do seu ecrã (normalmente). Isto fará aparecer o . Mova o seu cursor para o menu até ao item ->. Aparecerá uma lista com os editores disponíveis, na qual poderá escolher o .
A menos que tenha configurado o Kate para não o fazer, ele irá abrir os últimos ficheiros que você editou. Veja em Configurar o Kate para aprender como ligar e desligar esta opção.
Poderá iniciar o Kate, escrevendo o seu nome na linha de comandos. Se lhe der um nome de ficheiro, como no exemplo abaixo, ele irá abrir ou criar esse ficheiro.
%
kate
ficheiro.txt
Se tiver uma ligação activa e permissões para tal, poderá tirar partido da transparência de rede do KDE para abrir ficheiros na Internet.
%
kate
ftp://ftp.kde.org/pub/kde/README_FIRST
O Kate aceita as seguintes opções na linha de comandos:
kate --help
Isto lista as opções mais básicas que estão disponíveis na linha de comandos.
kate --help-qt
Isto lista as opções disponíveis para mudar a forma como o Kate interage com o Qt™.
kate --help-kde
Isto lista as opções disponíveis para alterar a forma como o Kate interage com o KDE.
kate -s
--start
nome
Inicia o 'kate' com a sessão nome
. A sessão é criada se não existir já. Se existir uma instância do Kate que esteja a correr a sessão indicada, os ficheiros indicados são carregados nessa instância. Quando for usado com a opção --use
, será também usada uma instância que esteja a correr esta sessão.
kate -u
--use
URL
Faz com que o Kate use uma instância existente, se já existir alguma. Se quiser que todos os documentos abram numa instância do Kate, poderá adicionar esta opção no comando predefinido, na configuração da sua aplicação do KDE, assim como criar um comando alternativo no seu interpretador de comandos, se suportar isso.
kate -p
--pid
PID
Só utiliza de novo uma instância com o PID indicado (ID do Processo). É usado com a opção --use
.
kate --encoding
codificação
URL
Usa a codificação usada para o documento.
kate --line
linha
URL
Vai para a linha indicada, após abrir o documento.
kate --column
coluna
URL
Vai para a coluna indicada, após abrir o documento.
kate --stdin
Lê o conteúdo do documento a partir do STDIN. Isto é semelhante à opção comum -
, que é usada por muitos programas da linha de comandos e lhe permite encaminhar o resultado do comando para o Kate.
kate --help
Desde o Kate 2.5.1 que esta opção normal do KDE é usada. Quando for usada, os ficheiros indicados são tratados como ficheiros temporários e removidos a seguir (se forem ficheiros locais e se tiver permissões suficientes) a ser fechados, a menos que tenham sido modificados desde a sua abertura.
kate --help-all
Isto lista todas as opções da linha de comandos.
kate --author
Lista os autores do Kate na janela do terminal.
kate -v
--version
Indica as informações de versões do Qt™, KDE e do Kate.
kate --license
Mostra informações sobre a licença.
O Arranque Rápido mostrar-lhe-á como comutar quatro opções simples que lhe permitirão configurar algumas das funcionalidades mais poderosas do Kate num instante. Os Comandos do Teclado fornece alguns atalhos de teclado para aqueles que não podem ou não querem usar um rato.
Esta secção irá descrever alguns dos itens no menu , de modo que possa configurar o Kate como for da sua vontade.
Quando arrancar o Kate pela primeira vez, verá duas janelas com o fundo branco. Por cima das duas janelas existe uma barra de ferramentas com os ícones normais. Por cima desta, está a barra do menu.
A janela da esquerda é uma barra lateral acoplável. Combina as janelas de lista e selecção dos ficheiros. Alterne entre as duas carregando nos selectores de secção no topo da janela.
Se invocou o Kate com um ficheiro, a janela da direita irá mostrar o ficheiro que está a editar e a lista de Documentos na barra lateral irá mostrar o nome do ficheiro. Use a janela de Navegação no Sistema de Ficheiros para os abrir.
Poderá activar ou desactivar as janelas de Documentos e Navegador do Sistema de Ficheiros com a opção +. Este menu oferece-lhe a sua primeira vista de olhos nas potencialidades e flexibilidade do Kate. Nesta secção, serão vistos três itens:
Liga e desliga a lista de Documentos. Se a janela da lista e selecção de ficheiros não estiver aberta, o Kate lança a barra lateral como uma janela separada e não acoplada. Para acoplar a janela, agarre nas duas linhas finas paralelas por cima dos selectores de secção, carregando nelas com o botão do rato do rato e mantendo o botão carregado. Arraste a janela para a área de edição do Kate e largue o botão esquerdo, quando tiver posicionado a janela no seu local preferido.
Se seleccionou efectivamente as duas linhas paralelas, o seu cursor do rato irá mudar para duas setas cruzadas à medida que arrasta.
Liga e desliga a janela de selecção de ficheiros. Este item do menu é o mesmo que o mas com uma diferença. Ao activá-la, aparece a janela com o selector de ficheiros seleccionado.
Activa e desactiva um emulador de consola na parte inferior da janela do Kate. Por outras palavras, fornece-lhe uma linha de comandos dentro da aplicação.
Muitos dos comandos de teclado do Kate (atalhos) são configuráveis através do menu Configuração. Por omissão, o Kate respeita a seguinte configuração de teclas.
Insert | Alterna entre o modo de Inserção e Sobreposição. Quando está no modo de inserção, o editor irá adicionar os caracteres introduzidos ao texto e empurrar os dados introduzidos anteriormente à direita do cursor do texto. O modo de sobreposição fará com que a introdução de cada carácter elimine o carácter imediatamente à direita do cursor. |
Esquerda | Move o cursor um carácter para a esquerda |
Direita | Move o cursor um carácter para a direita |
Cima | Sobe o cursor uma linha |
Baixo | Desce o cursor uma linha |
Page Up | Move o cursor uma página para cima |
Page Down | Move o cursor uma página para baixo |
Backspace | Apaga o carácter à esquerda do cursor |
Home | Move o cursor para o início da linha |
End | Move o cursor para o fim da linha |
Delete | Apaga o carácter à direita do cursor (ou qualquer texto seleccionado) |
Shift+Esquerda | Marca o texto que está um carácter à esquerda |
Shift+Direita | Marca o texto que está um carácter à direita |
F1 | Ajuda |
Shift+F1 | |
Ctrl+F | |
F3 | |
Ctrl+B | Marca um Favorito |
Ctrl+C | Copia o texto seleccionado para a área de transferência. |
Ctrl+N | Cria um Novo documento |
Ctrl+P | |
Ctrl+Q | Sair - fecha a cópia activa do editor |
Ctrl+R | |
Ctrl+S | Grava o seu ficheiro. |
Ctrl+V | Colar. |
Ctrl+X | Apaga o texto seleccionado e copia-o para a área de transferência. |
Ctrl+Z | |
Ctrl+Shift+Z |
As sessões são a forma como o Kate lhe deixa manter uma lista de mais que um ficheiro e a configuração da interface. Poderá ter tantas sessões com nome quantas quiser e poderá usar sessões sem nome ou anónimas para os ficheiros que só queira usar uma vez. De momento, o Kate pode gravar a lista de ficheiros abertos e a configuração geral da janela na sessão, enquanto as próximas versões do Kate possam adicionar mais funcionalidades que possam ser gravadas em sessões. Com a introdução das sessões, o Kate também lhe permite abrir um número qualquer de instâncias da aplicação, em vez de apenas uma, como costumava ser o comportamento por omissão.
As sessões são suportadas em três áreas:
Opções da linha de comandos, que lhe permite seleccionar e iniciar as sessões, ao lançar o Kate a partir da linha de comandos.
O menu de Sessões, que lhe permite mudar, gravar, iniciar e gerir as suas sessões
Opções de configuração, que lhe permite decidir como as sessões se devem comportar normalmente.
Ao iniciar uma sessão nova, a configuração da GUI da Sessão Predefinida é carregada. Para gravar a configuração da janela na sessão predefinida, terá de activar a gravação da configuração de janelas na página de configuração da sessão e depois carregar a sessão predefinida, configurar a janela como desejar e gravar a sessão de novo.
Quando uma sessão com nome for carregada, o Kate irá mostrar o nome da sessão no início do título da janela, que poderá ter então o formato "Nome da Sessão
: Nome ou URL do documento
- Kate"
Ao abrir ficheiros na linha de comandos com a opção --start
ou, se uma sessão for seleccionada com o selector de sessões, a sessão indicada é carregada antes dos ficheiros indicados na linha de comandos. Para abrir os ficheiros da linha de comandos numa sessão nova sem nome, configure o 'kate' para iniciar uma sessão nova por omissão na página de sessões da janela de configuração ou use o nome
--start
com um texto vazio: ''
.
Desde o Kate 2.5.1, o PID da instância actual é exportado na variável de ambiente KATE_PID
. Ao abrir os ficheiros do terminar incorporado no Kate, irá seleccionar automaticamente a instância actual, se não for indicado mais nada na linha de comandos.
Quando estiver habituado a usar as sessões, espera-se que você veja que estas oferecem uma ferramenta muito simples e eficiente para lidar com várias áreas diferentes. Contudo, se preferir o comportamento antigo do Kate (uma instância que abre todos os ficheiros), poderá obter facilmente isso, se seguir esta estratégia simples:
Faça com que o 'kate' arranque sempre com o parâmetro --use
, adicionando isso ao comando nas preferências da aplicação e, se possível, usando um comando alternativo ou 'alias'.
Configure o Kate para carregar a última sessão usada no arranque.
Configure o Kate para gravar a lista de ficheiros ao fechar uma sessão.
Carregar a sessão por omissão uma vez
Oferece uma documentação detalhada sobre todos os comandos do menu, opções de configuração, ferramentas, janelas, 'plugins' etc., bem como descrições da janela do Kate, do editor e vários conceitos usados na aplicação.
Carregue em F1 ou use o tópico do menu para ver este manual.
A ajuda O Que É Isto? oferece uma ajuda imediata com os elementos simples das janelas, como os botões ou as outras áreas da janela.
Nós tentamos providenciar ajudas O Que É Isto? para todos os elementos nos quais faça sentido. Está disponível por toda a janela de configuração, bem como em muitas outras janelas.
Para você usar a ajuda O Que É Isto?, carregue em Shift-F1, ou use a opção do menu ->, para activar o modo de ajuda rápida. O cursor irá mudar para uma seta com um ponto de interrogação, para que possa então carregar em qualquer elemento da janela, de modo a ler a sua ajuda respectiva, se estiver disponível.
Algumas janelas têm um botão de . Se carregar nele, irá iniciar o KHelpCenter e abrir a documentação relevante.
O Kate não possibilita (ainda!) nenhum meio para ler a documentação relacionada com o documento. Dependendo do ficheiro que estiver a editar, poderá achar o Konsole Incorporado útil para ver a documentação das páginas 'man' e 'info' ou mesmo usar o Konqueror.
Janela, Documento, Editor... O que são todos estes conceitos na terminologia do Kate, e como é possível tirar o maior partido dele? Este capítulo irá explicar tudo sobre o assunto e ainda mais.
A Janela Principal do Kate é uma janela de aplicação normal do KDE, com a adição de sub-janelas acopláveis ou janelas de ferramentas. Tem uma barra de menu com todos os menus normais, para além de outros específicos, bem como uma barra de ferramentas que permite o acesso aos comandos mais usados.
A parte mais importante da janela é a Área de Edição, que mostra por omissão uma componente de edição de texto, no qual o utilizador poderá trabalhar nos seus documentos.
As capacidades de acoplagem da janela são usadas para as janelas de ferramentas:
E, possivelmente, mais outras janelas, as quais podem ser disponibilizadas pelos 'plugins'.
As ferramentas podem ser posicionadas em qualquer barra lateral; para mover uma ferramenta, carregue com o botão direito no seu botão da barra lateral e seleccione no menu do botão
do ratoUma ferramenta pode ser marcada como persistente no menu do botão do rato, com o seu botão da barra lateral. A barra lateral pode conter mais ferramentas de cada vez para que, quando uma ferramenta for persistente, as outras ferramentas possam ser mostradas em simultâneo.
O Kate é capaz de ter mais que um documento aberto ao mesmo tempo, e também consegue repartir a área de edição em várias sub-janelas, de uma forma semelhante à que o Konqueror ou o emacs praticam. Desta forma, poderá ver vários documentos ao mesmo tempo, ou mesmo várias instâncias do mesmo documento, o que é útil, por exemplo, se o seu documento contém definições no seu topo que deseje ver frequentemente como forma de referência. Poderá também ver um ficheiro de inclusão numa sub-janela, enquanto altera o ficheiro de implementação noutra.
Quando um documento está disponível em mais de um editor, as alterações feitas num editor serão reflectidas imediatamente nos outros. Isto inclui a alteração do texto, bem como a sua selecção. As operações de pesquisa ou de movimentação do cursor só se reflectem no editor actual.
Não é possível de momento ter mais que uma instância do mesmo documento aberta, na medida em que uma instância será editada enquanto a outra não.
Ao repartir um editor em duas sub-janelas, estas ficam divididas, por igual tamanho, e a mostrarem ambas o documento actual desse editor. A nova janela será a inferior (no caso de dividir horizontalmente) ou a da direita (se a divisão for vertical). A nova janela fica em primeiro plano, o qual é visível através de um pequeno 'led' verde na janela em questão.
A lista de ficheiros mostra uma lista de todos os documentos abertos no Kate. Os ficheiros modificados irão ter um pequeno ícone de disquete à sua esquerda para indicar esse estado.
Se estiverem abertos dois ou mais ficheiros com o mesmo nome (localizados em pastas diferentes), o nome do segundo terá adicionado no fim “<2>” e assim por diante. A dica para o ficheiro irá mostrar o seu nome completo, incluindo a sua pasta, o que lhe permite escolher o documento desejado.
Para mostrar um documento na janela activa de momento, carregue no nome do documento na lista.
Poderá ordenar a lista de diferentes formas, se carregar com o botão direito na lista e seleccionar uma opção no menu . As opções são
Lista os documentos pela ordem de abertura
Lista os documentos alfabeticamente pelo seu nome.
Lista os documentos alfabeticamente pelo URL.
A lista de documentos irá, por omissão, visualizar o seu histórico, desvanescendo os itens para os documentos mais recentes com uma cor de fundo. Se o documento foi editado, é misturada uma cor extra. O documento mais recente tem a cor mais forte, por isso será mais fácil para si ver os documentos em que está a trabalhar. Esta funcionalidade poderá ser desactivada na Página da Lista de Documentos da janela de configuração.
A localização por omissão na janela do Kate está à esquerda da área de edição.
O Navegador do Sistema de Ficheiros é um visualizador de pastas que lhe permite abrir os ficheiros a partir da pasta mostrada na janela actual.
De cima para baixo, o Navegador do Sistema de Ficheiros consiste nos seguintes elementos:
Esta contém os botões normais de navegação:
Ao carregar neste botão a janela de pasta fará cd para a sua pasta pessoal.
Isto fará com que a janela da pasta faça cd para a pasta de nível superior à actual se possível.
Faz com que a janela de pasta faça cd para a pasta mostrada anteriormente no histórico. Este botão está desactivado se não existir nenhum item anterior.
Faz com que a janela de pastas faça cd para a próxima pasta no histórico. Este botão está desactivado se não existir nenhuma próxima pasta.
Este botão fará com que a janela de pastas faça cd para a pasta de documentos activa no momento, se possível. Este botão está desactivado se o documento actual é um ficheiro novo e não gravado, ou se a pasta onde ele está não pode ser decidida.
Aqui pode indicar a localização de uma pasta a pesquisar. O campo do URL mantém uma lista dos campos introduzidos anteriormente; para escolher um, utilize o botão da seta à direita do campo.
O campo do URL tem a completação automática das pastas. O método de completação pode ser definido usando o menu do botão direito do rato do campo.
Esta é uma janela de pastas normal do KDE.
O campo de Filtragem permite-lhe indicar um filtro para os ficheiros mostrados na janela de pastas. O filtro utiliza a sintaxe normal; os padrões devem estar separados por espaços. Exemplo: *.cpp *.h *.moc
Para mostrar todos os ficheiros, indique um único asterisco *
.
O campo de filtragem guarda os últimos 10 filtros introduzidos entre sessões; para usar um, carregue no botão da seta à direita do campo e seleccione a sequência de filtragem desejada.
O Emulador de Terminal incorporado é uma cópia da aplicação de terminal do KDE, o Konsole, para a sua conveniência. Está disponível na opção do menu -> ou através do atalho F7, para que este fique em primeiro plano logo que visível. Adicionalmente, se a opção Sincronizar o Konsole com o documento actual estiver activa, este fará cd para a pasta do documento actual, ao ficar visível, ou quando o documento actual mudar.
A localização por omissão na janela do Kate fica na parte inferior, por baixo da área de edição.
Poderá configurar o Konsole com o seu menu de botão do rato; para mais informações, veja o manual do Konsole.
No menu , o utilizador irá encontrar um submenu chamado . Estas ferramentas invocam as aplicações externas com dados relativos ao documento actual como, por exemplo, o seu URL, pasta, texto ou selecção.
As ferramentas externas são definidas pelo utilizador e o mesmo poderá adicionar, editar ou remover as ferramentas com o painel de configuração das Ferramentas Externas.
O editor do Kate é a área de edição da janela do Kate. Este editor é também usado pelo KWrite e pode ser usado no Konqueror para mostrar os ficheiros de texto do seu computador local ou da rede.
O editor é composto pelas seguintes partes:
Aqui é onde se localiza o texto do seu documento.
As barras de posicionamento indicam a posição da parte visível do texto do documento e podem ser usadas para o percorrer. Se você arrastar as barras de posicionamento, não mudará de posição o cursor de inserção.
As barras de posicionamento podem estar visíveis ou não, dependendo da vontade.
O contorno dos ícones é uma pequena área à esquerda do editor, a qual mostra um pequeno ícone junto às linhas marcadas.
O utilizador poderá colocar ou retirar um favorito numa linha visível, se carregar com o botão esquerdo rato ao lado dessa linha.
Esta área pode ser ligada ou desligada se usar a opção do menu ->.
Esta área mostra os números de linha de todas as linhas visíveis do documento.
A área pode ser ligada ou desligada, através da opção do menu ->.
A área de dobragem/desdobramento permite-lhe expandir ou recolher blocos de linhas de código. O cálculo das regiões dobráveis é feito de acordo com regras na definição de realce de sintaxe do documento.
A movimentação pelo texto no Kate é como na maioria dos editores de texto gráficos. O utilizador poderá mover o cursor com as teclas dos cursores e com as teclas Page Up, Page Down, Home e End, em conjunto com as teclas modificadoras Ctrl e Shift. A tecla Shift é sempre usada para gerar uma selecção, enquanto a tecla Ctrl pode ter efeitos diferentes nas diferentes teclas:
Para as teclas Cima e Baixo, significa deslocar o cursor, em vez de o mover.
Para as teclas Esquerda e Direita, significa saltar as palavras em vez de simples caracteres.
Para as teclas Page Up e Page Down, significa ir para o limite visível da janela, em vez de navegar.
Para as teclas Home e End, significa ir para o início ou fim do documento, em vez de ir para o início ou fim da linha.
O Kate também lhe oferece uma forma de saltar rapidamente para um parêntesis correspondente: Coloque o cursor no interior de um parêntesis e carregue em Ctrl-6 para saltar para o parêntesis correspondente.
Para além disso, poderá colocar ou retirar um favorito, para saltar para posições definidas por si.
Existem duas formas básicas de seleccionar texto no Kate: com o rato e com o teclado.
Para seleccionar com o rato, mantenha pressionado o botão esquerdo do rato enquanto arrasta o cursor do rato de onde a selecção deve começar até ao sítio final desejado. O texto vai ficando seleccionado à medida que arrasta.
Se carregar duas vezes numa palavra seleccioná-la-á.
Se carregar três vezes numa linha seleccioná-la-á por completo.
Se o Shift é mantido pressionado ao carregar, o texto ficará seleccionado:
Se não estiver nada seleccionado previamente, da posição do cursor de texto até à posição do cursor do rato.
Se estiver algo seleccionado, desde essa selecção até à posição do cursor do rato
Ao seleccionar texto, arrastando para tal o rato, o texto seleccionado é copiado para a área de transferência, e poderá ser colado se carregar para isso no botão do meio do rato no editor ou em qualquer outra aplicação onde deseje colar o texto.
Para seleccionar com o teclado, mantenha a tecla Shift carregada enquanto utiliza as teclas de navegação (as teclas dos cursores, o Page Up, o Page Down, o Home e o End, possivelmente em combinação com o Ctrl para extender o movimento do cursor de texto).
Veja também a secção Navegar no Texto deste capítulo.
Para copiar a selecção actual, utilize a opção do menu -> ou a combinação de teclas respectiva (por omissão é o Ctrl+C).
Para deseleccionar a selecção actual, utilize a opção do menu -> ou o atalho de teclado correspondente (por omissão é o Ctrl+Shift+A) ou carregue com o botão esquerdo do rato no editor.
Quando a Selecção de Blocos estiver activa, pode fazer “selecções verticais” de texto, seleccionando colunas específicas em várias linhas. Isto é útil, por exemplo, para trabalhar com linhas separadas por tabulações.
A Selecção do Bloco pode ser ligada ou desligada através da opção ->. O atalho de teclado por omissão é o F4
Se a opção Substituir a Selecção estiver activa, ao escrever ou colar texto na selecção, fará com que o texto seleccionado seja substituído. Se não estiver activo, o novo texto será adicionado à posição do cursor de texto.
A Substituição da Selecção está activa por omissão.
Para alterar a configuração desta opção, veja a Página Seleccionar da Janela de Configuração.
Quando a selecção persistente estiver activa, à medida que o utilizador vai escrevendo caracteres ou movendo o cursor, não irá desfazer a selecção existente. Isto significa que poderá mover o cursor para longe da selecção e continuar a escrever texto.
A selecção persistente está desligada por omissão.
A Selecção Persistente pode ser activada na Página Seleccionar da Janela de Configuração.
Se ambas as opções estiverem activas, a introdução ou colagem de texto quando o cursor do texto estiver dentro da selecção fará com que este seja substituído e deseleccionado.
Para copiar texto, seleccione-o e use a opção do menu ->. Adicionalmente, a selecção de texto com o rato fará com que o texto seleccionado seja copiado para a área de transferência.
Para você colar o texto actualmente na área de transferência, use a opção do menu ->.
Adicionalmente, o texto seleccionado com o rato pode ser colado se carregar no botão
do rato, na posição desejada.Se estiver a usar o ambiente do KDE, poderá obter o texto copiado anteriormente de qualquer aplicação com o ícone do Klipper na bandeja do Kicker.
As janelas de Procurar e Substituir Texto no Kate são muito parecidas, excepto que a de Substituir Texto possibilita a introdução de um texto de substituição, em conjunto com algumas opções adicionais.
As janelas oferecem as seguintes opções comuns:
Aqui é onde se indica o texto a procurar. A interpretação do texto depende de algumas das opções descritas em baixo.
Se estiver assinalada, o texto a procurar é interpretado como uma expressão regular. Estará activo um botão para criar ou editar a expressão.
Veja as Expressões Regulares para mais informações sobre elas.
Se estiver activo, a pesquisa não fará distinção entre maiúsculas e minúsculas.
Se estiver seleccionado, a pesquisa só fará a correspondência se existir um limite de palavra em ambos os extremos da ocorrência, ou seja, um carácter não alfanumérico, outro carácter visível qualquer ou um fim de linha.
Se estiver seleccionada, a pesquisa irá começar a partir da posição do cursor, caso contrário irá ter início na primeira linha do documento.
Se estiver seleccionada, a pesquisa irá procurar a primeira correspondência para cima do ponto inicial, seja este a posição actual do cursor ou do início do documento, se a opção Do Início estiver activa.
A janela Substituir Texto oferece algumas opções adicionais:
Aqui é onde irá introduzir o texto de substituição.
Esta opção está desactivada se não estiver nenhum texto seleccionado ou se a opção Perguntar ao Substituir estiver activa. Se estiver, todas as correspondências do texto de pesquisa dentro do texto seleccionado serão substituídas pelo texto de substituição.
Se estiver seleccionada, aparecerá uma pequena janela a perguntar-lhe o que fazer de cada vez que é encontrada uma ocorrência. Oferece as seguintes opções:
Active isto para substituir a ocorrência actual (a que está seleccionada no editor).
Active para ignorar a ocorrência actual e tentar encontrar outra.
Active para cancelar a pergunta e substituir todas as ocorrências.
Active isto para ignorar a ocorrência actual e terminar a pesquisa.
Não existe de momento nenhuma forma de fazer a correspondência mínima ao procurar por uma expressão regular. Isto será adicionado numa próxima versão do Kate
Para procurar texto, lance a janela Procurar Texto com o Ctrl+F ou na opção do menu ->, indique o texto a procurar, seleccione as opções desejadas e carregue em . Se a pesquisa for iniciada na posição do cursor e não forem encontradas ocorrências, antes de atingir o fim (ou o início, se estiver a procurar para trás) do documento, ser-lhe-á perguntado se deseja dar a volta à procura.
Se for encontrada uma ocorrência, esta é seleccionada e a janela Procurar Texto é escondida, mas é muito fácil continuar à mesma a procurar mais ocorrências:
Para procurar a próxima ocorrência na direcção da procura, use a opção -> ou carregue em F3.
Para procurar a próxima ocorrência na direcção oposta, use a opção -> ou carregue em Shift+F3.
Se não for encontrada nenhuma ocorrência antes de atingir o extremo do documento, ser-lhe-á perguntado se deseja dar a volta.
Para substituir texto, lance a janela Substituir Texto com a opção do menu -> ou com o atalho Ctrl+R, indique o texto a procurar e, opcionalmente, o texto de substituição (se este estiver em branco, cada ocorrência será removida), defina as opções desejadas e carregue no botão .
Se estiver a usar uma expressão regular para procurar o texto a substituir, pode usar referências anteriores para reutilizar o texto capturado nos sub-padrões entre parêntesis da expressão.
Veja as Expressões Regulares para mais informações sobre elas.
Poderá procurar, substituir e procurar de forma incremental na linha de comandos.
A possibilidade de o utilizador ter favoritos permite-lhe marcar certas linhas, para as encontrar de novo facilmente.
Poderá colocar ou remover um favorito numa linha de duas formas:
Movendo o cursor de inserção para essa linha e activando o comando -> (Ctrl+B).
Carregando no Contorno do Ícone junto a essa linha.
Os favoritos estão disponíveis no menu . Os favoritos estão disponíveis individualmente como itens do menu, nomeados com o número de linha com o favorito e os primeiros caracteres de texto da linha. Para mover o cursor de inserção para o início de uma linha com uma marcação dessas, abra o menu e seleccione o Favorito.
Para saltar rapidamente entre favoritos ou para o favorito anterior/seguinte, use as opções -> (Ctrl+Page Down) ou -> (Ctrl+Page Up).
Esta funcionalidade permite-lhe ter o texto formatado de uma forma muito simples: o texto será repartido, de modo a que não hajam linhas que excedam o número máximo de caracteres por linha, a menos que exista uma sequência de caracteres sem espaços maior do que o comprimento da linha.
Para a activar ou desactivar, assinale a opção na página de edição da janela de configuração.
Para definir o tamanho máximo da linha (número máximo de caracteres por linha), use a opção na página de edição da janela de configuração.
Se estiver activa, tem os seguintes efeitos:
À medida que se vai escrevendo, o editor irá inserir automaticamente uma quebra de linha depois do último carácter de separação de palavras numa posição antes do tamanho máximo da linha ser atingido.
Enquanto se vai lendo o documento, o editor irá repartir o texto de uma forma semelhante, de modo a que não hajam linhas que sejam maiores que o tamanho máximo definido, se conterem alguns espaços que o permitam.
Não existe de momento nenhuma forma de definir a mudança de linha por cada tipo de documento, ou ainda desligar a funcionalidade ao nível do documento. Isto será resolvido numa próxima versão do Kate
O componente de edição do Kate suporta uma variedade de modos de auto-indentação, desenhado para os diferentes formatos de texto. Você poderá escolhê-los, entre os modos disponíveis, com a opção ->. Os módulos de indentação automática também oferecem uma função ->, que irá calcular de novo a indentação da linha actual ou a seleccionada. Como tal, poderá mudar a indentação do seu documento inteiro, seleccionando o texto e activando essa opção.
Todos os modos de indentação usam a configuração de indentação no documento activo.
Poderá definir todos os tipos de variáveis de configuração, incluindo aqueles relacionados com a indentação com as Variáveis do Documento e os Tipos de ficheiros.
Modos de Indentação Automática Disponíveis
Se seleccionar este modo, irá desactivar a indentação automática.
Este sistema de indentação simplesmente mantém a indentação semelhante à da linha anterior, com o conteúdo que não corresponda a espaços em branco. Poderá combinar isto com a utilização das acções de indentação e remoção de indentação, para poder indentar de acordo com a sua vontade.
Um sistema de indentação para o C e para as linguagens semelhantes, como o C++, C#, Java, JavaScript, entre outros. Este sistema não irá funcionar para as linguagens de 'scripting', como o Perl ou o PHP.
Um sistema de indentação alternativa para o C e as linguagens do género, com as mesmas restrições.
Um sistema de indentação específico para a linguagem de programação Python.
Um sistema de indentação automática de XML muito bom. Embora seja tentador, não o tente usar com as variantes de HTML que não sejam o XHTML, dado que não funciona com as marcas antigas do HTML (as marcas em aberto, como por exemplo o <br>)
Este sistema é experimental e poderá mudar o comportamento ou desaparecer nas versões futuras.
O sistema de indentação variável é especial, na medida em que poderá ser configurado através de variáveis no documento (ou com uma configuração por tipo de ficheiro). São lidas as seguintes variáveis:
Uma expressão regular que fará com que uma linha seja indentada de uma unidade, se a primeira linha, não sendo composta apenas por espaços em branco, fizer correspondência. var-indent-indent: Uma expressão regular que fará com que uma linha correspondente a ela seja indentada de uma unidade.
Uma expressão regular que fará com que a linha reduza a indentação de uma unidade, se fizer correspondência.
Uma lista de caracteres que deverá fazer com que a indentação seja calculada de novo imediatamente, quando estes forem escritos.
Uma lista de conjuntos de parêntesis para tratar. Pode ser qualquer combinação de parêntesis normais, rectos e chavetas. Cada tipo de conjunto é lidado da seguinte forma: se existirem instâncias abertas na linha acima, será adicionada uma unidade de indentação, enquanto se existirem instâncias de fecho não correspondidas, é removida uma unidade de indentação.
var-indent-couple-attribute
Ao procurar pelos pares de parêntesis, só são considerados os caracteres com este atributo. O valor deverá ser o nome do atributo no ficheiro XML da sintaxe, como por exemplo "Symbol". Se não for indicado, é usado o atributo 0 (normalmente o 'Normal Text').
O Kate está a usar dois tipos diferentes de 'plugins', nomeadamente os 'plugins' para a aplicação Kate e os 'plugins' para o componente de edição do Kate. Os últimos estão disponíveis em qualquer aplicação que use o componente de edição, como o KDevelop, o Quanta, o Kile, o Kwrite e muitos outros, enquanto os 'plugins' da aplicação são específicos apenas do Kate.
Poderá activar ambos os tipos de 'plugins' na janela de configuração, a qual também oferece acesso às opções de configuração adicionais dos 'plugins' que necessitem deles.
Existem vários 'plugins' para vários fins, disponíveis no módulo 'kdeaddons', e poderá procurar mais na Web. Alguns 'plugins' são fornecidos com o componente de edição, para fazer completação de palavras, favoritos automáticos, inserções de ficheiros, verificação ortográfico ou gramatical e pesquisas incrementais.
Os comandos Comentar e Descomentar, disponíveis no menu permitem-lhe adicionar ou remover marcações de comentários à selecção ou à linha actual, se não estiver texto seleccionado. Os comentários são suportados pelo formato do texto que você está a editar.
As regras de como os comentários são feitos estão descritas nas definições da sintaxe; por isso, se o realce de sintaxe não é usado, o comentar/descomentar não é possível.
Alguns formatos definem comentários para linhas únicas, outros suportam comentários para várias linhas e ainda outros suportam ambos. Se não estiverem disponíveis os comentários para várias linhas, o acto de comentar uma selecção que não inclui por completo a sua última linha não é possível.
Se estiver disponível uma marcação para linhas únicas, o acto de comentar linhas únicas é preferível quando aplicável, dado que evita os problemas com os comentários aninhados.
Ao remover as marcações de comentários, não deve ser escolhido texto sem comentários. Ao retirar as marcações de comentários de várias linhas de uma selecção, todos os espaços em branco fora das marcações de comentários são ignorados.
Para colocar marcações de comentários, use a opção do menu -> ou a sequência de teclado relacionada, que por omissão é Ctrl+D.
Para remover marcações de comentários, use a opção do menu -> ou o atalho de teclado relacionado, que por omissão é o Ctrl+Shift+D.
O componente de edição do Kate tem uma linha de comandos interna, que lhe permite efectuar várias acções a partir de uma interface mínima. A linha de comandos é um campo de texto no fundo da área de edição onde, para a mostrar, poderá seleccionar a opção -> ou usar o atalho (que é, por omissão, o F7). O editor oferece um conjunto de comandos, tal como está documentado em baixo, sendo oferecidos mais comandos através de 'plugins'.
Para executar um comando, carregue na tecla Return. A linha de comandos irá indicar se foi bem sucedida e, provavelmente, irá mostrar uma mensagem. Se você introduziu a linha de comandos ao carregar em F7, ele esconder-se-á automaticamente, ao fim de alguns segundos. Para limpar a mensagem e introduzir um comando novo, carregue em F7 de novo.
A linha de comandos tem um sistema de ajuda incorporado, pelo que poderá introduzir o comando help para iniciar. Para ver uma lista com todos os comandos disponíveis, invoque o comando help list; para ver a ajuda sobre um dado comando, faça help comando
.
A linha de comandos tem um histórico incorporado, como tal, o utilizador poderá reutilizar os comandos já escritos. Para navegar no histórico, use as teclas Cima e Baixo. Ao mostrar os comandos do histórico, a parte de argumento do comando será seleccionada, o que lhe permite sobrepor facilmente os argumentos.
Estes comandos são oferecidos pelo componente do editor e permitem-lhe configurar apenas o documento e a janela activos. Isto poderá ser útil se quiser usar uma configuração diferente da predefinida como, por exemplo, na indentação.
Tipos de argumento
Isto é usado com os comandos que activam ou desactivam certas coisa. Os valores válidos são o on
, off
, true
, false
, 1
ou 0
Um número inteiro
Um texto
set-tab-width [INTEIRO largura]
Configura a largura da tabulação como sendo largura
set-indent-width [INTEIRO largura]
Configura a largura da indentação como largura
. Só é usado se o utilizador indentar com espaços.
set-word-wrap-column [INTEIRO largura]
Configura a largura da linha para uma mudança restrita como tendo largura
colunas. Isto é usado se você tiver o seu texto a ser repartido automaticamente.
set-icon-border [BOOLEANO activar]
Configura a visibilidade do contorno dos ícones.
set-folding-markers [BOOLEANO activar]
Configura a visibilidade da área de marcadores de dobragem/desdobragem do código.
set-line-numbers [BOOLEANO activar]
Configura a visibilidade da área de números de linha.
set-replace-tabs [BOOLEANO activar]
Se estiver activo, as tabulações são substituídas por espaços, à medida que você vai escrevendo.
set-remove-trailing-space [BOOLEANO activar]
Se estiver activo, os espaços finais serão removidos quando o cursor abandonar uma dada linha.
set-show-tabs [BOOLEANO activar]
Se estiver activo, os caracteres de tabulação e espaços estarão visíveis através de um pequeno ponto.
set-indent-spaces [BOOLEANO activar]
Se estiver activo, o editor irá indentar com largura-indentação
espaços por cada nível de indentação, em vez de usar o carácter TAB.
set-mixed-indent [BOOLEANO activar]
Se estiver activo, 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 largura-indentação
, enquanto os restantes níveis de indentação serão optimizados para usar tantos caracteres TAB quantos possíveis.
Quando for executado, este comando irá activar a indentação com espaços e, se a largura de indentação não estiver definida, corresponderá a metade da largura-tabulação
do documento, na altura da execução.
set-word-wrap [BOOLEANO activar]
Activa a mudança de linha dinâmica, de acordo com o parâmetro activar
set-replace-tabs-save [BOOLEANO activar]
Quando estiver activo, as tabulações serão substituídas por espaços em branco, sempre que o documento for gravado.
set-remove-trailing-space-save [BOOLEANO activar]
Quando estiver activo, os espaços finais serão removidos de cada linha, sempre que o documento for gravado.
set-indent-mode [nome]
Configura o modo de indentação automática como nome
. Se o nome
não for conhecido, o modo é configurado como 'none' (nenhum). Os modos válidos são o 'cstyle', 'csands', 'xml', 'python', 'varindent' e 'none'.
set-highlight [realce]
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 ->. Este comando oferece uma lista de completação automática para o seu argumento.
Estes comandos modificam o documento actual.
indent
Indenta as linhas seleccionadas ou a linha actual.
Desindentar
Remove um nível de indentação das linhas seleccionadas ou da linha actual.
cleanindent
Limpa a indentação das linhas seleccionadas ou da linha actual, de acordo com a configuração de indentação no documento.
comment
Insere marcações de comentários para fazer da selecção, linhas seleccionadas ou da linha actual um comentário, de acordo com o formato de texto definido pela definição do realce de sintaxe para o documento.
uncomment
Remove os marcadores de comentários da selecção, linhas seleccionadas ou da linha actual, de acordo com o formato de texto definido pela definição do realce de sintaxe do documento.
kill-line
Remove a linha actual.
replace [padrão] [substituição]
Substitui o texto correspondente ao padrão
por substituição
. Se você quiser incluir espaços em branco no padrão
, deverá colocar tanto o padrão
como a substituição
entre plicas ou aspas. Se os argumentos não estiverem entre estes caracteres, a primeira palavra é usada como padrão
e o resto como a substituição
. Se a substituição
estiver em branco, cada ocorrência do padrão
será removida.
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 replace:opções padrão substituição
. As opções disponíveis são:
b
Procura para trás.
c
Procura a partir da posição do cursor.
e
Procura apenas na área seleccionada.
r
Faz uma pesquisa por uma dada expressão regular. Se estiver activo, você poderá usar o \N
, onde o N é um número que representa as capturas no texto de substituição.
s
Faz uma pesquisa com distinção entre maiúsculas e minúsculas.
p
Pede permissões para substituir a próxima ocorrência.
w
Faz uma correspondência apenas com palavras inteiras.
date [formato]
Insere um texto de data/hora, tal como está definido pelo formato
indicado, ou com o formato “aaaa-MM-dd hh:mm:ss”, se não for indicada qualquer formatação. As traduções seguintes são feitas quando for interpretado o formato
:
d | O dia, como um número sem um zero inicial (1-31). |
dd | O dia, como um número com um zero inicial (01-31). |
ddd | O nome do dia abreviado, no formato regional (p.ex. 'Seg'..'Dom'). |
dddd | O nome do dia completo, no formato regional (p.ex. 'Segunda'..'Domingo'). |
M | O mês, como um número sem um zero inicial (1-12). |
MM | O mês, como um número com um zero inicial (01-12). |
MMM | O nome do mês abreviado, no formato regional (p.ex. 'Jan'..'Dez'). |
aa | O ano, como um número de dois algarismos (00-99). |
aaaa | O ano, como um número de quatro algarismos (1752-8000). |
h | As horas sem um zero inicial (0..23 ou 1..12 no caso do formato AM/PM). |
hh | As horas com um zero inicial (00..23 ou 01..12 no caso do formato AM/PM). |
m | Os minutos sem um zero inicial (0..59). |
mm | Os minutos com um zero inicial (00..59). |
s | Os segundos sem um zero inicial (0..59). |
ss | Os minutos com um zero inicial (00..59). |
z | Os milisegundos sem um zero inicial (0..999). |
zzz | Os milisegundos com zeros iniciais (000..999). |
AP | Usar o formato de horas AM/PM. O AP será substituído por "AM" ou por "PM". |
ap | Usar o formato de horas am/pm. O AP será substituído por "am" ou por "pm". |
char [identificador]
Este comando permite-lhe introduzir caracteres literais pelo seu identificador numérico em decimal, octal ou hexadecimal. Para o usar, invoque a Janela do Comando de Edição e escreva char: [number]
no campo de texto, carregando depois em .
Este comando efectua uma operação de pesquisa e substituição à 'sed' na linha actual ou em todo o ficheiro (%s///).
Em resumo, o texto é percorrido à procura de uma sequência que corresponda ao padrão de busca, a expressão regular entre a primeira e a segunda barra, e quando for encontrada uma correspondência, esta é substituída pela expressão entre a parte do meio e a parte final do texto. Os parêntesis no padrão de busca criam referências anteriores, ou seja, o comando recorda qual a parte que correspondeu aos parêntesis; estas sequências podem ser reutilizadas no padrão de substituição, sendo referenciadas como \1
para o primeiro conjunto de parêntesis, \2
para o segundo e assim por diante.
Para procurar por um (
ou )
, é necessário escapá-lo, usando uma barra invertida: \(\)
Se puser um i
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 g
no fim, todas as ocorrências do padrão serão substituídas, caso contrário, só será substituída a primeira ocorrência.
Exemplo 6.2. Substituir texto na linha actual
O seu amigo compilador parou, indicando que a classe myClass
representada na linha 3902 do ficheiro de código não está definida.
"Bolas!" pensa você, é óbvio que é MyClass
. Vá à linha 3902 e, em vez de tentar procurar a palavra no texto, invoque a Janela de Comando de Edição, escreva s/myclass/MyClass/i
, carregue no botão , grave o ficheiro e compile – com sucesso, sem o erro.
Exemplo 6.3. Substituir texto no ficheiro inteiro
Imagine que tem um ficheiro, no qual menciona uma “Srª Silva” várias vezes, quando vem alguém e lhe diz que ela se casou com o “Sr. Pires”. Irá querer, obviamente, substituir todas as ocorrências de “Srª Silva” por “Srª Pires”.
Entre na linha de comandos e escreva no campo de texto o comando %s/Srª Silva/Srª Pires/
, carregando em RETURN para terminar.
Exemplo 6.4. Um Exemplo Mais Avançado
Este exemplo tira partido das referências anteriores assim como das classes de palavras (se você não souber o que isso é, baseie-se na documentação referida em baixo).
Imagine que tem a seguinte linha:
void MyClass::DoStringOps( String &foo, String &bar String *p, int &a, int &b )
Agora, chega à conclusão que este não é um código bonito, e decide que quer usar a palavra const
para todos os “endereços dos argumentos”, os quais se caracterizam pelo operador & à frente do nome do argumento. Também irá querer simplificar os espaços em branco, de modo a que haja apenas um espaço entre cada palavra.
Lance a Janela de Comando de Edição, escreva: s/\s+(\w+)\s+(&)/ const \1 \2/g
e carregue no botão . O g
, no fim da expressão, recompila a expressão para cada correspondência para poupar as referências anteriores.
Resultado: void MyClass::DoStringOps( const String &foo, const String &bar String *p, const int &a, const int &b )
Missão cumprida! Agora, o que se passou? Bem, procurou alguns espaços em branco (\s+
) seguidos de um ou mais caracteres alfabéticos (\w+
) seguidos por mais alguns espaços em branco (\s+
) e um 'e' comercial, gravando durante o processo a sequência alfabética e o 'e' comercial para os reutilizar na operação de substituição. Assim, substituiu-se a parte correspondente da linha em questão por um espaço em branco seguido de “const”, um espaço em branco e depois pela sequência alfabética (\1
) seguida de um espaço em branco e o '&' guardado (\2
)
Agora, em alguns dos casos, a sequência alfabética era “String”, em outras era “int”, de modo que a utilização da classe de caracteres \w
e do quantificador +
foram uma ajuda preciosa.
goto [INT linha]
Este comando vai para a linha indicada.
find [padrão]
Este comando vai para a primeira ocorrência do padrão
, de acordo com a configuração. As ocorrências seguintes poderão ser encontradas com a opção -> (o atalho por omissão é o F3).
O comando de procura poderá ser configurado se adicionar dois-pontos, seguidos de uma ou mais opções, sendo o formato find:opções padrão
. São suportadas as seguintes opções:
b
Procura para trás.
c
Procura a partir da posição do cursor.
e
Procura apenas na área seleccionada.
r
Faz uma pesquisa por uma dada expressão regular. Se estiver activo, você poderá usar o \N
, onde o N é um número que representa as capturas no texto de substituição.
s
Faz uma pesquisa com distinção entre maiúsculas e minúsculas.
w
Faz uma correspondência apenas com palavras inteiras.
ifind [padrão]
Este comando oferece uma procura “à-medida-que-escreve”. Você poderá configurar o comportamento da procura se adicionar dois-pontos (:), seguidos de uma ou mais opções, como se segue: ifind:opções padrão
. As opções permitidas são
b
Procura para trás.
r
Faz uma procura por uma expressão regular.
s
Faz uma pesquisa com distinção entre maiúsculas e minúsculas.
c
Procura a partir da posição do cursor.
O desdobramento ou dobragem de código permite-lhe esconder partes de um documento no editor, tornando mais simples analisar globalmente ficheiros grandes. No Kate, as regiões desdobráveis são calculadas com base nas regras nas 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 BEGIN
e END
.
Para usar a funcionalidade de desdobramento de código, active os marcadores com a opção ->, se não estiverem já visíveis. A área de Marcações de Dobragem, no lado esquerdo do ecrã, mostra uma vista gráfica sobre as regiões que poderão ser recolhidas ou expandidas, com símbolos +/- para indicar a operação possível numa dada região: um '-' significa que a região é expandida, enquanto se carregar no '-' irá recolher a região e um '+' mostrá-la-á em alternativa.
Estão disponíveis quatro comandos para manipular o estado das regiões dobradas; para tal, veja a documentação do menu.
Se não quiser usar a funcionalidade de desdobramento do código, poderá desactivar a opção Mostrar as marcações de dobragem (se disponíveis) na página de Aparência da configuração do editor
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.
Os programas só poderão ser usados através da linha de comandos incorporada. Os requisitos são que o ficheiro esteja colocado numa pasta em que o Kate o consiga encontrar, em conjunto com um ficheiro .desktop opcional que define as propriedades relacionadas. Algumas pastas válidas são a katepart/scripts
nas pastas de dados do KDE. Poderá encontrar as pastas de dados se executar o comando kde-config --path
data
Irá 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 utilizadores do sistema, enquanto os das pastas pessoais só estão disponíveis para o utilizador respectivo.
Esta funcionalidade é experimental e poderá vir a mudar durante os desenvolvimentos futuros.
Sabemos que muitos utilizadores poderão vir a ficar desapontados, dado que não poderão adicionar os seus programas ao menu ou atribuir atalhos a eles. Infelizmente, só provavelmente no futuro isso será possível.
Também não é possível passar argumentos aos seus programas ainda. Tenha paciência, que isso será implementado em breve no futuro ;)
Aqui está listado o conjunto completo de funções e propriedades disponíveis nos objectos document e view. Para além disso, poderá também usar todos os objectos-padrão, como o Math, o String, o Regex e assim por diante.
Quando um programa é executado, o objecto document
é o documento actual, enquanto o view
é a janela actual.
Os tipos dos argumentos não são, obviamente, usados no JavaScript nesta altura, servindo apenas para indicar que tipo de valor as funções estão à espera.
Funções Globais
debug( texto
) [função]
parâmetros
texto
a mensagem a mostrar
Envia o texto para o STDERR com o kdDebug()
. É usada uma área de resultado dedicada para o texto, o qual será antecedido de Kate (KJS Scripts):
A API do document
document.attribute( linha
, coluna
); [função]
Parâmetros
uint linha
A linha da posição onde encontrar o atributo.
uint coluna
A coluna da posição onde encontrar o atributo.
Devolve o ID numérico do atributo para a posição do documento [linha
,coluna
]. 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 mistos como o HTML ou o PHP.
document.canBreakAt( Char c
, uint atributo
); [função]
Parâmetros
c
O carácter a testar
atributo
O atributo na posição do c
.
Devolve se é permitido quebrar a linha num carácter '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.
document.canComment( uint atributo_inicio
, uint atributo_fim
); [função]
Parâmetros
atributo_inicio
O atributo no início do intervalo para converter num comentário.
atributo_fim
O atributo no fim do intervalo para converter num comentário.
Devolve se o atributo_inicio e o atributo_fim pertencem ao mesmo sistema de realce de sintaxe. Se sim, é seguro.
document.clear(); [função]
Limpa o documento.
document.commentStart( uint atributo
); [função]
Parâmetros
atributo
O atributo do texto para qual deseja obter o texto do 'commentStart'.
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.
document.commentMarker( uint atributo
); [função]
Parâmetros
atributo
O atributo do texto para o qual deseja obter o texto do 'commentMarker'
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.
document.commentEnd( uint atributo
); [função]
Parâmetros
atributo
O atributo do texto para o qual deseja obter o texto do 'commentEnd'
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.
document.editBegin(); [função]
Inicia um grupo de edição. Todas as acções feitas até à chamada do editEnd() serão agrupadas como uma acção anulável.
document.editEnd(); [função]
Termina um grupo de edição.
document.highlightMode; [propriedade:apenas leitura]
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.
document.indentMode; [propriedade:apenas leitura]
O nome do modo de indentação do documento, como por exemplo normal
ou cstyle
. Lembre-se que, se não estiver definido qualquer modo de indentação, o valor é igual a none
.
document.indentWidth; [propriedade:apenas leitura]
Configura a largura da indentação do documento. Isto é usado se você indentar com espaços.
document.insertLine( uint linha
, string texto
); [função]
Parâmetros
linha
número de linha do documento
texto
o texto a inserir
Insere uma linha nova com o texto texto
na linha linha
.
document.insertText( uint linha
, uint coluna
, string texto
); [função]
Parâmetros
linha
o número de linha
coluna
o número da coluna
texto
o texto a inserir
Insere o texto texto
na linha linha
e coluna coluna
.
Devolve o tamanho do documento em 'bytes'.
document.lines(); [função]
Devolve o número de linhas do documento.
Um booleano que lhe diz se a opção 'mixed-indent' está activa para o documento. Se sim, a indentação é optimizada para conter uma mistura de tabulações e espaços, como acontece no editor Emacs.
uint linha
); [função]Parâmetros
linha
o número de linha
Remove a linha actual do documento.
document.removeText( uint linhaInicial
, colunaInicial
, uint linhaFinal
, uint colunaFinal
); [função]
Parâmetros
linhaInicial
corresponde à linha inicial
colunaInicial
corresponde à coluna inicial
linhaFinal
corresponde à linha final
colunaFinal
corresponde à coluna final
Remove o intervalo de texto da linha linhaInicial
e coluna colunaInicial
até à linha linhaFinal
e coluna colunaFinal
.
document.setText( string texto
); [função]
Parâmetros
texto
o texto do documento
Configura o conteúdo inteiro do documento como texto
.
document.spaceIndent; [propriedade:apenas leitura]
Um booleano que indica se o 'space-indent' está activo 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.
document.textFull(); [função]
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 \n
.
document.textLine( uint linha ); [função]
Parâmetros
linha
a linha
Devolve o texto da linha linha
.
document.textRange( uint linhaInicial
, uint colunaInicial
, uint linhaFinal
, uint colunaFinal
); [função]
Parâmetros
linhaInicial
corresponde à linha inicial
colunaInicial
corresponde à coluna inicial
linhaFinal
corresponde à linha final
colunaFinal
corresponde à coluna final
Devolve o intervalo de texto indicado. Se o intervalo se espalhar por várias linhas, o carácter de mudança de linha é o \n
.
A API do view
view.clearSelection(); [função]
Remove a selecção de todo o texto.
view.cursorColumn(); [função]
Devolve a coluna actual do cursor (os caracteres TAB são expandidos).
view.cursorColumnReal(); [função]
Devolve a coluna real do cursor (os caracteres TAB contam como um).
view.cursorLine(); [função]
Devolve a linha actual do cursor.
view.hasSelection(); [função]
Devolve true
(verdadeiro) se a janela contiver algum texto seleccionado, caso contrário devolve false
.
view.removeSelectedText(); [função]
Remove o texto seleccionado, se a janela tiver alguma selecção.
view.selectAll(); [função]
Selecciona todo o texto.
view.selection(); [função]
Devolve o texto seleccionado. Se a selecção se espalhar por várias linhas, o carácter de mudança de linha é o \n
.
view.selectionEndColumn; [propriedade:apenas leitura]
Devolve a coluna final da selecção.
view.selectionEndLine; [propriedade:apenas leitura]
Devolve a linha final da selecção.
view.selectionStartColumn; [propriedade:apenas leitura]
Devolve a coluna inicial da selecção.
view.selectionStartLine; [propriedade:apenas leitura]
Devolve a linha inicial da selecção.
view.setCursorPosition( uint linha
, uint coluna
); [função]
Parâmetros
linha
Indica a linha para o cursor.
coluna
Indica a coluna para o cursor.
Configura a posição actual do cursor na janela como sendo [linha
, col
]. A posição do cursor é a nível visual, isto é, um carácter TAB conta como tab-width
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.
view.setCursorPositionReal( uint linha
, uint coluna
); [função]
Parâmetros
linha
Indica a linha para o cursor.
coluna
Indica a coluna para o cursor.
Configura a posição actual do cursor na janela como sendo [linha
, col
]. A posição do cursor é a nível do texto, isto é, um carácter TAB conta como 1. A posição do cursor é tornada visível. Tanto a linha como a coluna começam em zero.
view.setSelection( uint linhaInicial
, uint colunaInicial
, uint linhaFinal
, uint colunaFinal
); [função]
Parâmetros
linhaInicial
corresponde à linha inicial
colunaInicial
corresponde à coluna inicial
linhaFinal
corresponde à linha final
colunaFinal
corresponde à coluna final
Configura a selecção desde a linha linhaInicial
e coluna colunaInicial
até à linha linhaFinal
e coluna colunaFinal
.
Exemplo 6.6. Um programa de exemplo
Como exemplo, será criado um pequeno programa que converte o texto seleccionado para maiúsculas. É óbvio que se deverá ver primeiro se existe texto seleccionado, 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:
if ( view.hasSelection() ) { // selecçã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(); }
Para agrupar esta acção em conjunto, para que possam ser anuladas com uma única activação do , as linhas
view.removeSelectedText()e
document.insertText()são encapsuladas com um
document.editBegin()e
document.editEnd().
Exemplo 6.7. Um ficheiro .desktop
de exemplo
Aqui está um ficheiro .desktop de exemplo que acompanha o programa acima.
# Exemplo de um ficheiro .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=<p>Usage: <code>uppercase-selection</code></p>
Como poderá ver, 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 comandos com o X-Kate-Command. Os itens Name, Comment e X-Kate-Help são traduzidos automaticamente para outras línguas pelas equipas de traduções do KDE, se os ficheiros estiverem no repositório de SVN do KDE.
O Kate irá procurar nas pastas de programas (ver acima) por ficheiros *.js
. Para cada um deles, verifica se existe um ficheiro .desktop
correspondente, como por exemplo, maiusculas.js corresponderia a maiusculas.desktop.
Se não for encontrado um ficheiro .desktop
, o programa será registado na linha de comandos com o nome do ficheiro sem o '.js' final, para que, no nosso exemplo, fosse maiusculas
. Se o nome do comando for aceitável e não necessitar de funcionalidades extra de um ficheiro .desktop
, não será necessário de todo um ficheiro .desktop
.
Se o ficheiro .desktop
existir, o 'katepart' irá ler o nome sob o qual o programa será registado, a partir do item do '.desktop' X-Kate-Command, como por exemplo X-Kate-Command=seleccao-maiusculas.
Este comando inicia um novo documento na janela de edição. Na lista à esquerda, o novo ficheiro chama-se Sem título.
Lança a janela de abertura de ficheiros do KDE para o deixar abrir um ou mais ficheiros.
Este comando permite-lhe abrir um ficheiro a partir de um sub-menu que contém uma lista com os ficheiros editados recentemente.
Este submenu apresenta uma lista com as aplicações conhecidas que conseguem lidar com o tipo MIME do seu documento actual. Se activar um item, irá abrir o documento actual com essa aplicação.
Para além disso, existe um comando , que invoca a janela de selecção de aplicações que lhe permite seleccionar outra aplicação para abrir o ficheiro activo. O seu ficheiro manter-se-á aberto à mesma no Kate.
Este comando grava o seu ficheiro. Use-o com frequência. Se o ficheiro estiver Sem título, o torna-se .
Atribui e muda o nome dos ficheiros com este comando. Ele invoca a janela de gravação de ficheiros. Esta janela funciona tal e qual a janela de abertura de ficheiros. Podê-la-á usar para navegar pelo seu sistema de ficheiros, antever os ficheiros existentes ou filtrar a sua lista de ficheiros com máscaras.
Indique o nome que deseja dar ao ficheiro que irá gravar na lista Localização e carregue no botão .
Este comando grava todos os ficheiros abertos e modificados.
Relê o ficheiro activo do disco. Este comando é útil se outro programa ou processo tiver alterado o ficheiro, enquanto o deixou aberto no Kate
Imprime o ficheiro activo.
Exporta o seu ficheiro para o formato HTML, para que o documento possa ser visto como uma página Web.
Abre o seu cliente de e-mail e anexa o ficheiro a uma mensagem.
Feche o ficheiro activo com este comando. Se tiver feito alterações sem as gravar, ser-lhe-á questionado se deseja gravar o ficheiro antes de o Kate o fechar.
Este comando fecha todos os ficheiros que o utilizador tiver abertos no Kate.
Este comando fecha o Kate e todos os ficheiros que você estava a editar. Se fez alterações aos ficheiros e ainda não as gravou, ser-lhe-á questionado se o deseja fazer.
O menu contém um conjunto de comandos para lidar com o documento activo no momento.
Opções do Menu
Desfaz o último comando de edição (escrever, copiar, colar, etc.)
Se o agrupamento de anulações estiver activo, isto pode desfazer vários comandos de edição do mesmo tipo, como a introdução de caracteres.
Repete o último passo desfeito.
Remove o texto seleccionado, se existir, e coloca uma cópia do texto seleccionado na área de transferência.
Copia o texto seleccionado, se existir, para a área de transferência.
Copia o texto seleccionado com o realce de sintaxe como texto em HTML.
Copia o primeiro item da área de transferência para o editor na posição actual do cursor.
Se o Substituir Selecções estiver activo, o texto colado irá substituir a selecção, se existir.
Selecciona todo o texto no editor.
Retira a selecção de texto no editor, se existir.
Comuta o modo de Selecção. Quando o modo de selecção é “BLOCO”, o utilizador poderá fazer selecções verticais como, por exemplo, da coluna 5 à 10 e da linha 9 à 15.
A barra de estado mostra o estado actual do modo de selecção, como “NORM” ou “BLC”.
Lança a Janela de Procura para lhe permitir procurar por texto no documento editado.
Vai para a próxima ocorrência do último texto ou expressão regular pesquisados, a partir da posição actual do cursor
Vai para a ocorrência anterior do último texto ou expressão regular pesquisados, a partir da posição actual do cursor
Lança a Janela de Substituição para lhe permitir substituir uma ou mais instâncias de um texto definido por outra coisa qualquer.
Lança a Janela Ir Para, a qual lhe permite indicar um número de linha a procurar no documento
O menu de Documentos mostra uma opção de menu, por cada documento aberto, debaixo das opções aqui documentadas. Ao seleccionar uma delas, trará para primeiro plano o documento indicado. Se tiver várias janelas, será mostrado esse documento na janela activa.
Para além disso, são fornecidos os comandos para navegar pelos seus documentos abertos:
Opções do menu
Isto trará o documento anterior da lista para primeiro plano. Se você tiver várias janelas, o documento em questão será mostrado na janela activa.
A ordem corresponde à sequência pela qual os documentos foram abertos, em vez de ser por uma lógica de histórico. Este comportamento poderá alterar nas versões futuras do Kate.
Isto trará o documento seguinte da lista para primeiro plano. Se tiver várias janelas, o documento em questão será mostrado na janela activa.
A ordem corresponde à sequência pela qual os documentos foram abertos, em vez de ser por uma lógica de histórico. Este comportamento poderá alterar nas versões futuras do Kate.
O menu permite-lhe gerir a configuração específica do editor activo, bem como a gestão das sub-janelas.
Opções do Menu
Este comando irá activar ou desactivar a visualização da linha de comandos incorporada.
Este menu apresenta os esquemas disponíveis. Poderá alterar aqui o esquema para a janela actual; para alterar o esquema predefinido, necessita de usar a janela de configuração
Activa ou desactiva a mudança de linha dinâmica para a janela actual. A mudança de linha dinâmica faz com que todo o texto de uma janela fique visível, sem a necessidade de se deslocar na horizontal, repartindo uma linha em várias linhas visuais, de acordo com as necessidades.
Activa ou desactiva a visualização de uma linha vertical que indica a posição da largura da mudança da linha, como está definida na janela de configuração. Esta funcionalidade obriga a que use um tipo de letra realmente monoespaçado.
Isto é um item de comutação. Se o ligar, irá activar o Contorno de Ícones do lado esquerdo do editor activo, e vice-versa.
Isto é um item de comutação. Se o ligar, irá aparecer uma área que mostra os números de linha do documento visível à esquerda e vice-versa.
Activa ou desactiva a visualização de favoritos (e outras marcas) na barra de posicionamento vertical. Quando estiver activa, as marcas são representadas com uma linha fina com a cor da marca na barra de posicionamento onde, se carregar nesta, posicionar-se-á a janela numa posição próxima dessa marca.
Activa ou desactiva a visualização da área de marcadores de dobragem e desdobramento do lado esquerdo da janela. Veja a secção Usar a Dobragem de Código.
Recolhe todas as regiões de topo do documento.
Expande todas as regiões de topo do documento.
Recolhe a região mais próxima do cursor.
Expande a região mais próxima do cursor.
O menu permite-lhe lidar com os favoritos no seu documento activo.
Por baixo dos itens descritos aqui, existe uma opção por cada marcação no documento actual. O texto corresponderá às primeiras palavras da linha marcada. Escolha um item para mover o cursor para o início dessa linha. O editor deslocar-se-á de modo a tornar essa linha visível.
Opções do Menu
Define ou retira uma marcação na linha actual do documento. (Se existir, é removida, caso contrário será marcada).
Limpa (remove) todos os favoritos do documento actual.
Isto irá mover o cursor para o início da linha imediatamente acima que contiver um favorito. O texto do item do menu irá incluir o número da linha e o primeiro pedaço de texto da linha. Este item só está disponível quando houver um favorito numa linha acima do cursor.
Isto irá mover o cursor para o início da linha imediatamente abaixo que contiver um favorito. O texto do item do menu irá incluir o número da linha e o primeiro pedaço de texto da linha. Este item só está disponível quando houver um favorito numa linha acima do cursor.
Fornece o texto seleccionado de momento ao emulador de terminal incorporado. Não será adicionada nenhuma mudança de linha a seguir ao texto.
Este submenu contém todas as ferramentas externas configuradas por si.
Configura o documento actual no modo Apenas para Leitura. Isto evita que seja adicionado qualquer texto ou formatação do documento.
Escolhe o esquema de tipo de ficheiros que preferir para o documento activo. Isto substitui o modo de tipo de ficheiros global definido na opção -> na página de Tipos de Ficheiros somente para o seu documento.
Escolhe o esquema de realce de sintaxe que preferir para o documento activo. Isto substitui o modo de realce global definido na opção ->, somente para o seu documento.
Escolhe o estilo de indentação que preferir para o documento activo. Isto substitui o modo de indentação global definido na opção ->, somente para o seu documento.
Poderá sobrepor a codificação predefinida na opção ->, na página Abrir/Gravar, para definir uma codificação diferente para o seu documento actual. A codificação que definir aqui será válida apenas para o seu documento actual.
Escolhe o modo de fim de linha que preferir para o documento activo. Isto substitui o modo de fim de linha global definido na opção ->, somente para o seu documento.
Isto inicia o programa de verificação ortográfica - um programa que é desenhado para ajudar o utilizador a descobrir e a corrigir os erros ortográficos. Ao carregar nesta opção, irá iniciar o verificador ortográfico e trazer a janela com o suporte ortográfico. Existem quatro campos alinhados verticalmente no centro da janela com as suas legendas correspondentes à sua esquerda. A começar por cima, estas são:
Aqui, o verificador ortográfico indica a palavra sob consideração neste momento. Isto acontece quando o verificador ortográfico encontra uma palavra que não se encontra no seu dicionário - um ficheiro que contém uma lista com as palavras correctas com as quais compara cada palavra no editor.
Se o verificador ortográfico encontrar alguma palavra semelhante no seu dicionário, é listada aqui a primeira. O utilizador poderá aceitar a sugestão, escrever a sua própria correcção ou escolher uma sugestão diferente na próxima lista.
O verificador poderá enumerar aqui uma quantidade de substituições possíveis para a palavra em consideração. Se carregar em alguma das sugestões, fará com que a mesma seja introduzida no campo Substituição: em cima.
Se tiver instalado vários dicionários, aqui poderá seleccionar qual o dicionário/língua que deverá ser usado.
Do lado direito da janela, existem 5 botões que permitem ao utilizador controlar o processo de verificação ortográfica. São estes:
Se carregar neste botão, irá adicionar a palavra no campo Palavra Errada: ao dicionário do corrector. Isto significa que, no futuro, o verificador ortográfico irá considerar sempre esta palavra como correcta.
Este botão faz com que o corrector substitua a palavra em consideração no documento pela palavra no campo Substituição:.
Este botão faz com que o corrector não só substitua a Palavra desconhecida: actual, mas também faça a mesma substituição para todas as outras ocorrências desta Palavra Errada: no documento.
Ao activar este botão, fará com que o verificador ortográfico siga em frente, sem efectuar quaisquer alterações.
Este botão diz ao corrector ortográfico para não fazer nada com a Palavra desconhecida: actual e para seguir em frente com todas as instâncias da mesma palavra.
Isto só se aplica a esta ronda de verificação ortográfica. Se o verificador for executado de novo, mais tarde, irá parar na mesma palavra.
Existem mais três botões por baixo da janela de verificação ortográfica. Estes são:
Isto invoca o sistema de ajuda do KDE, iniciando nas páginas de ajuda do Kate (este documento).
Este botão cancela o processo de verificação ortográfica e volta para o documento.
Este botão cancela o processo de verificação ortográfica; todas as modificações são anuladas e você irá voltar ao seu documento.
Isto inicia o programa de verificação ortográfica, mas inicia a partir do cursor, em vez de começar no início do documento.
Faz uma verificação ortográfica da selecção actual.
Isto aumenta a indentação do parágrafo em um passo. O tamanho do passo depende da configuração da indentação.
Isto reduz a indentação do parágrafo em um passo. O tamanho do passo depende da configuração da indentação.
Isto limpa a indentação da selecção actual ou da linha onde o cursor se encontra. Se limpar a indentação, garante que todo o seu texto seleccionado segue o modo de indentação que escolher.
Faz um novo alinhamento da linha actual ou das linhas seleccionadas, usando o modo de indentação e a configuração de indentação no documento.
Isto adiciona mais um espaço ao início da linha onde o cursor de texto se encontra ou ao início das linhas seleccionadas.
Isto remove um espaço (se existir) ao início da linha onde o cursor se encontra ou ao início das linhas seleccionadas.
Coloca o texto seleccionado ou a letra a seguir ao cursor em maiúsculas.
Coloca o texto seleccionado ou a letra a seguir ao cursor em minúsculas.
Capitaliza (coloca a primeira letra em maiúsculas e as restantes em minúsculas) o texto seleccionado ou a palavra actual.
Junta as linhas seleccionadas, ou a linha actual e a seguinte, separando-as apenas com um espaço. Os espaços finais/iniciais das linhas reunidas são removidas dos extremos colados.
Aplica uma mudança de linha estática em todo o documento. Isto significa que uma linha nova de texto irá iniciar automaticamente, quando a linha actual exceder o tamanho definido na opção 'Mudar de Linha em:' da página de Edição em ->
Este menu contém itens para usar e gerir as sessões do Kate. Para mais informações, leia mais sobre como Usar as Sessões.
Cria uma sessão nova vazia. Todos os ficheiros abertos de momento serão fechados.
Abre uma sessão existente. A janela do Selector de Sessões aparece, para que possa escolher uma.
Este submenu permite-lhe abrir uma sessão existente.
Grava a sessão actual. Se a sessão for anónima, ser-lhe-á pedido um nome para a sessão.
Grava a sessão actual com um nome novo. Ser-lhe-á pedido o nome a usar.
Mostra a janela do Gestor de Sessões, que lhe permite mudar o nome às sessões e removê-las.
O menu permite-lhe alterar as propriedades da janela principal, como mostrar/esconder as barras de ferramentas; fornece ainda o acesso às janelas de configuração.
Este submenu apresenta as barras de ferramentas disponíveis, onde cada item activa ou desactiva a visibilidade da barra de ferramentas associada.
Activa ou desactiva a visualização no ecrã inteiro.
Este comando irá passar para o menu Janela, numa versão futura do Kate
Mostra a conhecida janela de Configuração de Atalhos do Teclado do KDE.
Mostra a conhecida Janela de Configuração de Barras de Ferramentas do KDE.
Lança a Janela de Configuração Principal
Abre outra instância do Kate. A nova instância será igual à anterior.
Isto irá repartir a janela (que pode ser a área de edição principal) em duas sub-janelas iguais, sendo a nova a que se situa à esquerda. A nova sub-janela fica em primeiro plano e irá mostrar o mesmo documento que a anterior.
Vê também em Trabalhar com o MDI do Kate
Isto irá repartir a janela (que pode ser a área de edição principal) em duas sub-janelas iguais, sendo a nova a que se situa por baixo. A nova sub-janela fica em primeiro plano e irá mostrar o mesmo documento que a anterior.
Vê também em Trabalhar com o MDI do Kate
Fecha a sub-janela activa. Isto está desactivado, se só existir uma sub-janela (a área de edição principal).
Os documentos não são fechados quando se fecha uma sub-janela – eles ficam disponíveis à mesma no Menu , assim como na Lista de Ficheiros.
Vê também em Trabalhar com o MDI do Kate
Coloca a área do documento seguinte em primeiro plano, se tiver dividido a área de edição em várias vistas.
Coloca a área do documento anterior em primeiro plano, se tiver dividido a área de edição em várias vistas.
Activa ou desactiva a visibilidade das linhas de botões da barra lateral. Este comando não afecta a visibilidade dos elementos da barra lateral, isto é, todas as barras laterais que estavam visíveis assim irão continuar e, se tiver atribuído atalhos aos comandos abaixo, estes irão também continuar a funcionar.
Liga e desliga a lista de documentos do Kate
Liga e desliga o navegador do sistema de ficheiros do Kate
Liga e desliga a ferramenta para Procurar em Ficheiros.
Liga e desliga o emulador de terminal incorporado.
Quando é activado pela primeira vez, o terminal será criado.
Quando o emulador de terminal é mostrado, irá ficar em primeiro plano, de modo a que possa começar a introduzir comandos de imediato. Se a opção Sincronizar o Konsole com o Documento Actual estiver activa na Página Geral da Janela de Configuração Principal, a linha de comandos fará cd para a pasta do documento activo, se for um ficheiro local.
Tal como as opções de menu normais de do KDE descritas em baixo, terá alguns itens de menu para mostrar os Manuais de Utilizador dos 'Plugins'.
Invoca a ajuda do KDE, aberta na documentação do Kate. (este documento).
Muda o cursor do rato para uma mistura de uma seta com um ponto de interrogação. Ao carregar nos itens do Kate irá abrir uma janela de ajuda (se existir alguma para o item em particular) que explica a função do item.
Abre a janela de Relato de Erros onde pode comunicar um erro ou “pedir” uma funcionalidade.
Mostra a versão da aplicação e as informações do autor.
Mostra a versão do KDE bem como outras informações básicas.
O Kate oferece várias formas de equipar a aplicação para que se comporte como desejado. As mais importantes são:
A ferramenta de configuração principal, que permite ao utilizador configurar a aplicação Kate, o componente do editor e a utilização de 'plugins'.
permite-lhe alterar as opções mais usadas e lançar as janelas de configuração.
Permite-lhe repartir a janela actual, assim como mostrar a barra de ícones e de números de linha para o documento actual.
O Konsole embutido usa a configuração definida no Centro de Controlo KDE, e pode ser configurado se carregar com o botão do rato e seleccionar no submenu .
A janela de configuração do Kate mostra uma árvore com os tópicos à esquerda, bem como uma página de configuração correspondente ao tópico seleccionado à direita. A árvore agrupa as páginas da janela em grupos lógicos.
A configuração está dividida em dois grupos, nomeadamente
Este grupo contém páginas para configurar a aplicação principal do Kate
Esta secção contém algumas opções globais para o Kate
Quando estiver activa, o Kate irá mostrar o URL completo do seu documento actual na janela do título, em vez de usar apenas o nome do ficheiro.
Isto fará com que o Konsole incorporado faça cd para a pasta do documento activo quando for lançado e de cada vez que um novo documento passar para primeiro plano. Se não estiver activo, tem de efectuar a sua navegação no Konsole por si próprio.
Quando esta opção estiver activa, o Kate notificá-lo-á dos ficheiros modificados fora da aplicação, sempre que a janela principal for colocada em primeiro plano. Será então capaz de lidar com vários ficheiros modificados de uma vez, os quais poderá voltar a carregar, gravar ou esquecer os ficheiros alterados nos grupos.
Se não estiver activada, o Kate perguntar-lhe-á a acção a fazer, quando um ficheiro modificado externamente ficar em primeiro plano, dentro da aplicação.
Quando estiver activa, o Kate irá guardar alguns meta-dados, como a configuração dos favoritos e da sessão, mesmo quando fechar os seus documentos. Os dados serão usados, se o documento não estiver alterado, quando for aberto de novo.
Indica o número máximo de dias durante os quais mantém a meta-informação dos ficheiros por abrir. Isto mantém a base de dados de meta-informação com um tamanho razoável.
Esta secção contém opções relacionadas com a utilização das sessões.
Se estiver activada esta opção, o Kate irá gravar a configuração da janela com cada sessão.
Seleccione a forma como deseja que o Kate se comporte no arranque. Esta opção poderá ser substituída se definir o que fazer na linha de comandos.
Com esta opção, o Kate irá iniciar uma sessão nova sem nome, quando a iniciar.
O Kate irá usar a sessão mais recente no arranque. Isto é bom se quiser usar a mesma sessão sempre ou deseja mudar raramente.
O Kate irá mostrar uma pequena janela que lhe permite escolher a sua sessão preferida. Este é o comportamento por omissão. Isso é bom se usar bastantes sessões diferentes com frequência.
As modificações aos dados da sessão (ficheiros abertos e, se assinalado, a configuração da janela) não serão gravadas. Será avisado, claro, se tiver ficheiros por gravar. Com esta opção, poderá configurar as suas sessões uma vez; não se preocupe em fechar os ficheiros extra que tiver aberto e não quiser ver da próxima vez que usar a sessão.
O Kate irá gravar os dados da sessão, excepto se a sessão não tiver nome. Com esta opção, as suas sessões são sempre repostas, tal como as deixou. Este é o comportamento por omissão.
Ser-lhe-á perguntado se deseja gravar a sessão sempre que uma sessão com nome for fechada.
Configure os botões no navegador do sistema de ficheiros, movendo os que deseja activar para a lista de Acções Seleccionadas e ordenando-os com as setas ao lado da lista.
Poderá fazer com que o navegador do sistema de ficheiros navegue automaticamente para a pasta que contém o documento actual no caso de certos eventos:
Quando um documento novo ficar activo.
Quando o navegador do sistema de ficheiros ficar activo.
Seleccione o tamanho que deseja manter para o histórico de navegação. O navegador só se recorda das localizações individuais, sendo que os duplicados são removidos.
Seleccione quantos filtros deseja recordar. Só os filtros distintos individualmente é que serão recordados, sendo que os duplicados serão removidos.
Configure se o navegador do sistema de ficheiros deverá recordar a sua localização e filtros para as outras sessões.
Esta página permite-lhe activar ou desactivar a visualização sombreada do fundo da sua actividade recente e escolher as cores a usar, se estiver activada. Veja a secção sobre a Lista de Documentos para mais dados sobre esta funcionalidade.
Indique como deseja ordenar a lista de documentos. Isto também poderá ser feito, com o menu do botão
do rato, na lista de documentos.Esta página oferece uma lista de 'plugins' instalados para a aplicação Kate. Cada 'plugin' é representado pelo seu nome e uma breve descrição. Poderá assinalar a opção com um item para activar o 'plugin' que representa.
Se um 'plugin' tiver opções de configuração, irá aparecer uma secção para aceder a estas, como filha desta página.
No menu , você poderá ver um submenu chamado . Estas ferramentas invocam aplicações externas com dados relacionados com o documento actual, como por exemplo o seu URL, pasta, texto ou selecção. Esta página permite-lhe gerir o menu e editar, remover ou adicionar ferramentas.
Cada ferramenta externa é um comando da consola que contém macros representantes dos dados do documento. Quando estiver activada, as macros são substituídas por dados do documento activo.
Propriedades das Ferramentas Externas
Uma legenda amigável para o menu de Ferramentas Externas.
O programa a executar quando a ferramenta estiver activada. Antes de passar o programa à linha de comandos, são substituídas as seguintes macros:
O URL completo do documento actual ou um texto vazio, se o documento não for gravado.
Uma lista, separada por espaços, dos URLs de todos os documentos abertos (excepto os não-gravados).
A parte de directoria do URL do documento actual ou um texto vazio se o documento actual não estiver gravado.
O nome do ficheiro do documento actual, sem a parte da pasta, ou um texto vazio se o documento actual não estiver gravado.
O número de linha onde o cursor de inserção se encontra no documento actual.
O número da coluna onde o cursor de inserção se encontra no documento actual.
O texto seleccionado no documento actual ou um texto vazio se não estiver qualquer texto seleccionado
O texto completo do documento actual. Tenha em atenção que este poderá exceder potencialmente o comprimento máximo do comando no seu sistema. Use-o com cuidado.
O executável principal no programa. Isto é obrigatório e é usado para testar se o comando poderá ser executado de todo. É permitida uma localização absoluta, no caso de o executável não se encontrar acessível através da sua variável PATH
.
Uma lista, separada por pontos-e-vírgulas, dos tipos MIME que estão activos para este comando. Isto normalmente não é usado.
O utilizador poderá, opcionalmente, optar por gravar o documento actual ou todos os documentos, antes de executar o programa. Isto é útil se o seu programa ler o ficheiro do disco.
Se você preencher isto, a ferramenta estará disponível na linha de comandos dos editores como exttool-Nome da Linha de Comandos
(o texto que indicar aqui é antecedido por “exttool-”).
Este grupo contém todas as páginas relacionadas com o componente de edição do Kate. A maioria das configurações aqui são os valores predefinidos, que podem ser substituídos ao definir um tipo de ficheiro, nas Variáveis do Documento ou através da sua alteração, durante uma sessão de edição do documento.
Se esta opção estiver assinalada, as linhas de texto serão repartidas no contorno da janela no ecrã.
Escolha se deseja mostrar os indicadores de mudança de linha dinâmica.
Activa o início das linhas repartidas com mudanças de linha dinâmicas, de modo a ficarem alinhadas na vertical com o nível de indentação da primeira linha. Isto poderá ajudar a tornar o código e a formatação mais legíveis.
Para além disso, isto permite-lhe definir uma largura máxima do ecrã, como percentagem, após a qual as linhas repartidas de forma dinâmica não serão mais alinhadas na vertical. Por exemplo, a 50%, as linhas cujos níveis de indentação sejam mais profundas que 50% da largura do ecrã não terão qualquer alinhamento vertical aplicado às linhas repartidas subsequentes.
Se esta opção estiver assinalada, a janela actual irá mostrar marcações para dobrar ou desdobrar o código, se este estiver disponível.
Se esta opção estiver assinalada, irá ver um contorno para os ícones do lado esquerdo. O contorno dos ícones mostra os sinais de favoritos, por exemplo.
Se esta opção estiver assinalada, irá ver os números das linhas do lado esquerdo.
Se esta opção estiver assinalada, a janela actual irá mostrar algumas marcas na barra de posicionamento vertical. Estas marcas, por exemplo, poderão mostrar os favoritos.
Os favoritos irão ser ordenados pelos números de linhas onde estão colocados.
Cada novo favorito será adicionado no fim, independentemente de onde se encontra colocado no documento.
Se esta opção estiver assinalada, o editor irá mostrar linhas verticais para ajudar a identificar as linhas de indentação.
Esta secção da janela permite-lhe configurar todos os tipos de letra e cores de qualquer esquema de cores que tiver, assim como criar esquemas novos ou remover os existentes. Cada esquema tem a configuração das cores, tipos de letra e estilos do texto normal e seleccionado.
O Kate irá seleccionar previamente o esquema activo de momento para si; se quiser trabalhar sobre um esquema diferente, comece por seleccioná-lo na lista Esquema.
Este é o fundo por omissão para a área de edição, sendo a cor dominante da área do editor.
Este é o fundo do texto seleccionado. O valor por omissão é a cor global de selecção, como está definida nas preferências de cores do KDE.
Define a cor da linha actual. Se configurar esta como um pouco diferente do fundo do Texto Normal, ajudá-lo-á a concentrar-se na linha actual.
Esta lista permite-lhe sobrepor as cores dos vários tipos de marcações. A cor é misturada com a cor de fundo de uma linha marcada, para que uma linha com mais marcas ou a linha actual tenha um fundo que seja uma mistura de mais cores. As cores das marcações são também usadas se activar a visualização das marcas na barra de posicionamento.
Esta cor é usada para as marcas, números de linhas e contornos das marcações de desdobramento do lado esquerdo da janela de edição, quando forem apresentados.
Esta cor é usada para desenhar os números de linha do lado esquerdo da janela, quando estiverem visíveis.
Esta cor é usada para desenhar o fundo dos parêntesis correspondentes.
Esta cor é usada para desenhar um padrão à esquerda das linhas repartidas com mudança de linha, quando estiverem alinhadas na vertical, assim como para as marcações de mudanças de linha estáticas.
Esta cor é usada para desenhar os indicadores de espaços em branco, quando estiverem activos.
Aqui, o utilizador poderá escolher o tipo de letra por omissão para o KWrite. Pode escolher qualquer tipo de letra disponível no seu sistema, assim como definir um tamanho por omissão e uma codificação. Um texto de exemplo aparecerá na parte inferior da janela, para que possa ver o efeito das suas opções.
Os estilos de texto normal são herdados pelos estilos de texto realçados, permitindo ao editor apresentar o texto de forma bastante consistente; por exemplo, o texto do comentário usa o mesmo estilo em quase todos os formatos de texto que o Kate consegue realçar.
O nome na lista de estilos está a usar o estilo configurado para o item, oferecendo-lhe uma antevisão imediata ao configurar um estilo.
Cada estilo permite-lhe seleccionar atributos comuns, assim como as cores do texto e do fundo. Para retirar uma cor de fundo, carregue com o botão direito para usar o menu de contexto.
Aqui poderá editar os estilos de texto usados por uma definição de realce específica. O editor selecciona previamente o realce usado pelo seu documento actual. Para funcionar com um realce diferente, seleccione um na lista Realce, por cima da lista de estilos.
O nome na lista de estilos está a usar o estilo configurado para o item, oferecendo-lhe uma antevisão imediata ao configurar um estilo.
Cada estilo permite-lhe seleccionar os atributos comuns, assim como as cores de fundo e do texto. Para retirar uma cor de fundo, carregue com o botão direito para usar o menu de contexto. Para além disso, poderá verificar se um estilo é igual ao predefinido que for usado para o item, e configurá-lo como tal, se não estiver.
Irá reparar que vários realces contêm outros realces, representados por grupos na lista de estilos. Por exemplo, a maioria dos realces implementam o realce Alert (Alerta) e muitos formatos de código importam o realce do Doxygen. A edição das cores destes grupos só irá afectar os estilos se forem usados no formato de realce editado.
Quando estiver seleccionado, se carregar na tecla Home, fará com que o cursor salte os espaços em branco e vá para o início do texto de uma linha.
Quando estiver activada esta opção, se mover o cursor de inserção com as teclas Esquerda e Direita, irá para a linha anterior/seguinte no início/fim da linha, como acontece nos outros editores.
Quando esta opção for seleccionada, a movimentação do cursor com as teclas dos cursores para além do fim da linha (à direita) faz com que o cursor mude para o início da próxima linha. Do mesmo modo, quando o cursor passar para trás do início de uma linha (à esquerda) salta para o fim da linha anterior. Quando esta linha não estiver seleccionada, a movimentação do cursor para lá do fim da linha simplesmente faz com que esta continue horizontalmente na mesma linha, assim como a movimentação para lá do início da linha não fará nada.
Esta opção altera o comportamento do cursor quando o utilizador carregar nas teclas Page Up ou Page Down. Se não estiver seleccionada, o cursor do texto irá manter a sua posição relativa, dentro do texto visível no Kate, à medida que vai ficando texto novo visível em resultado da operação. Como tal, se o cursor estiver a meio do texto visível, quando ocorrer a operação, irá permanecer nesse estado (excepto se atingir o início ou o fim.) Com esta opção seleccionada, a primeira tecla fará com que o cursor se mova para o topo ou o fundo do texto visível, à medida que for apresentada uma página nova de texto.
Indica o número de linhas a manter visível acima e abaixo do cursor, sempre que possível.
As selecções serão sobrepostas pelo texto escrito e serão perdidas com o movimento do cursor.
As selecções manter-se-ão mesmo com a introdução de texto e a movimentação do cursor.
Quando isto estiver activo, o editor irá inserir um número calculado de espaços, de acordo com a posição no texto e a configuração tab-width
, quando carregar na tecla TAB.
Quando esta opção estiver activa, o Kate irá mostrar um pequeno ponto como representação visual dos caracteres de tabulação.
Isto fará também com que sejam desenhados pontos a representar os espaços em branco. Isto será corrigido numa versão futura do Kate
Se a opção Substituir Tabulações por Espaços estiver seleccionada, este item define o número de espaços com os quais o editor irá substituir automaticamente as tabulações.
A mudança de linha é uma funcionalidade que faz com que o editor inicie automaticamente uma linha de texto nova e mova (reparta) o cursor para o início dessa linha nova. O Kate irá iniciar automaticamente uma linha de texto nova, quando a linha actual atingir o tamanho indicado na opção Mudar de Linha Em:.
Activa ou desactiva a mudança de linha estática.
Se esta opção estiver assinalada, será desenhada uma linha vertical na coluna de mudança de linha, como está definido na opção -> na página de Edição. Lembre-se que o marcador de mudança de linha só é desenhado se usar um tipo de letra monoespaçado.
Se a opção de Mudança de Linha estiver seleccionada, este item define o tamanho (em caracteres) com que o editor irá iniciar uma linha nova automaticamente.
O Kate irá eliminar de forma automática os espaços extra no fim das linhas de texto.
Quando o utilizador escrever um parêntesis esquerdo ([, ( ou {), o Kate irá introduzir automaticamente o parêntesis direito (}, ) ou ]) à direita do cursor.
Aqui o utilizador poderá definir o número de passos que o Kate irá reter em memória, com o objectivo de anular os itens e acções. Isto significa que, quanto maior o número de passos, maior a quantidade de memória que o Kate irá usar para tal. Se configurar este valor como 10, significa que o utilizador seria capaz de anular as últimas dez operações, i.e., carregar no botão 10 vezes, obtendo os resultados respectivos.
Isto determina de onde o Kate irá obter o texto da procura (será introduzido automaticamente na janela para Procurar Texto):
Em Nenhum Lado: Não irá adivinhar o texto de procura.
Apenas a Selecção: Usar a selecção do texto actual, se disponível.
Selecção ou Palavra Actual: Usar a selecção actual, se disponível, caso contrário usa a palavra actual.
Apenas a Palavra Actual: Usa a palavra sob o cursor, se disponível.
Palavra Actual ou Selecção: Usa a palavra actual, se disponível, caso contrário usa a selecção actual.
Seleccione o modo de indentação automático que desejar usar por omissão. Recomenda-se que use o Nenhum
ou o Normal
aqui e use as configurações do tipo de ficheiro para definir outros modos de indentação para os formatos de texto, como o código em C/C++ ou o XML.
Insere automaticamente um "*" inicial, enquanto escreve dentro de um comentário do tipo do Doxygen. Esta configuração só está activa quando tal se aplicar.
Isto substitui as tabulações pelo número de espaços definido no campo Número de espaços: em baixo.
Usa uma mistura de tabulações e espaços na indentação.
Defina o número de espaços que deseja usar na indentação, quando assinalar a opção Usar espaços em vez de tabulações para indentar.
Quando esta opção estiver activa, o editor não irá remover mais a indentação das linhas de uma selecção, quando a linha com menor indentação ficar completamente sem indentação. Se algumas vezes retirar blocos de indentação no código, isto poderá ser útil.
As indentações com mais espaços que os seleccionados não serão encolhidas.
Isto permite usar a tecla Tab para indentar.
Isto permite usar a tecla Backspace para indentar.
Isto permite usar a tecla Tab para indentar.
Isto permite usar a tecla Tab para indentar.
Isto permite usar a tecla Tab para indentar.
Isto altera a codificação de caracteres do seu ficheiro.
Escolha o seu fim de linha preferido para o seu documento activo. Terá a opção entre o UNIX®, DOS/Windows® ou o Macintosh.
Assinale isto se quiser que o editor detecte automaticamente o tipo do fim da linha. O primeiro tipo encontrado será o usado para o ficheiro completo.
O editor irá carregar o número de blocos indicado (com cerca de 2048 linhas) com texto para a memória; se o tamanho do ficheiro for maior que isto, os outros blocos são transferidos para o disco e carregados de forma transparente, à medida das necessidades.
Isto poderá provocar alguns pequenos atrasos ao navegar no documento; um número de blocos maior aumenta a velocidade de edição com uma sobrecarga na memória.
Para uma utilização normal, basta escolher o número de blocos maior que for possível: limite-o apenas se tiver problemas com a utilização de memória.
O editor irá eliminar automaticamente os espaços extra, no fim das linhas de texto, enquanto carrega/grava o ficheiro.
O editor irá procurar para cima, pelo número indicado de níveis da pasta, no ficheiro de configuração do Kate, e irá carregar a linha de configuração do mesmo.
Se salvaguardar ao gravar, fará com que o Kate copie o ficheiro do disco para <prefixo><ficheiro><sufixo>' antes de gravar as alterações. O sufixo é, por omissão, ~ e o prefixo está em branco, por omissão.
Assinale isto se quiser cópias de segurança dos ficheiros locais ao gravar.
Assinale isto se quiser cópias de segurança dos ficheiros remotos ao gravar.
Indique o prefixo com que antecede os nomes das cópias de segurança.
Indique o sufixo com que termina os nomes das cópias de segurança.
Este grupo de opções é usado para personalizar os estilos de realce para cada tipo de linguagem de programação. Todas as alterações que fizer nas outras áreas desta janela só se irão aplicar a este tipo.
Isto é usado para mudar o tipo de linguagem a configurar.
Veja as propriedades das regras de realce da linguagem escolhida: nome do autor e licença.
Esta é a lista de extensões de ficheiros, usadas para determinar os ficheiros a realçar, com o modo de realce de sintaxe actual.
Se carregar no botão do assistente, irá mostrar uma janela com todos os tipos MIME à escolha.
O item das Extensões de Ficheiros será automaticamente editado também.
Indica a prioridade da regra de realce.
Carregue neste botão para transferir descrições de realce de sintaxe novas ou actualizadas na página Web do Kate.
Esta página permite-lhe substituir a configuração por omissão dos documentos dos tipos MIME indicados. Quando o editor carregar um documento, irá tentar ver se corresponde às máscaras de ficheiros ou tipos MIME para cada um dos tipos definidos e, se tal se aplicar, aplica as variáveis definidas. Se corresponderem mais tipo de ficheiros, será usado o que tiver maior prioridade.
O tipo de ficheiro com a maior prioridade é o que será apresentado na primeira lista. Se forem encontrados mais tipos de ficheiros, estes serão também listados.
Isto é usado para criar um novo tipo de ficheiro. Depois de carregar neste botão, os campos abaixo ficam em branco, para que possa preencher as propriedades que deseja para o novo tipo de ficheiro.
Para remover um tipo de ficheiro existente, seleccione-o na lista e carregue no botão Apagar.
O tipo de ficheiro com a maior prioridade é o que será apresentado na primeira lista. Se forem encontrados mais tipos de ficheiros, estes serão também listados.
O nome do tipo de ficheiro será o texto do item de menu correspondente. Este nome é mostrado no item ->
O nome da secção é usado para organizar os tipos de ficheiros em menus. Este também é usado no menu ->.
Este texto permite-lhe configurar as opções do Kate para os ficheiros seleccionados por este tipo MIME, usando as variáveis do Kate. Poderá definir quase todas as opções de configuração, como o 'highlight', 'indent-mode', 'encoding', etc.
Para uma lista completa das variáveis conhecidas, veja o manual.
As máscaras com caracteres especiais permitem-lhe seleccionar ficheiros pelo nome. Uma máscara típica usa um asterisco e a extensão do ficheiro, como por exemplo *.txt; *.text
. O texto é uma lista, separada por pontos-e-vírgulas, de máscaras.
Inicia um assistente que o ajuda a escolher facilmente tipos MIME.
Escolhe a prioridade deste tipo de ficheiro. Se mais que um tipo de ficheiro condizer com um ficheiro, será utilizado o com a prioridade mais elevada.
Poderá alterar aqui a configuração dos atalhos. Seleccione uma acção e carregue em Personalizado se quiser um atalho diferente para esta acção.
A linha de procura permite-lhe procurar por uma determinada acção e ver o seu atalho associado.
As variáveis do Kate são a implementação do 'katepart' para as variáveis do documento, de forma semelhante à que acontece no Emacs e no VI. Na 'katepart', as linhas têm o formato kate: NOMEVARIÁVEL VALOR; [ NOMEVARIÁVEL VALOR; ... ]
; as linhas poderão estar, claro, num comentário, se o ficheiro estiver num formato que suporte comentários. Os nomes das variáveis são palavras únicas (sem espaços) e tudo o que estiver até ao próximo ponto-e-vírgula é o valor. Esse ponto-e-vírgula é obrigatório.
Aqui está uma linha de variável de exemplo, obrigando a configuração da indentação para um ficheiro em C++, Java ou JavaScript:
// kate: space-indent on; indent-width 4; mixedindent off; indent-mode cstyle;
Só as primeiras e últimas 10 linhas serão pesquisadas pelas linhas de variáveis.
Existem variáveis para suportar quase todas as configurações no 'katepart', e os 'plugins' adicionais podem usar as variáveis; nesse caso, deverá estar indicado na documentação do 'plugin'.
Ao ler a configuração, o 'katepart' procura nos seguintes locais (por esta ordem):
A configuração global.
Os dados opcionais da sessão.
A configuração do "Tipo de ficheiro".
As variáveis do próprio documento.
As configurações feitas durante a edição do menu ou da linha de comandos.
Todas as variáveis que não estejam indicadas em baixo são guardadas no documento e poderão ser pesquisadas por outros objectos, como os 'plugins', usando-as para os seus próprios fins. Por exemplo, o modo de indentação variável usa as variáveis do documento para a sua própria configuração.
As variáveis aqui indicadas dizem respeito ao Kate versão 2.4. Poderão ser adicionadas mais variáveis no futuro. Existem 3 tipos de valores definidos para as variáveis, com as expressões válidas seguintes:
BOOL - on|off|true|false|1|0
INTEIRO - qualquer número inteiro
TEXTO - tudo o resto
Variáveis Disponíveis
auto-brackets [BOOL]
Activa ou desactiva a inserção automática de parêntesis rectos.
auto-center-lines [INT]
Define o número de linhas centradas automaticamente.
auto-insert-doxygen [BOOL]
Activa ou desactiva a inserção do asterisco inicial nos comentários do 'doxygen'. Isto não faz efeito, a menos que você use o sistema de indentação do tipo do C.
background-color [TEXTO]
Define a cor de fundo do documento. O valor deverá ser algo que possa ser avaliado como uma cor válida, como por exemplo, "#ff0000".
backspace-indents [BOOL]
Activa ou desactiva a indentação com o Backspace.
block-selection [BOOL]
Activa ou desactiva a selecção em bloco.
bracket-highlight-color [TEXTO]
Define a cor de realce dos parêntesis. O valor deverá ser algo que possa ser avaliado como uma cor válida, como por exemplo "#ff0000"
current-line-color [TEXTO]
Define a cor da linha actual. O valor deverá ser algo que possa ser avaliado como uma cor válida, como por exemplo "#ff0000".
dynamic-word-wrap [BOOL]
Activa ou desactiva a mudança de linha dinâmica.
eol | end-of-line [TEXTO]
Define o modo de fim-de-linha. Os valores válidos são o “unix”, o “mac” e o “dos”
encoding [TEXTO]
Define a codificação do documento. O valor deverá ser um nome de codificação válido, como por exemplo “utf-8”.
font-size [INT]
Define o tamanho da letra do documento.
font [TEXTO]
Define o tipo de letra do documento. O valor deverá ser um nome de um tipo de letra válido, como por exemplo “courier”.
icon-bar-color [TEXTO]
Define a cor da barra de ícones. O valor deverá ser algo que possa ser avaliado como uma cor válida, como por exemplo #ff0000
.
icon-border [BOOL]
Activa ou desactiva a visibilidade do contorno dos ícones.
folding-markers [BOOL]
Activa ou desactiva a visualização dos marcadores de expansão/contracção do código.
indent-mode [TEXTO]
Define o modo de indentação automática. As opções “none”, “normal”, “cstyle”, “csands”, “python”, “xml” são as reconhecidas, de momento. Veja a secção “Utilizar a indentação automática” para mais detalhes.
indent-width [INT]
Define a largura de indentação.
keep-extra-spaces [BOOL]
Define se deseja manter os espaços extra ao calcular a largura de indentação.
keep-indent-profile [BOOL]
Se estiver activada, evita a remoção da indentação de um bloco se, pelo menos, uma linha não tiver indentação.
line-numbers [BOOL]
Activa ou desactiva a visibilidade dos números de linha.
mixed-indent [BOOL]
Activa ou desactiva a indentação mista à Emacs.
overwrite-mode [BOOL]
Activa ou desactiva o modo de sobreposição.
persistent-selection [BOOL]
Ligar ou desligar as selecções persistentes.
remove-trailing-space [BOOL]
Activa ou desactiva a limpeza dinâmica dos fins-de-linha.
replace-tabs-save [BOOL]
Activa ou desactiva a conversão de tabulações para espaços na gravação.
replace-tabs [BOOL]
Activa ou desactiva a conversão dinâmica de tabulações para espaços na gravação.
replace-trailing-space-save [BOOL]
Activa ou desactiva a limpeza dos fins-de-linha na gravação.
scheme [TEXTO]
Define o esquema de cores. O texto deverá ser o nome de um esquema de cores que exista na sua configuração, para que faça qualquer efeito.
selection-color [TEXTO]
Define a cor da selecção. O valor deverá ser algo que possa ser avaliado como uma cor válida, como por exemplo "#ff0000".
show-tabs [BOOL]
Activa ou desactiva o carácter TAB visível.
smart-home [BOOL]
Activa ou desactiva a navegação inteligente do Home.
space-indent [BOOL]
Activa ou desactiva a indentação com espaços.
tab-indents [BOOL]
Activa ou desactiva a indentação com tabulações.
tab-width [INT]
Define a largura das tabulações.
undo-steps [INT]
Define o número de passos a recordar no Desfazer/Refazer.
word-wrap-column [INT]
Define a largura restrita da linha para as palavras.
word-wrap-marker-color [TEXTO]
Define a cor do marcador de mudança de linha. O valor deverá ser algo que possa ser avaliado como uma cor válida, como por exemplo "#ff0000".
word-wrap [BOOL]
Activa ou desactiva a mudança restrita de linha das palavras.
wrap-cursor [BOOL]
Activa ou desactiva a envolvência do cursor.
Kate. Programa copyright 2000, 2001, 2002 - 2005 pela equipa de programadores do Kate.
A equipa do Kate:
(cullmann AT kde.org)
Gestor do Projecto e Programador Principal
(anders AT alweb.dk)
Programador Principal, realce de sintaxe do Perl, documentação
(kde AT jowenn.at)
Programador Principal, realce de sintaxe
(michael.bartl1 AT chello.at)
Programador Principal
(phlip_cpp AT my-deja.com)
O compilador do projecto
(bastian AT kde.org)
O sistema de 'buffers'
(newellm AT proaxis.com)
Testes...
(gholam AT xtra.co.nz)
Programador Principal
(digisnap AT cs.tu-berlin.de)
Autor do KWrite
(koch AT kde.org)
Conversão do KWrite para KParts
(gebauer AT bigfoot.com)
Não indicado
(hausmann AT kde.org)
Não indicado
(glenebob AT nwlink.com)
Histórico do Desfazer do KWrite, Integração com o KSpell
(sdmanson AT alltel.net)
Suporte do realce de sintaxe de XML do KWrite
(jfirebaugh AT kde.org)
Várias Correcções de Erros
(dhdev AT gmx.de)
Desenvolvimento, Mestre do realce
Muitas outras pessoas contribuíram:
(merlim AT libero.it)
Realce para os ficheiros SPEC do RPM, DIFF entre outras coisas
(rocky AT purdue.edu)
Realce para VHDL
Realce para SQL
Realce para Ferite
Realce para ILERPG
Realce para Java, entre outras coisas
Realce para LaTeX
Realce para Makefiles e Python
Realce para Python
Pequenas correcções de erros, 'plugin' de XML
Documentação copyright 2000,2001 Seth Rothberg (sethmr AT bellatlantic.org)
Documentação copyright 2002, 2003, 2005 Anders Lund (anders AT alweb.dk)
Tradução de José Nuno Pires (jncp AT netcabo.pt)
A documentação está licenciada ao abrigo da GNU Free Documentation License.
Este programa está licenciado ao abrigo da GNU General Public License.
Índice
O Realce de Sintaxe é o que faz o editor mostrar automaticamente o texto em diferentes estilos/cores, dependendo da função do texto em relação ao propósito do ficheiro. No código-fonte de um programa, por exemplo, as instruções de controlo podem ser representadas a negrito, enquanto os tipos de dados e os comentários têm cores diferentes do resto do texto. Isto aumenta em larga medida a legibilidade do texto, e por isso ajuda o autor a ser mais eficiente e produtivo.
Uma função de Perl, representada com realce de sintaxe.
A mesma função de Perl, sem realce de sintaxe.
Dos dois exemplos, qual é o mais fácil de ler?
O Kate vem com um sistema flexível, configurável e capaz de fazer realce de sintaxe; a distribuição normal oferece definições para um conjunto vasto de linguagens de programação, de manipulação e de 'scripting', bem como para outros formatos de texto. Para além disso, pode criar as suas próprias definições em ficheiros XML simples.
O Kate irá detectar automaticamente as regras de sintaxe correctas quando abrir um ficheiro, baseando-se no tipo MIME do ficheiro, pela sua extensão, ou se não tiver nenhuma, pelo seu conteúdo. Se a escolha for errada, pode definir manualmente a sintaxe a usar no menu ->.
Os estilos e cores usados por cada definição de realce de sintaxe podem ser configurados usando a página de Aparência da Janela de Configuração; por outro lado, os tipos MIME para os quais deve ser usada, podem ser configurados usando a página de Realce da Janela de Configuração.
O realce de sintaxe existe para melhorar a legibilidade do texto correcto, mas não pode esperar que ela valide o seu texto. A marcação do texto para a sintaxe é complicada, dependendo do formato que está a usar e, em muitos dos casos, os autores das regras de sintaxe sentir-se-ão orgulhosos se 98% do texto for correctamente apresentado, ainda que na maior parte das vezes precisa de um estilo raro para ver os 2% incorrectos.
Pode obter as definições de sintaxe adicionais ou actualizadas na página Web do Kate se carregar no botão na página de Realce da Janela de Configuração.
Esta secção irá discutir o realce de sintaxe do Kate com mais detalhe. É para si, se quiser saber acerca dele ou se quiser criar ou alterar as definições de sintaxe.
Sempre que o utilizador abrir um ficheiro, uma das primeiras coisas que o editor do Kate faz é detectar qual a definição de sintaxe a usar para o ficheiro. Enquanto vai lendo o texto do ficheiro, e enquanto você vai escrevendo nele, o sistema de realce de sintaxe irá analisar o texto usando as regras definidas pela definição da sintaxe e marcá-la onde os diferentes contextos e estilos começam e acabam.
Quando escrever no documento, o novo texto é analisado e marcado na altura, por isso, se apagar um carácter que está marcado como o início ou o fim de um contexto, o estilo do texto circundante muda de acordo com esse facto.
As definições de sintaxe usadas pelo sistema de realce de sintaxe do Kate são ficheiros XML que contêm
As regras para detectar o papel do texto, organizado em blocos de contextos
Listas de palavras-chave
Definições de Itens de Estilo
Ao analisar o texto, as regras de detecção são avaliadas na ordem em que são definidas, e se o início do texto actual corresponder a uma regra, o contexto relacionado será usado. O ponto inicial do texto é movido para o ponto final a partir do qual essa regra correspondeu, dando-se início a mais um ciclo das regras, o qual dá início no conjunto de contextos definido pela regra correspondente.
As regras de detecção são o 'coração' do sistema de detecção de sintaxe. Uma regra é uma cadeia de caracteres, um carácter ou uma expressão regular com a qual se faz a correspondência do texto a analisar. Contém informações sobre o estilo a usar para a parte correspondente do texto. Pode mudar do contexto actual do sistema para um outro contexto explícito ou para o contexto anterior usado pelo texto.
As regras são organizadas em grupos de contextos. Um grupo de contextos é usado para os conceitos principais do formato como, por exemplo, as cadeias de caracteres entre aspas ou os blocos de comentários no código-fonte do programa. Isto garante que o sistema de realce de sintaxe não precisa de circular por todas as regras quando não é necessário, e que algumas sequências de caracteres no texto podem ser tratadas de modo diferente, dependendo do contexto actual.
Os contextos poderão ser gerados dinamicamente, para permitir a utilização de dados específicos das instâncias nas regras.
Em algumas linguagens de programação, os números inteiros são tratados de forma diferente dos números de vírgula flutuante pelo compilador (o programa que converte o código-fonte num executável binário), assim como podem existir caracteres com um significado especial dentro de uma cadeia de caracteres entre aspas. Em ambos os casos, faz sentido mostrá-los de forma diferente dos seus vizinhos, de modo a que sejam fáceis de identificar enquanto o utilizador lê o texto. Por isso, mesmo que não representem contextos especiais, podem ser vistos como tal pelo sistema de realce de sintaxe, de modo que possam ser marcados para ser desenhados de diferente forma.
Uma definição de sintaxe pode conter tantos estilos quantos necessários para cobrir os conceitos do formato no qual é usado.
Em vários formatos, existem listas de palavras que representam um conceito específico. Como exemplo nas linguagens de programação, as instruções de controlo são um conceito, os tipos de dados são outro e as funções intrínsecas à linguagem são um terceiro conceito. O Sistema de Realce de Sintaxe do Kate pode usar essas listas para detectar e marcar as palavras no texto de modo a realçar os conceitos dos formatos de texto.
Se abrir um ficheiro de código em C++, um ficheiro de Java™ e um documento em HTML no Kate, irá ver que, ainda que os formatos sejam diferentes e, por isso, sejam seleccionadas palavras diferentes para um tratamento especial, as cores usadas são as mesmas. Isto deve-se ao facto do Kate ter uma lista predefinida de Estilos Predefinidos, os quais são empregues pelas definições de sintaxe individuais.
Isto facilita o reconhecimento de conceitos similares nos diferentes formatos de texto. Por exemplo, os comentários estão presentes em quase todas as linguagens de programação, 'scripting' ou de marcação, e quando são representados com o mesmo estilo em todas as linguagens, você não terá de parar e pensar para os identificar no texto.
Todos os estilos de uma definição de sintaxe usam um dos estilos por omissão. Algumas definições de sintaxe usam mais estilos para além dos predefinidos, por isso se usar um formato frequentemente, pode ser útil abrir a janela de configuração para ver se alguns conceitos estão a usar o mesmo estilo. Por exemplo, só existe um estilo por omissão para as cadeias de caracteres, mas como a linguagem de programação Perl lida com dois tipos de cadeias de caracteres, pode melhorar o realce se configurar esses dois tipos de uma forma ligeiramente diferente. Todos os estilos predefinidos disponíveis serão explicados mais tarde.
Esta secção é uma introdução ao formato XML da Definição de Realce. Irá descrever as componentes principais, bem como o seu significado e utilização, indo em mais detalhes com as regras de detecção.
A definição formal, mais conhecida por DTD, é guardada no ficheiro language.dtd
, o qual deve estar instalado no seu sistema na pasta $
. KDEDIR
/share/apps/katepart/syntax
Componentes principais das Definições de Realce do Kate
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd">
language
. Os atributos disponíveis são:Atributos necessários:
O name
define o nome da linguagem. Ele aparece nos menus e nas janelas respectivas.
O section
indica a categoria.
O extensions
define as extensões dos ficheiros, como por exemplo "*.cpp;*.h"
Atributos opcionais:
O mimetype
associa os ficheiros com base no Tipo MIME.
O version
indica a versão actual do ficheiro de definição.
O kateversion
indica a última versão suportada pelo Kate.
O casesensitive
define se as palavras-chave fazem distinção entre maiúsculas e minúsculas.
O priority
é necessário se outro ficheiro de definições de realce usar as mesmas extensões. Ganhará o que tiver maior prioridade.
O author
contém o nome do autor e o seu endereço de e-mail.
O license
contém a licença, que é normalmente a LGPL, a Artistic, a GPL, entre outras.
O hidden
define se o nome deverá aparecer nos menus do Kate.
Como tal, a próxima linha parece-se com o seguinte:
<language name="C++" version="1.00" kateversion="2.4" section="Sources" extensions="*.cpp;*.h" />
highlighting
, que contém o elemento opcional list
e os elementos obrigatórios contexts
e itemDatas
.O elemento list
contém uma lista de palavras-chave. Neste caso, as palavras-chave são a class e a const. Poderá adicionar tantas listas quanto desejar.
O elemento contexts
contém todos os contextos. O primeiro contexto é, por omissão, o início do realce. Existem duas regras no contexto Normal Text (Texto Normal), que correspondem à lista de palavras-chave com o nome um_nome e uma regra que detecta aspas e muda o contexto para string (cadeia de caracteres). Para aprender mais sobre as regras, leia o próximo capítulo.
A terceira parte é o elemento itemDatas
. Contém todas as cores e estilos de letra necessários pelos contextos e regras. Neste exemplo, são usados o itemData
de Normal Text (Texto Normal), String (Cadeia de Caracteres) e Keyword (Palavra-Chave).
<highlighting> <list name="um_nome"> <item> class </item> <item> const </item> </list> <contexts> <context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" > <keyword attribute="Keyword" context="#stay" String="somename" /> <DetectChar attribute="String" context="string" char=""" /> </context> <context attribute="String" lineEndContext="#stay" name="string" > <DetectChar attribute="String" context="#pop" char=""" /> </context> </contexts> <itemDatas> <itemData name="Normal Text" defStyleNum="dsNormal" /> <itemData name="Keyword" defStyleNum="dsKeyword" /> <itemData name="String" defStyleNum="dsString" /> </itemDatas> </highlighting>
general
. Poderá conter informações acerca das palavras-chave, expansão/recolhimento de código, comentários e indentação.A secção comment
define com que texto é introduzido um comentário para uma única linha. Poderá também definir comentários multi-linha, usando o multiLine com o atributo adicional end. Isto aplica-se se o utilizador carregar no atalho correspondente para comentar/descomentar.
A secção keywords
define se as listas de palavras-chave fazem distinção entre maiúsculas e minúsculas ou não. Os outros atributos serão explicados mais tarde.
<general> <comments> <comment name="singleLine" start="#"/> </comments> <keywords casesensitive="1"/> </general> </language>
Esta parte irá descrever todos os atributos disponíveis para o 'contexts', o 'itemDatas', o 'keywords', o 'comments', a expansão de código e a indentação.
context
pertence ao grupo contexts
. Um contexto, por si só, define as regras específicas do contexto, como o que deve acontecer se o sistema de realce chegar ao fim de uma linha. Os atributos disponíveis são:name
o nome do contexto. As regras irão usar este nome para indicar o contexto para onde mudar, se a regra corresponder.
O lineEndContext
define o contexto para onde o sistema de realce salta, se atingir o fim de uma linha. Poderá ser o nome de outro contexto, o #stay
para não mudar de contexto (p.ex., não fazer nada) ou o #pop
que fará com que saia deste contexto. É possível usar, por exemplo, #pop#pop#pop
para sair de dentro de três contextos.
O lineBeginContext
define o contexto, se for encontrado o início de uma linha. Por omissão: #stay.
O fallthrough
define se o sistema de realce salta para o contexto indicado em 'fallthroughContext' se não corresponder nenhuma regra. Por omissão: false.
O fallthroughContext
define o próximo contexto, se nenhuma regra corresponder.
O dynamic
, se for true (verdadeiro), fará com que o contexto recorde os textos/sequências de substituição gravados pelas regras dinâmicas. Isto é necessário, por exemplo, para os documentos do HERE. Por omissão: false.
itemData
está no grupo itemDatas
. Define o estilo e as cores do tipo de letra. Como tal, é possível definir os seus próprios estilos e cores, contudo recomenda-se que use os estilos predefinidos, para que o utilizador veja sempre as mesmas cores que são usadas nas várias linguagens. Todavia, existem casos em que não existe outra forma e, como tal, é necessário mudar os atributos de cores e tipos de letra. Os atributos 'name' e 'defStyleNum' são obrigatórios, enquanto os outros são opcionais. Os atributos disponíveis são:O name
define o nome do 'itemData'. Os contextos e regras irão usar este nome no seu atributo attribute, para referenciar um 'itemData'.
O defStyleNum
define qual o estilo predefinido a usar. Os estilos predefinidos disponíveis são explicados mais tarde em detalhe.
O color
define uma cor. Os formatos válidos são o '#rrggbb' ou '#rgb'.
O selColor
define a cor da selecção.
O italic
, se for true (verdadeiro), irá colocar o texto em itálico.
O bold
, se for true (verdadeiro), irá colocar o texto em negrito.
O underline
, se for true (verdadeiro), irá colocar o texto sublinhado.
O strikeout
, se for true (verdadeiro), irá colocar o texto traçado.
keywords
, no grupo general
, define as propriedades das palavras-chave. Os atributos disponíveis são:O casesensitive
poderá ser true (verdadeiro) ou false (falso). Se for true, todas as palavras-chave farão distinção entre maiúsculas e minúsculas
O weakDeliminator
é uma lista de caracteres que não irão actuar como separadores de palavras. Por exemplo, o ponto '.'
é um separador de palavras. Assuma que uma palavra-chave num list
contém um ponto; nesse caso, só irá corresponder se indicar que o ponto é um delimitador fraco.
O additionalDeliminator
define os delimitadores ou separadores adicionais.
O wordWrapDeliminator
define os caracteres após os quais poderá ocorrer uma mudança de linha.
Os delimitadores predefinidos e de mudança de linha são os caracteres .():!+,-<=>%&*/;?[]^{|}~\
, o espaço (' '
) e a tabulação ('\t'
).
comment
, no grupo comments
, define as propriedades dos comentários que são usadas nas opções -> e ->. Os atributos disponíveis são:O name
tanto poderá ser singleLine como multiLine. Se escolher o multiLine, serão necessários os atributos end e region.
O start
define o texto usado para iniciar um comentário. No C++, este será o "/*".
O end
define o texto usado para fechar um comentário. No C++, será o "*/".
O region
deverá ser o nome do comentário multi-linhas que poderá expandir ou recolher. Assuma que tem o beginRegion="Comment" ... endRegion="Comment" nas suas regras; nesse caso, deverá usar o region="Comment". Desta forma, a remoção de comentários funciona, mesmo que não tenha seleccionado todo o texto do comentário multi-linhas. O cursor só necessita de estar dentro deste comentário.
folding
, no grupo general
, define as propriedades de dobragem/desdobramento do código. Os atributos disponíveis são:O indentationsensitive
, se for true, aplicará os marcadores de dobragem de código com base na indentação, como acontece na linguagem de programação Python. Normalmente não terá de definir isto, dado que é por omissão false.
indentation
, no grupo general
, define qual o sistema de indentação a usar; contudo, recomenda-se que omita este elemento, dado que o sistema de indentação será normalmente definido a partir de um Tipo de Ficheiro ou através da adição da linha de modo no ficheiro de texto. Se indicar um sistema de indentação, todavia, irá obrigar o utilizador a usar um sistema de indentação específico, o que poderá não ser do agrado dele. Os atributos disponíveis são:O mode
é o nome do sistema de indentação. Os sistemas disponíveis de momento são: normal, cstyle, csands, xml, python e varindent.
Os estilos por omissão já foram explicados, em resumo: Os estilos predefinidos são os estilos de cores e tipos de letra predefinidos.
dsNormal
, usado para o texto normal.
dsKeyword
, usado nas palavras-chave.
dsDataType
, usado nos tipos de dados.
dsDecVal
, usado nos valores decimais.
dsBaseN
, usados nos valores com uma base diferente de 10.
dsFloat
, usado nos valores de vírgula flutuante.
dsChar
, usado para um único carácter.
dsString
, usado para conjuntos ou cadeias de caracteres.
dsComment
, usado nos comentários.
dsOthers
, usado para outras coisas.
dsAlert
, usado nas mensagens de aviso.
dsFunction
, usado nas chamadas a funções.
dsRegionMarker
, usado nos marcadores de regiões.
dsError
, usado para realçar erros e sintaxes inválidas.
Esta secção descreve as regras de detecção da sintaxe.
Cada regra pode corresponder a zero ou mais caracteres no início do texto que é testado. Se a regra corresponder, é atribuído o estilo ou atributo definido pela regra aos caracteres correspondentes; uma regra poderá perguntar se o contexto actual será alterado.
Uma regra parece-se com o seguinte:
<NomeRegra attribute="(identificador)" context="(identifier|order)" [atributos específicos da regra] />
O attribute identifica o estilo a usar para os caracteres correspondentes pelo nome ou índice; o context identifica, como será de esperar, o contexto a usar a partir daqui.
O context pode ser identificado por:
Um identificador, o qual é o nome do outro contexto.
Uma ordem que indica ao motor para permanecer no contexto actual (#stay
) ou para voltar a um contexto anterior usado no texto (#pop
).
Para recuar mais vezes, a palavra '#pop' pode ser repetida: #pop#pop#pop
Algumas regras podem ter regras-filhas, as quais podem ser avaliadas se e só se a regra-mãe foi verificada. O texto inteiro verificado terá o atributo definido pela regra-mãe. Uma regra com regras-filhas será algo do género:
<NomeRegra (atributos)> <NomeRegraFilho (atributos) /> ... </NomeRegra>
Os atributos específicos da regra variam e estão descritos nas seguintes secções.
Atributos comuns
Todas as regras têm os seguintes atributos em comum e estão disponíveis sempre que os (atributos comuns)
aparecerem. O attribute e o context são atributos obrigatórios, enquanto os outros são opcionais.
atributo: Um atributo mapeia-se num itemData definido.
context: Indica o contexto para onde muda o sistema de realce, se a regra corresponder.
beginRegion: Inicia um bloco de dobragem de código. Por omissão: não definido.
endRegion: Fecha uma região de dobragem de código. Por omissão: não definido.
lookAhead: Se for true (verdadeiro), o sistema de realce não irá processar o tamanho da correspondência. Por omissão: false.
firstNonSpace: Corresponder apenas se o texto for o primeiro não-espaço em branco da linha. Por omissão: false.
column: Corresponder apenas se a coluna corresponder. Por omissão: não definido.
Regras dinâmicas
Algumas regras permitem o atributo opcional dynamic
, do tipo booleano, cujo valor por omissão é false. Se o 'dynamic' for true, uma regra poderá usar sequências de substituição que representam o texto correspondente a uma expressão regular que mudou para o contexto actua, nos seus atributos string
ou char
. Num string
, o texto de substituição %N
(em que o N é um número) será substituído pela captura correspondente a N
na expressão regular de chamada. Num char
, a sequência de substituição deverá ser um número N
que será substituído pelo primeiro carácter da captura N
da expressão regular de chamada. Sempre que uma regra permitir este atributo, irá conter um (dinâmico).
dynamic: poderá ser (true|false).
Detecta um único carácter específico. É usado vulgarmente para encontrar, por exemplo, o fim das cadeias de caracteres entre aspas.
<DetectChar char="(carácter)" (atributos comuns) (dinâmico) />
O atributo char
define o carácter a encontrar.
Detecta dois caracteres específicos numa ordem definida.
<Detect2Chars char="(carácter)" char1="(carácter)" (atributos comuns) (dinâmico) />
O atributo char
define o primeiro carácter a encontrar, enquanto char1
define o segundo.
Detecta um carácter de um conjunto de caracteres especificados.
<AnyChar String="(texto)" (atributos comuns) />
O atributo String
define o conjunto de caracteres.
Detecta um texto exacto.
<StringDetect String="(string)" [insensitive="TRUE|FALSE;"] (atributos comuns) (dinâmico) />
O atributo String
define a sequência a encontrar. O atributo insensitive
é por omissão false
e é passado à função de comparação de cadeias de caracteres. Se o valor for true
a comparação não faz distinção entre maiúsculas e minúsculas.
Corresponde a uma expressão regular.
<RegExpr String="(texto)" [insensitive="TRUE|FALSE;"] [minimal="TRUE|FALSE"] (atributos comuns) (dinâmico) />
O atributo String
define a expressão regular.
O insensitive
é, por omissão, false
e é passado ao motor de expressões regulares.
O minimal
é, por omissão, false
e é passado ao motor de expressões regulares.
Como as regras se aplicam ao início do texto actual, uma expressão regular que comece por um acento circunflexo (^
) indica que a regra só deve ser verificada se for no início de uma linha.
Veja as Expressões Regulares para mais informações sobre elas.
Detecta uma palavra-chave a partir de uma lista específica.
<keyword String="(nome da lista)" (atributos comuns) />
O atributo String
identifica a lista de palavras-chave pelo seu nome. Deve existir uma lista com esse nome.
Detecta um número inteiro.
<Int (atributos comuns) (dinâmico) />
Esta regra não tem atributos específicos. As regras-filho são tipicamente usadas para detectar as combinações de L
e U
depois do número, o que indica o tipo inteiro no código do programa. De facto, todas as regras são permitidas como regras-filhas, contudo, o DTD só permite a regra-filha StringDetect
.
O exemplo seguinte faz correspondência com os números inteiros, seguidos do carácter 'L'.
<Int attribute="Decimal" context="#stay" > <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/> </Int>
Detecta um número de vírgula flutuante.
<Float (atributos comuns) />
Esta regra não tem atributos específicos. O AnyChar
é permitido como regra-filha e é tipicamente usada para detectar combinações; veja a regra Int
para mais referências.
Detecta uma representação de um número octal.
<HlCOct (atributos comuns) />
Esta regra não tem atributos específicos.
Detecta uma representação de um número em hexadecimal.
<HlCHex (atributos comuns) />
Esta regra não tem atributos específicos.
Detecta um carácter 'escapado'.
<HlCStringChar (atributos comuns) />
Esta regra não tem atributos específicos.
Corresponde a representações literais dos caracteres usados normalmente no código do programa como, por exemplo, o \n
(nova linha) ou o \t
(TAB).
Os seguintes caracteres irão corresponder se estiverem a seguir a uma barra invertida (\
): abefnrtv"'?\
. Para além disso, os números escapados em hexadecimal como, por exemplo, o \xff
e os números octais escapados, como o \033
, irão corresponder.
Detecta um carácter do C.
<HlCChar (atributos comuns) />
Esta regra não tem atributos específicos.
Corresponde aos caracteres em C colocados dentro de plicas (Exemplo: 'c'
). Como tal, dentro das plicas poderá estar um único carácter ou um carácter de escape. Veja o 'HlCStringChar' para ver as sequências de caracteres de escape correspondentes.
Detecta uma cadeia de caracteres com os caracteres de início e fim definidos.
<RangeDetect char="(carácter)" char1="(carácter)" (atributos comuns) />
O char
define o carácter de início e o char1
o carácter que termina o intervalo.
Útil para detectar, por exemplo, pequenas cadeias de caracteres entre aspas e semelhantes, mas repare que, dado que o motor de realce de sintaxe funciona com uma linha de cada vez, isto não irá encontrar as cadeias de caracteres que se prolonguem por mais do que uma linha.
Corresponde ao fim da linha.
<LineContinue (atributos comuns) />
Esta regra não tem atributos específicos.
Esta regra é útil para mudar de contexto no fim da linha, se o último carácter for uma barra invertida ('\'
). Isto é necessário, por exemplo no C/C++, para continuar as macros ou cadeias de caracteres.
Inclui as regras de outro contexto ou linguagem/ficheiro.
<IncludeRules context="ligacao_contexto" [includeAttrib="true|false"] />
O atributo context
define o contexto a incluir.
Se for texto simples, inclui todas as regras definidas no contexto actual, como por exemplo:
<IncludeRules context="outroContexto" />
Se o texto começar por ##
, o sistema de realce irá procurar outra definição de linguagem com o nome indicado, como por exemplo:
<IncludeRules context="##C++" />
Se o atributo includeAttrib
for true, muda o atributo de destino para o da origem. Isto é necessário para fazer, por exemplo, funcionar os comentários, se o texto correspondente ao contexto incluído for de um realce diferente do contexto-anfitrião.
Detecta espaços em branco.
<DetectSpaces (atributos comuns) />
Esta regra não tem atributos específicos.
Use esta regra se souber que poderão existir vários espaços em branco à frente como, por exemplo, no início das linhas indentadas. Esta regra irá ignorar todos os espaços em branco, em vez de testar várias regras e ignorar uma de cada vez, devido a uma falta de correspondência.
Detecta os textos dos identificadores (como acontece na expressão regular: [a-zA-Z_][a-zA-Z0-9_]*).
<DetectIdentifier (atributos comuns) />
Esta regra não tem atributos específicos.
Use esta regra para ignorar uma sequência de caracteres de palavras de uma vez, em vez de testar com várias regras e ignorar uma de cada vez, por falta de correspondência.
Logo que tenha compreendido como funciona a mudança de contexto, será fácil de criar definições de realce. Ainda que deva verificar com cuidado a regra que escolhe, dependendo da situação, as expressões regulares são muito poderosas, só que são lentas em comparação com as outras regras. Como tal, poderá considerar as seguintes dicas.
Se só corresponder com 2 caracteres, use o Detect2Chars
em vez do StringDetect
. O mesmo aplica-se ao DetectChar
.
As expressões regulares são fáceis de usar mas, normalmente, existe outra forma muito mais rápida de obter o mesmo resultado. Assuma que só deseja corresponder com o carácter '#'
se for o primeiro carácter da linha. Uma solução baseada em expressões regulares seria semelhante à seguinte:
<RegExpr attribute="Macro" context="macro" String="^\s*#" />Poderá obter o mesmo se usar:
<DetectChar attribute="Macro" context="macro" char="#" firstNonSpace="true" />Se quiser corresponder à expressão regular
'^#'
, poderá usar à mesma o DetectChar
com o atributo column="0"
. O atributo column
conta com base no número de caracteres; como tal, uma tabulação conta à mesma como se fosse apenas um carácter. Poderá mudar de contextos sem processar os caracteres. Assuma que deseja mudar de contexto quando encontrar o texto */
, mas necessita de processar essa sequência no próximo contexto. A regra abaixo irá corresponder e o atributo lookAhead
fará com que o sistema de realce mantenha o texto correspondente no próximo contexto.
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
Use o DetectSpaces
se souber que irão ocorrer vários espaços em branco.
Use o DetectIdentifier
em vez da expressão regular '[a-zA-Z_]\w*'
.
Use os estilos predefinidos sempre que puder. Desta forma, o utilizador irá encontrar um ambiente familiar.
Procure noutros ficheiros XML para ver como as outras pessoas implementam as regras mais complicadas.
Poderá validar todos os ficheiros XML se usar o comando xmllint --dtdvalid language.dtd aMinhaSintaxe.xml.
Se repetir algumas expressões regulares complexas com frequência, poderá usar as ENTIDADES. Por exemplo:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd" [ <!ENTITY referencia "[A-Za-z_:][\w.:_-]*"> ]>
Agora, poderá usar o &referencia; em vez da expressão regular.
Índice
Este Apêndice contém uma breve, mas abrangente e suficiente, introdução ao mundo das expressões regulares. Ela documenta as expressões regulares na forma que está disponível no Kate, a qual não é compatível com as expressões regulares do Perl, nem com as do grep, por exemplo.
As Expressões Regulares oferecem-nos uma forma de descrever alguns conteúdos possíveis de uma sequência de texto, a qual pode ser compreendida de certa forma por algum 'software', de modo a que este possa investigar se um texto corresponde, e também no caso das aplicações avançadas, com a possibilidade de guardar pedaços do texto correspondente.
Um exemplo: Imagine que deseja procurar num texto por parágrafos que comecem quer pelos nomes “Henrique” ou “Pedro”, seguidos de alguma forma do verbo “dizer”.
Com uma pesquisa normal, iria começar a procurar pelo primeiro nome, “Henrique”, sendo talvez seguido de “di”, como o seguinte: Henrique di
e, enquanto procura por ocorrências, iria ignorar os que não se encontram no início de um parágrafo, assim como os que têm uma palavra que começa por “di” que não é “diz”, “disse” ou algo do género. Claro, e ainda ter que repetir isto com o próximo nome...
Com as Expressões Regulares, essa tarefa pode ser acompanhada com uma única pesquisa e com um maior grau de precisão.
Para conseguir isto, as Expressões Regulares definem regras para exprimir com detalhe uma generalização de uma sequência de texto com a qual corresponder. No nosso exemplo, o qual podemos exprimir literalmente da seguinte forma: “Uma linha que começa por ‘Henrique’ ou ‘Pedro’ (possivelmente a seguir a 4 espaços ou tabulações) seguida de um espaço em branco e da sequência ‘di’, sendo esta seguida de ‘z’ ou ‘sse’” pode ser expressa com a seguinte expressão regular:
^[ \t]{0,4}(Henrique|Pedro) di(z|sse)
O exemplo anterior demonstra todos os quatro maiores conceitos das expressões regulares modernas, nomeadamente:
Padrões
Asserções
Quantificadores
Referências anteriores
O acento circunflexo (^
) no início da expressão é uma asserção ou verificação que é verdadeira só se o texto correspondente está no início da linha.
As sequências [ \t]
e (Henrique|Pedro) di(z|se)
são padrões. O primeiro é uma classe de caracteres que corresponde quer a um espaço em branco quer a uma tabulação (horizontal); o outro padrão contém, em primeiro lugar, um sub-padrão que corresponde quer a Henrique
quer a Pedro
, pelo que se segue o texto exacto di
e, finalmente, existe um sub-padrão que corresponde a z
ou a sse
A sequência {0,4}
é um quantificador que diz “qualquer número de vezes entre 0 e 4 da sequência anterior”.
Como o 'software' de expressões regulares suporta o conceito de referências anteriores, ele guarda a parte inteira correspondente ao texto, bem como aos sub-padrões entre parêntesis; se for dado um meio de aceder a essas referências, pode-se aceder a toda a correspondência (ao procurar num documento de texto num editor com uma expressão regular, esta é normalmente marcada como seleccionada), apenas ao nome encontrado, ou à última parte do verbo.
Tudo em conjunto, a expressão irá corresponder onde nós queiramos que o faça, e só aí.
As secções seguintes irão descrever em detalhe como construir e usar os padrões, as classes de caracteres, as verificações, os quantificadores e as referências anteriores; a secção final irá dar alguns exemplos úteis.
Os padrões consistem em cadeias de caracteres literais e em classes de caracteres. Os padrões podem conter sub-padrões, que são padrões entre parêntesis.
Tanto nos padrões como nas classes de caracteres, alguns caracteres têm um significado especial. Para corresponder literalmente com algum desses caracteres, estes têm de ser marcados ou escapados, para permitir ao 'software' de expressões regulares perceber que deve interpretar esses caracteres no seu sentido literal.
Isto é feito, antecedendo o carácter com uma barra invertida (\
).
O 'software' de expressões regulares irá ignorar silenciosamente uma barra para um carácter que não tenha um significado especial no contexto; por isso, se escapar, por exemplo, um “j” (\j
), não há problema. Se tiver dúvidas se um carácter poderá ter algum significado especial, podê-lo-á então escapar em segurança.
A marcação inclui o próprio carácter de barra; por isso, para escapar uma barra, deveria escrever \\
.
Uma classe de caracteres é uma expressão que corresponde a um carácter, dentro de um conjunto definido de caracteres. Nas Expressões Regulares, as classes de caracteres são definidas, pondo os caracteres permitidos para a classe entre parêntesis rectos, []
, ou usando uma das classes abreviadas descritas em seguida.
As classes de caracteres simples contêm apenas um ou mais caracteres literais, como por exemplo [abc]
(o que pode corresponder quer a “a”, a “b” ou a “c”), ou então o [0123456789]
(que corresponde a qualquer dígito).
Dado que as letras e os números têm uma ordem lógica, podê-los-á abreviar, indicando intervalos: o [a-c]
é igual a [abc]
e o [0-9]
é igual a [0123456789]
. Combinando estas opções, por exemplo [a-fynot1-38]
é perfeitamente possível (a última classe irá corresponder a um dos seguintes caracteres: “a”,“b”,“c”,“d”, “e”,“f”,“y”,“n”,“o”,“t”, “1”,“2”,“3” ou “8”).
Dado que as letras maiúsculas são caracteres diferentes dos seus equivalentes minúsculos, para criar uma classe de caracteres indiferente da capitalização que corresponda quer a “a” ou a “b” em qualquer dos casos, será necessário indicá-la como [aAbB]
.
Obviamente, é possível criar uma classe “negativa” que corresponda a “tudo excepto”. Para o fazer, coloque um acento circunflexo (^
) no início da classe:
[^abc]
irá corresponder a qualquer carácter excepto o “a”, o “b” ou o “c”.
Para além dos caracteres literais, estão definidas algumas abreviaturas, o que torna a vida um pouco mais fácil:
\a
Isto corresponde ao carácter ASCII da campainha (BEL, 0x07).
\f
Isto corresponde ao carácter ASCII de 'form feed' (FF, 0x0C).
\n
Isto corresponde ao carácter ASCII de 'line feed' (LF, 0x0A, a mudança de linha do Unix).
\r
Isto corresponde ao carácter ASCII de 'carriage return' (CR, 0x0D).
\t
Isto corresponde ao carácter ASCII de tabulação horizontal (HT, 0x09).
\v
Isto corresponde ao carácter ASCII de tabulação vertical (VT, 0x0B).
\xhhhh
Isto corresponde ao carácter Unicode com o código hexadecimal 'hhhh' (entre 0x0000 e 0xFFFF). O \0ooo (isto é, \zero ooo) corresponde ao carácter ASCII/Latin-1 com o código octal 'ooo' (entre 0 e 0377).
.
(ponto)Isto corresponde a qualquer carácter (mesmo à mudança de linha).
\d
Corresponde a um dígito. É igual a [0-9]
\D
Corresponde a um não-dígito. É igual a [^0-9]
ou [^\d]
\s
Corresponde a um carácter em branco. É praticamente igual a [ \t\n\r]
\S
Corresponde a um carácter não-branco. É praticamente igual a [^ \t\r\n]
e igual a [^\s]
\w
Corresponde a qualquer “carácter de palavra” - neste caso, qualquer letra ou dígito. Repare que o sublinhado (_
) não corresponde, como acontece com as expressões regulares do Perl. É igual a [a-zA-Z0-9]
\W
Corresponde a um não-carácter de palavra - tudo menos letras ou dígitos. É igual a [^a-zA-Z0-9]
ou [^\w]
As classes abreviadas podem ser postas dentro de uma classe personalizada; por exemplo, para corresponder a um carácter de palavra, a um espaço em branco ou a um ponto, poderia escrever [\w \.]
A notação POSIX das classes, [:<nome da classe>:]
não é suportada de momento.
Os seguintes caracteres têm um significado especial dentro da estrutura da classe de caracteres “[]”, devendo ser escapados para serem incluídos literalmente dentro de uma classe:
]
Termina a classe de caracteres. Deve ser escapada, a menos que seja o primeiro carácter da classe (pode estar a seguir a um ^ não-escapado)
^
(acento circunflexo)Denota uma classe negativa, se for o primeiro carácter. Deve ser escapado para ser correspondido literalmente, se for o primeiro carácter da classe.
-
(traço)Denota um intervalo lógico. Deve estar sempre escapado numa classe de caracteres.
\
(barra invertida)O carácter de escape. Deve ser sempre escapado.
Se quiser corresponder a um elemento de um conjunto de padrões alternativos, podê-los-á separar com o |
(carácter de barra vertical).
Por exemplo, se quiser encontrar tanto “João” como “Henrique”, poderá usar uma expressão João|Henrique
.
Os sub-padrões são padrões colocados dentro de parêntesis, e podem ter várias utilizações no mundo das expressões regulares.
Poderá usar um sub-padrão para agrupar um conjunto de alternativas num padrão maior. As alternativas são separadas pelo carácter “|” (barra vertical).
Por exemplo, para corresponder a uma das palavras “int”, “float” ou “double”, poderia usar o padrão int|float|double
. Se só desejar encontrar uma, se estiver seguida de algum espaço e de algumas letras, ponha as alternativas dentro de um sub-padrão: (int|float|double)\s+\w+
.
Se desejar usar uma referência anterior, use um sub-padrão para obter a parte desejada do padrão recordado.
Por exemplo, se quiser encontrar duas ocorrências da mesma palavra, separadas por uma vírgula e provavelmente por algum espaço, poderia escrever (\w+),\s*\1
. O sub-padrão \w+
iria encontrar um conjunto de caracteres de palavra e a expressão inteira iria corresponder, se estas fossem seguidas por uma vírgula, 0 ou mais espaços e por um conjunto igual de caracteres de palavras. (O texto \1
referencia o primeiro sub-padrão entre parêntesis)
Uma verificação antecipada é um sub-padrão que começa por ?=
ou por ?!
.
Por exemplo, para fazer a correspondência com o nome “Bill” mas só se não for seguido de “ Gates”, podia usar esta expressão: Bill(?! Gates)
. (Isto iria encontrar o “Bill Clinton”, assim como o “Billy the kid”, mas iria ignorar as outras correspondências).
Os sub-padrões usados para as verificações não são capturados.
Veja também as Asserções ou Verificações
Os seguintes caracteres têm significado próprio dentro de um padrão, e necessitam ser escapados se quiser fazer correspondência com eles:
\
(barra invertida)O carácter de escape.
^
(acento circunflexo)Corresponde ao início do texto.
$
Verifica o fim do texto.
()
(parêntesis esquerdo e direito)Denota os sub-padrões.
{}
(chavetas esquerda e direita)Denota os quantificadores numéricos.
[]
(parêntesis rectos esquerdo e direito)Denota as classes de caracteres.
|
(barra vertical)OU lógico; separa as alternativas.
+
(sinal mais)Quantificador, 1 ou mais.
*
(asterisco)Quantificador, 0 ou mais.
?
(ponto de interrogação)Um carácter opcional. Pode ser interpretado como um quantificador 0 ou 1.
Os quantificadores permitem a uma expressão regular fazer a correspondência com um número ou intervalo específico de vezes nas quais ocorre um carácter, classe de caracteres ou sub-padrão.
Os quantificadores estão delimitados por chavetas ({
e }
) e têm a forma geral {[mínimo-de-ocorrências][,[máximo-de-ocorrências]]}
A sua utilização será melhor explicada com um exemplo:
{1}
Exactamente 1 ocorrência
{0,1}
Zero ou 1 ocorrências
{,1}
O mesmo, mas com menos trabalho ;)
{5,10}
Pelo menos 5, mas no máximo 10 ocorrências.
{5,}
Pelo menos 5 ocorrências, sem máximo.
Adicionalmente, existem algumas abreviaturas:
*
(asterisco)semelhante a {0,}
, encontra qualquer número de ocorrências.
+
(sinal mais)semelhante a {1,}
, pelo menos 1 ocorrência.
?
(ponto de interrogação)semelhante a {0,1}
, zero ou uma ocorrências.
Ao usar quantificadores sem máximos, as expressões regulares tentam corresponder com o máximo do texto possível, um comportamento designado normalmente como greedy (ambicioso).
O 'software' de expressões regulares moderno oferece as opções para “desligar esse comportamento”, ainda que, num ambiente gráfico, isto dependa da interface que der para a funcionalidade. Por exemplo, uma janela de procura, que ofereça uma pesquisa de expressões regulares, poderia ter uma opção chamada “Correspondência mínima”, assim como podia indicar se o comportamento ambicioso é o comportamento por omissão.
Aqui estão alguns exemplos da utilização de quantificadores
^\d{4,5}\s
Corresponde aos dígitos em “1234 go” e em “12345 now”, mas não corresponde a “567 eleven” ou a “223459 somewhere”
\s+
Corresponde a um ou mais caracteres em branco
(bla){1,}
Corresponde a tudo de “blablabla” e a “bla” em “blackbird” ou em “tabela”
/?>
Corresponde a “/>” em “<closeditem/>” assim como a “>” em “<openitem>”.
As verificações ou asserções permitem a uma expressão regular fazer a correspondência, apenas sob determinadas condições controladas.
Uma verificação não precisa de um carácter com o qual corresponder; em vez disso, verifica os limites de uma possível correspondência antes de a indicar. Por exemplo, a verificação de limite de palavra não tenta encontrar um carácter não pertencente a uma palavra junto com um carácter de palavra, mas sim tenta ter a certeza que não existe um carácter de palavra. Isto significa que a verificação pode corresponder onde não existir um carácter, isto é, no fim do texto a pesquisar.
Algumas verificações, de facto, têm um padrão de correspondência, mas a parte do texto que correspondeu não será uma parte do resultado da correspondência, em relação à expressão completa.
As Expressões Regulares aqui referidas suportam as seguintes verificações:
^
(acento circunflexo: início do texto)Corresponde ao início do texto a pesquisar.
A expressão ^Pedro
irá corresponder a “Pedro” no texto “Pedro, olá!” mas não em “Olá, Pedro!”
$
(fim do texto)Corresponde ao fim do texto a pesquisar.
A expressão tu\?$
irá corresponder ao último 'tu' no texto “tu não fizeste isto, ou foste tu?” mas não fará correspondência em “tu não fizeste isto, certo?”
\b
(limite de palavra)Corresponde a um limite de palavra de um lado e se não é um carácter de palavra do outro.
Isto é útil para encontrar limites das palavras como, por exemplo, ambos os extremos para encontrar uma palavra inteira. A expressão \bem\b
irá corresponde ao “em” separado no texto “Ele entrou em Enfermagem”, mas não corresponder a “em” na palavra “Enfermagem”.
\B
(não-limite de palavra)Corresponde nos locais onde o “\b” não faz correspondência.
Isto significa que ele irá fazer correspondência, por exemplo, dentro de palavras. A expressão \Bem\B
irá corresponder a “sempre” mas não a “cem” ou a “Estou em casa”.
(?=PADRÃO)
(Antevisão positiva)Uma verificação antecipada olha para a parte do texto a seguir a uma possível correspondência. A antecipação positiva irá evitar que o texto corresponda se o texto que se encontra a seguir a possível correspondência não corresponder ao PADRÃO da verificação; o texto correspondente não será incluído no resultado.
A expressão utilizar(?=\w)
irá corresponder a “utilizar” em “utilizarei”, mas não irá corresponder com “Não vou utilizar!”
(?!PADRÃO)
(Antevisão Negativa)A antevisão negativa evita que uma possível correspondência seja extraída, se a parte subsequente ao texto procurado corresponder ao PADRÃO.
A expressão const \w+\b(?!\s*&)
irá corresponder com o “const char” do texto “const char* ola”, embora não corresponderá a “const QString” em “const QString& bar” porque o “&” corresponde ao padrão de verificação antecipada negativa.
O Kate faz parte do projecto do KDE http://www.kde.org/.
O Kate pode ser encontrado no pacote kdebase em ftp://ftp.kde.org/pub/kde/, o servidor principal do projecto do KDE.
Para poder compilar e instalar o Kate no seu sistema escreva o seguinte na pasta de base da distribuição do Kate:
%
./configure
%
make
%
make install
Dado que o Kate usa o autoconf e o automake não deve ter quaisquer problemas a compilá-lo. Se tiver, comunique-os para as listas do KDE.
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team