O componente de edição do KatePart possui uma linha de comando interna, que lhe permite efetuar várias ações a partir de uma GUI mínima. A linha de comando é um campo de texto no fundo da área de edição onde, para mostrá-la, você poderá selecionar a opção → ou usar o atalho (que é, por padrão, o F7). O editor oferece um conjunto de comandos, tal como está documentado abaixo, sendo oferecidos mais comandos através de plugins.
Para executar um comando, pressione a tecla Return. A linha de comando irá indicar se foi bem sucedida e, provavelmente, irá mostrar uma mensagem. Se você inseriu na linha de comando pressionando F7, ele ocultar-se-á automaticamente, ao fim de alguns segundos. Para limpar a mensagem e inserir um comando novo, pressione F7 de novo.
A linha de comando possui um sistema de ajuda embutido, podendo inserir o comando help para iniciá-lo. Para ver uma lista com todos os comandos disponíveis, invoque o comando help list; para ver a ajuda sobre um determinado comando, faça help comando.
A linha de comando possui um histórico embutido, como tal, o usuário poderá reutilizar os comandos já digitados. Para navegar no histórico, use as teclas Acima e Abaixo. Ao mostrar os comandos do histórico, a parte do argumento do comando será selecionada, o que lhe permite sobrepor facilmente os argumentos.
Tipos de argumento
- BOOLEANO
Isto é usado com os comandos que ativam ou desativam certas coisas. Os valores válidos são o
on,off,true,false,1ou0.- INTEIRO
Um número inteiro.
- TEXTO
Uma string separada por aspas simples (') ou aspas (") quando conter espaços.
Estes comandos são oferecidos pelo componente do editor e permitem-lhe configurar apenas o documento e a janela ativos. Isto poderá ser útil se quiser usar uma configuração diferente da pré-definida como, por exemplo, no recuo.
set-tab-width {INTEIRO largura}
Configura a largura da tabulação como sendo
largura.set-indent-width {INTEIRO largura}
Configura a largura do recuo como
largura. Só é usado se o usuário recuar com espaços.set-word-wrap-column {INTEIRO largura}
Configura a largura da linha para uma quebra como tendo
larguracolunas. Isto é usado se você tiver o seu texto sendo quebrado automaticamente.set-icon-border {BOOLEANO ativar}
Configura a visibilidade da borda dos ícones.
set-folding-markers {BOOLEANO ativar}
Configura a visibilidade da área de marcadores de dobra do código.
set-line-numbers {BOOLEANO ativar}
Configura a visibilidade da área de números de linha.
set-replace-tabs {BOOLEANO ativar}
Se estiver ativo, as tabulações são substituídas por espaços, à medida que você vai digitando.
set-remove-trailing-space {BOOLEANO ativar}
Se estiver ativo, os espaços finais serão removidos quando o cursor abandonar uma determinada linha.
set-show-tabs {BOOLEANO ativar}
Se estiver ativo, os caracteres de tabulação e espaços estarão visíveis através de um pequeno ponto.
set-show-indent {BOOLEANO ativar}
Se estiver ativo, o recuo será visualizado por uma linha tracejada vertical.
set-indent-spaces {BOOLEANO ativar}
Se estiver ativo, o editor irá recuar com
largura-recuoespaços por cada nível de recuo, em vez de usar o caractere TAB.set-mixed-indent {BOOLEANO ativar}
Se estiver ativo, o KatePart irá usar uma mistura de TABs e espaços para o recuo. Cada nível de recuo irá ter um tamanho de
largura-recuo, enquanto os restantes níveis de recuo serão otimizados para usar tantos caracteres TAB quantos possíveis.Quando for executado, este comando irá ativar o recuo com espaços e, se a largura de recuo não estiver definida, corresponderá a metade da
largura-tabulaçãodo documento, no momento da execução.set-word-wrap {BOOLEANO ativar}
Ativa a quebra de linha dinâmica, de acordo com o parâmetro
ativar.set-replace-tabs-save {BOOLEANO ativar}
Quando estiver ativo, as tabulações serão substituídas por espaços em branco, sempre que o documento for salvo.
set-remove-trailing-space-save {BOOLEANO ativar}
Quando estiver ativo, os espaços finais serão removidos de cada linha, sempre que o documento for salvo.
set-indent-mode {TEXTO nome}
Configura o modo de recuo automático como
nome. Se onomenão for conhecido, o modo é configurado como 'none' (nenhum). Os modos válidos são 'none', 'normal', 'cstyle', 'haskell', 'lilypond', 'lisp', 'python', 'ruby' e 'xml'.set-auto-ident {BOOLEANO script}
Ativa ou desativa o recuo automático.
set-highlight {TEXTO 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.
reload-scripts
Recarrega todos os scripts do JavaScript usados pelo Kate, incluindo scripts de indentação e de linha de comando.
set-mode {STRING modo}
Seleciona o esquema de tipo de arquivo para o documento atual.
nn[oremap] {TEXTO original} {TEXTO mapeado}
Mapeia a sequência
originalpara amapeada.
Estes comandos modificam o documento atual.
indent
Recua as linhas selecionadas ou a linha atual.
unindent
Remove um nível de recuo das linhas selecionadas ou da linha atual.
cleanindent
Limpa o recuo das linhas selecionadas ou da linha atual, de acordo com a configuração de recuo no documento.
comment
Insere marcações de comentários para fazer da seleção, linhas selecionadas ou da linha atual um comentário, de acordo com o formato de texto definido pela definição do realce de sintaxe para o documento.
uncomment
Remove os marcadores de comentários da seleção, linhas selecionadas ou da linha atual, de acordo com o formato de texto definido pela definição do realce de sintaxe do documento.
kill-line
Remove a linha atual.
replace { TEXTO padrão} {TEXTO substituição}
Substitui o texto correspondente ao
padrãoporsubstituição. Se você quiser incluir espaços em branco nopadrão, deverá colocar tanto opadrãocomo asubstituiçãoentre aspas simples ou duplas. Se os argumentos não estiverem entre estes caracteres, a primeira palavra é usada comopadrãoe o resto como asubstituição. Se asubstituiçãoestiver em branco, cada ocorrência dopadrãoserá 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:bPesquisar para trás.
cProcura a partir da posição do cursor.
eProcura apenas na área selecionada.
rFaz uma pesquisa por uma determinada expressão regular. Se estiver ativo, você poderá usar o
\N, onde o N é um número que representa as capturas no texto de substituição.sFaz uma pesquisa com distinção entre maiúsculas e minúsculas.
pPede permissão para substituir a próxima ocorrência.
wFaz uma correspondência apenas com palavras inteiras.
date {TEXTO formato}
Insere um texto de data/hora, tal como está definido pelo
formatoindicado, ou com o formato “aaaa-MM-dd hh:mm:ss”, se não for indicada qualquer formatação. As traduções a seguir são feitas quando for interpretado oformato:dO dia, como um número sem um zero inicial (1-31). ddO dia, como um número com um zero inicial (01-31). dddO nome do dia abreviado, no formato regional (por exemplo 'Seg'..'Dom'). ddddO nome do dia completo, no formato regional (por exemplo 'Segunda'..'Domingo'). MO mês, como um número sem um zero inicial (1-12). MMO mês, como um número com um zero inicial (01-12). MMMMO nome completo do mês localizado (por exemplo 'Janeiro'..'Dezembro'). MMMO nome do mês abreviado, no formato regional (por exemplo 'Jan'..'Dez'). aaO ano, como um número de dois algarismos (00-99). aaaaO ano, como um número de quatro algarismos (1752-8000). hAs horas sem um zero inicial (0..23 ou 1..12 no caso do formato AM/PM). hhAs horas com um zero inicial (00..23 ou 01..12 no caso do formato AM/PM). mOs minutos sem um zero inicial (0..59). mmOs minutos com um zero inicial (00..59). sOs segundos sem um zero inicial (0..59). ssOs minutos com um zero inicial (00..59). zOs milissegundos sem um zero inicial (0..999). zzzOs milissegundos com zeros iniciais (000..999). APUsar o formato de horas AM/PM. O AP será substituído por "AM" ou por "PM". apUsar o formato de horas am/pm. O ap será substituído por "am" ou por "pm". char {TEXTO identificador}
Este comando permite que você insira caracteres literais através de suas identificações numéricas, em decimal, octal ou hexadecimal. Para usá-lo, abra o diálogo de Edição de Comando e digite
char: [número]na caixa de entrada e clique em .- s///[ig] %s///[ig]
Este comando faz um sed como operação de procura/substituição na linha atual, ou em um arquivo inteiro (%s///).
Em resumo, é procurado o texto que combine com o padrão de busca , a expressão regular entre a primeira e a segunda barra, e quando é encontrado, a parte que combina com o texto é substituída pela expressão entre a segunda e a última barra. Os parênteses no padrão de busca criam referências anteriores, isto é, o comando lembra qual parte encontrada do texto combinou no parênteses; estas strings podem ser reutilizadas no padrão de substituição, referidas como
\1para o primeiro conjunto de parênteses,\2para o segundo e assim por diante.Para procurar por um caractere literal
(ou), você precisa usar o caractere de escape, que é o caractere de barra invertida:\(\)Se você puser um
ino fim da expressão, a correspondência não fará distinção entre maiúsculas ou minúsculas. Se, por outro lado, puser umgno fim, todas as ocorrências do padrão serão substituídas, caso contrário, só será substituída a primeira ocorrência.Exemplo 5.2. Substituindo texto na linha atual
Seu compilador parou, dizendo a você que a classe
minhaClasse, mencionada na linha 3902 do seu arquivo fonte, não está definida."Droga!" você pensa, é claro que é
MinhaClasse. Você vai para a linha 3902, e em vez de tentar encontrar a palavra no texto, você lança o Diálogo de Edição de Comando, digitas/minhaclasse/MinhaClasse/i, clica no botão , salva o arquivo e compila – com sucesso, sem erros.Exemplo 5.3. Substituindo texto no arquivo inteiro
Imagine que você tem um arquivo, no qual está mencionada a string “Senhorita Jensen” várias vezes, quando aparece alguém e lhe diz que ela casou com o “Senhor Jones”. Você quer, é claro, substituir todas as ocorrências de “Senhorita Jensen” por “Senhora Jones”.
Entre na linha de comando e digite o comando
%s/Senhorita Jensen/Senhora Jones/, pressionando RETURN para terminar.Exemplo 5.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 abaixo).
Suponha que você possui a seguinte linha:
void MinhaClasse::DoStringOps( String &foo, String &bar, String *p, int &a, int &b )
Agora, você pode perceber que este não é um código bom, e decidir que deseja usar a palavra-chave
constpara todos os argumentos “address of”, aqueles caracterizados pelo operador & em frente ao nome do argumento. Você poderia também simplificar o espaço em branco, pois assim existiria somente um caractere de espaço em branco entre cada palavra.Abra o Diálogo de Edição de Comando, e digite
s/\s+(\w+)\s+(&)/ const \1 \2/ge clique no botão . O caracteregno final da expressão faz com que a expressão regular recompile cada combinação, para recuperar as referências de volta.Saída
void MinhaClasse::DoStringOps( const String &foo, const String &bar, String *p, const int &a, const int &b )Missão completa! Agora, o que aconteceu? Bem, procuramos por espaços em branco (
\s+) seguidos por um ou mais caracteres alfabéticos(\w+) seguidos por mais espaços em branco (\s+) seguidos por um E comercial, e no processo é salvo o pedaço alfabético e o E comercial para reutilização na operação de substituição. Quando substituímos a parte relacionada da nossa linha, com um espaço em branco, seguido por “const”, seguido por um espaço em branco, seguido por nosso pedaço alfabético (\1) seguido por um espaço em branco, em por fim, seguido por nosso E comercial salvo (\2)Em alguns casos, a parte alfabética foi “String”, em alguns “int”, assim, usar a classe de caractere
\we o quantificador+provê uma vantagem considerável.sort
Ordena o texto selecionado ou todo o documento.
natsort
Ordena as linhas selecionadas ou todo o documento naturalmente.
Exemplo 5.5. sort x natsort
sort(a10, a1, a2)resulta ema1, a10, a2natsort(a10, a1, a2)resulta ema1, a2, a10moveLinesDown
Move as linhas selecionadas para baixo.
moveLinesUp
Move as linhas selecionadas para cima.
uniq
Remove linhas duplicadas do texto selecionado ou do documento inteiro.
rtrim
Remove o espaço à direita do texto selecionado ou do documento inteiro.
ltrim
Remove o espaço à esquerda do texto selecionado ou do documento inteiro.
join [TEXTO separador]
Mescla as linhas selecionadas ou o documento inteiro. Opcionalmente, recebe um parâmetro definindo um separador, por exemplo:
join ', 'rmblank
Remove todos os espaços em branco do texto selecionado ou do documento inteiro.
alignon
Este comando alinha as linhas no bloco selecionado ou em todo o documento na coluna especificada por uma expressão regular fornecida como argumento.
Se você fornecer um padrão vazio, ele se alinhará ao primeiro caractere não vazio por padrão.
Se o padrão tiver uma captura, ele será recuado na correspondência capturada.
Exemplos:
alignon -irá inserir espaços antes do primeiro '-' de cada linha para alinhá-las na mesma coluna.alignon :\\s+(.)irá inserir espaços antes do primeiro caractere não em branco que ocorrer após dois pontos para alinhá-los todos na mesma coluna.unwrap
Remove as quebras de linha do texto selecionado ou do documento inteiro.
each {TEXTO script}
Fornecida uma função do JavaScript como argumento, chama pela lista de linhas selecionadas e substitui-as com o valor de retorno desta chamada.
Exemplo 5.6. Mescla as linhas selecionadas
each 'function(lines){return lines.join(", ")}'Ou, de maneira resumida:
each 'lines.join(", ")'filter {TEXTO script}
Fornecida uma função do JavaScript como argumento, chama pela lista de linhas selecionadas e remove-as onde a chamada retorna falso.
Exemplo 5.7. Remover linhas em branco
filter 'function(1){return 1.length > 0;}'Ou, de maneira resumida:
filter 'line.length > 0'map {TEXTO script}
Fornecida uma função do JavaScript como argumento, chama pela lista de linhas selecionadas e substitui a linha com o valor de retorno da chamada.
Exemplo 5.8. Remover linhas em branco
map 'function(line){return line.replace(/^s+/,"");}'Ou, de maneira resumida:
map 'line.replace(/^s+/,"")'duplicateLinesUp
Duplica as linhas selecionadas acima da seleção atual.
duplicateLinesDown
Duplica as linhas selecionadas abaixo da seleção atual.
goto {INT linha}
Este comando vai para a linha indicada.
grep {TEXTO padrão}
Pesquisa o documento pela expressão regular
padrão. Para mais informações, veja as Apêndice A, Expressões Regulares.find {TEXTO padrão}
Este comando vai para a primeira ocorrência do
padrão, de acordo com a configuração. As ocorrências a seguir poderão ser encontradas com a opção → (o atalho por padrão é o F3).O comando de procura poderá ser configurado adicionando dois-pontos, seguidos de uma ou mais opções, sendo o formato
find:opções padrão. São suportadas as seguintes opções:bPesquisar para trás.
cProcura a partir da posição do cursor.
eProcura apenas na área selecionada.
rFaz uma pesquisa por uma determinada expressão regular. Se estiver ativo, você poderá usar o
\N, onde o N é um número que representa as capturas no texto de substituição.sFaz uma pesquisa com distinção entre maiúsculas e minúsculas.
wFaz uma correspondência apenas com palavras inteiras.
ifind {TEXTO padrão}
Este comando oferece uma procura “à-medida-que-digita”. Você poderá configurar o comportamento da procura adicionando dois-pontos (:), seguidos de uma ou mais opções, como se segue:
ifind:opções padrão. As opções permitidas são:bPesquisar para trás.
rFaz uma procura por uma expressão regular.
sFaz uma pesquisa com distinção entre maiúsculas e minúsculas.
cProcura a partir da posição do cursor.
w
Salvar o documento atual.
wa
Salvar todos os documentos abertos.
q
Fechar o documento atual.
qa
Fechar todos os documentos abertos.
wq
Salvar e fechar o documento atual.
wqa
Salvar e fechar todos os documentos abertos.
x
Salvar e fechar o documento atual somente se ele foi modificado.
x
Salvar e fechar todos os documentos abertos somente se eles foram modificados.
bp
Ir para o documento anterior na lista de documentos.
bn
Ir para o próximo documento na lista de documentos.
new
Abrir um novo documento em uma divisão de visão horizontal.
vnew
Abrir um novo documento em uma divisão de visão vertical.
e
Recarregar o documento atual se ele tiver sido modificado em disco.
enew
Editar um novo documento.
print
Abrir a janela de impressão para imprimir o documento atual.