Ferramentas Avançadas de Edição

Comentar/Descomentar
Os comandos Comentar e Descomentar, disponíveis no menu Ferramentas permitem-lhe adicionar ou remover marcações de comentários à seleção ou à linha atual, se não existir texto selecionado, se os comentários são suportados pelo formato do texto que você está editando.
As regras de como o comentário é feito são feitas nas definições de sintaxe; assim, se o realce de sintaxe não é usado, as ações de comentar/descomentar não são possíveis.
Alguns formatos definem marcas de comentários para linhas únicas, outros suportam marcas de comentários para várias linhas e alguns suportam ambas. Se não estiverem disponíveis os comentários para várias linhas, o ato de comentar uma seleção que não inclui por completo a sua última linha não é possível.
Se um marcador de linha única estiver disponível, é preferível comentar linhas simples onde for aplicável, pois isto ajuda a evitar problemas com comentários aninhados.
Ao remover marcadores de comentários, textos sem comentários devem ser selecionados; ao remover marcadores de comentários de múltiplas linhas de uma seleção, qualquer espaço em branco fora do marcador é ignorado.
Para colocar marcações de comentários, use a opção do menu Ferramentas Comentar ou o atalho de teclado relacionado, que por padrão é D.
Para remover marcações de comentários, use a opção do menu Ferramentas Descomentar ou o atalho de teclado relacionado, que por padrão é o D.

A Linha de Comando do Componente de Edição
O componente de edição do possui uma linha de comando interna, que lhe permite efetuar várias ações a partir de uma 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 Ver Alternar para Linha de Comando 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 e . Ao mostrar os comandos do histórico, a parte do argumento do comando será selecionada, o que lhe permite sobrepor facilmente os argumentos.

Comandos Padrão da Linha de Comando

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, 1 ou 0.
INTEIRO 	Um número inteiro.
TEXTO 	Uma string separada por aspas simples (') ou aspas (") quando conter espaços.

Comandos para configurar o Editor
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 largura colunas. 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-recuo espaços por cada nível de recuo, em vez de usar o caractere TAB.
set-mixed-indent BOOLEANO ativar
	Se estiver ativo, o 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ção do 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 o nome nã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 Ferramentas Realce. Este comando oferece uma lista de completação automática para o seu argumento.
reload-scripts
	Recarrega todos os scripts do usados pelo , 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 original para a mapeada.

Comandos de edição
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ã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 aspas simples ou duplas. 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 	Pesquisar para trás.
c 	Procura a partir da posição do cursor.
e 	Procura apenas na área selecionada.
r 	Faz 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.
s 	Faz uma pesquisa com distinção entre maiúsculas e minúsculas.
p 	Pede permissão para substituir a próxima ocorrência.
w 	Faz uma correspondência apenas com palavras inteiras.
date TEXTO 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 a seguir 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 (⪚ 'Seg'..'Dom').
dddd	O nome do dia completo, no formato regional (⪚ '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).
MMMM	O nome completo do mês localizado (⪚ 'Janeiro'..'Dezembro').
MMM	O nome do mês abreviado, no formato regional (⪚ '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 milissegundos sem um zero inicial (0..999).
zzz	Os milissegundos 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 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 OK.

exemplos do comando char
Entrada: char:234
Resultado: ê
Entrada: char:0x1234
Resultado: ሴ
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 \1 para o primeiro conjunto de parênteses, \2 para 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 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.

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, digita s/minhaclasse/MinhaClasse/i, clica no botão OK, salva o arquivo e compila – com sucesso, sem erros.

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.

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 const para 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/g e clique no botão OK. O caractere g no 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 \w e 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.

sort x natsort
sort(a10, a1, a2) resulta em a1, a10, a2
natsort(a10, a1, a2) resulta em a1, a2, a10
moveLinesDown
	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 como argumento, chama pela lista de linhas selecionadas e substitui-as com o valor de retorno desta chamada.

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 como argumento, chama pela lista de linhas selecionadas e remove-as onde a chamada retorna falso.

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 como argumento, chama pela lista de linhas selecionadas e substitui a linha com o valor de retorno da chamada.

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.

Comandos de navegação
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 .
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 Editar Procurar Próximo (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:
b 	Pesquisar para trás.
c 	Procura a partir da posição do cursor.
e 	Procura apenas na área selecionada.
r 	Faz 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.
s 	Faz uma pesquisa com distinção entre maiúsculas e minúsculas.
w 	Faz 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:
b 	Pesquisar 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.

Comandos das funções básicas do editor (dependem do aplicativo em que o componente de edição for usado)
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.

Usando o Desdobramento de Código
O desdobramento ou dobragem de código permite-lhe ocultar partes de um documento no editor, tornando mais simples analisar globalmente arquivos grandes. No , as regiões desdobráveis são calculadas com base nas regras das definições de realce de sintaxe; como tal só está disponível em alguns formatos - tipicamente em código-fonte de programas, código em XML e semelhantes. A maioria das definições de realce que suportam o desdobramento de código também lhe permitem definir manualmente regiões desdobráveis, tipicamente com as palavras-chave BEGIN e END.
Para usar a funcionalidade de desdobramento de código, ative os marcadores com a opção Exibir Mostrar as Marcações de Dobragem, se não estiverem já visíveis. A área de Marcações de Dobragem, no lado esquerdo da tela, mostra uma visão gráfica sobre as regiões que poderão ser recolhidas ou expandidas, com símbolos triangulares para indicar a operação possível numa determinada região: um triângulo para baixo significa que a região é expandida; clicar sobre ele irá recolher a região, clicar em um triângulo para direita irá expandi-la.
Estão disponíveis três comandos para manipular o estado das regiões dobradas; para tal, veja a documentação do menu.
As linhas recolhidas serão lembradas quando um arquivo é fechado, assim quando você reabri-lo, os nós que estiverem recolhidos permanecerão dobrados. Isto se aplica a operações de recarregamento também.
Se você não quiser usar a funcionalidade de desdobramento do código, poderá desativar a opção Mostrar as marcações de dobragem (se disponíveis) na página Aparência do editor de configuração.