Linha de comando e git difftool¶
O OctoEdit tem uma superfície de linha de comando pequena e amigável a scripts:
abrir arquivos (com uma posição de cursor opcional), ajustar uma execução com
algumas opções e — o destaque — atuar como visualizador rápido de comparação de
dois arquivos para o git difftool.
Os caminhos podem ser relativos ou absolutos. Quando iniciado a partir de um
console, --help/--version imprimem ali; iniciado de qualquer outra forma, eles
aparecem em uma pequena caixa de diálogo.
Abrindo arquivos¶
- Cada arquivo abre em sua própria aba. Um caminho que ainda não existe abre como um novo buffer não salvo vinculado àquele nome (salvar cria o arquivo).
- Um
:linhaou:linha:colunaao final do primeiro arquivo move o cursor (começando em 1, limitado ao documento) — prático a partir de compiladores e saídas do grep:
- Com a instância única ativada (o padrão), uma segunda inicialização encaminha seus arquivos para a janela em execução e termina.
Opções¶
| Opção | Significado |
|---|---|
-h, --help |
Imprime o uso e termina. |
-v, --version |
Imprime a versão do aplicativo e termina. |
--log <level> |
Nível mínimo de log para esta execução: trace, debug, info, warning ou error. |
--rendering <mode> |
Como esta execução compõe suas janelas: gpu (o padrão) ou cpu. Vale só para essa execução (veja abaixo). |
--list-debug-flags |
Lista os sinalizadores de depuração reconhecidos com os valores atuais e termina. |
--diff <left> <right> |
Compara dois arquivos em um visualizador passageiro somente leitura (implica --viewer). |
--viewer |
Instância de visualizador passageira e somente leitura (veja abaixo). |
--readonly |
Abre os arquivos indicados em modo somente leitura (veja abaixo). |
--rendering: composição da janela para uma única execução¶
Escolhe como esta execução compõe suas janelas — gpu (o padrão) ou cpu — e nada mais. O
que os dois modos significam está em
Preferências ▸ Geral ▸ Renderização da janela.
- Vale só para essa execução e nunca é salvo: a próxima inicialização comum volta ao que as Preferências dizem.
- O modo é decidido antes de a primeira janela existir e não pode mudar enquanto o editor
roda, então cobre igualmente a janela do editor e uma janela
--viewer/--diff. Um modo desconhecido é relatado e ignorado. - Com instância única ligada (o padrão), uma inicialização encaminhada para um editor em
execução apenas entrega os arquivos dela: a janela em execução mantém o modo com que
começou, e ali
--renderingnão muda nada.
Se a janela do editor não puder ser usada depois do start
Se a janela aparecer desenhada errado, ou não aparecer, inicie o editor uma vez com
--rendering=cpu e depois ajuste você mesmo Preferências ▸ Geral ▸ Renderização da
janela para CPU — a opção de linha de comando não é lembrada, então ela só te
coloca dentro, e é a configuração que fixa a escolha.
Se nem isso for possível, a configuração pode ser escrita à mão com o editor fechado.
Acrescente à seção [app] do arquivo de configuração:
O arquivo fica em:
- Windows:
%APPDATA%\7-bits\OctoEdit.ini - macOS:
~/.config/7-bits.eu/OctoEdit.ini - Linux:
~/.config/7-bits/OctoEdit.conf
--readonly: abrir arquivos específicos travados¶
Abre os arquivos indicados com a edição desativada — os comandos que modificam
(Recortar, Colar, Desfazer…) ficam esmaecidos para aquelas abas, enquanto Copiar
continua funcionando. Diferente de --viewer, esta é uma instância normal do
editor: sua sessão é restaurada, você pode abrir e editar qualquer outro
documento, e uma segunda inicialização com --readonly encaminha seus arquivos
para a janela em execução, também travados. Duas salvaguardas: um arquivo indicado
que já esteja aberto com alterações não salvas continua editável (a opção
nunca prende alterações que você não poderia mais salvar), e um caminho indicado
que ainda não existe abre como um buffer vazio travado.
--diff: uma janela de comparação de dois arquivos¶
Abre uma janela separada e descartável cuja única aba é a comparação lado a lado dos dois arquivos — com coloração de sintaxe, somente leitura e com todo o ferramental de comparação: navegação por diferenças, a régua de visão geral, as alternâncias de ignorar espaços em branco/maiúsculas e de Alinhado, e a mesclagem por cópia de alterações com salvamento por lado (os dois operandos são arquivos reais, então as duas direções funcionam).
- São exigidos exatamente dois arquivos existentes. Um arquivo faltando ou um
diretório é reportado e o processo termina com o código
2sem abrir nenhuma janela de editor (a comparação de diretórios fica no plugin Comparação de pastas). - O processo continua vivo até você fechar a janela e então termina com
0— que é exatamente o que ogit difftoolespera. - A janela é independente do seu OctoEdit normal: ela nunca entra no mecanismo de
instância única, não carrega plugins e não salva nada (sem sessão, sem layout,
sem entradas de arquivos recentes). Seu editor e sua sessão ficam intactos, e
qualquer número de janelas
--diffpode coexistir com eles. - O assistente de IA continua disponível — ele faz parte do núcleo. Fazer uma pergunta ali informa automaticamente ao agente quais dois arquivos estão na tela (e concede acesso de leitura aos dois), então "o que mudou entre estes arquivos?" simplesmente funciona.
Configurando como seu git difftool¶
# .gitconfig
[diff]
tool = octoedit
[difftool]
prompt = false
[difftool "octoedit"]
cmd = OctoEdit --diff "$LOCAL" "$REMOTE"
Então, por exemplo:
Tip
Verifique se OctoEdit.exe está no seu PATH, ou escreva o caminho completo
dele na linha cmd =.
--viewer: um visualizador descartável somente leitura¶
Uma instância passageira para dar uma olhada rápida em um arquivo, sem perturbar
sua sessão de edição real (implícita em --diff):
- Os arquivos indicados na linha de comando abrem normalmente — então a instância fica travada: os buffers são somente leitura, Arquivo ▸ Novo/Abrir/Salvar e todos os comandos de Comparar ficam desativados, e nada pode abrir outra aba.
- Fechar a última aba fecha a janela.
- Nada é preservado: sem salvar ou restaurar sessão, sem gravações de layout de janela, sem entradas de arquivos recentes.
- Nenhum plugin é carregado, então ela inicia rápido; os recursos do núcleo — coloração de sintaxe, temas, o assistente de IA — continuam disponíveis.
Códigos de saída¶
| Código | Significado |
|---|---|
0 |
Saída normal, incluindo uma janela --diff/--viewer fechada. |
2 |
Requisição --diff inválida (número de operandos errado, arquivo inexistente, operando que é um diretório). |