Slackjeff Wiki

Bits que significam

Ferramentas do usuário

Ferramentas do site


utils:ed

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anteriorRevisão anterior
Próxima revisão
Revisão anterior
utils:ed [2025/01/09 22:50] – [Interagindo com o sistema] detalhamento do alerta sobre cd hrcerqutils:ed [2025/01/19 13:26] (atual) – [Uma nota sobre alertas] transformado em nota hrcerq
Linha 196: Linha 196:
 Muito bem, já vimos os conceitos principais, agora é hora de um pouco de prática. Vamos começar pelo básico que é iniciar e encerrar o editor __ed__. A propósito, não saber encerrar um editor pode causar um certo pânico, então vamos tratar disso logo. Muito bem, já vimos os conceitos principais, agora é hora de um pouco de prática. Vamos começar pelo básico que é iniciar e encerrar o editor __ed__. A propósito, não saber encerrar um editor pode causar um certo pânico, então vamos tratar disso logo.
  
-Para iniciar o editor __ed__, vamos começar com um exemplo simples, sem abrir nenhum arquivo, apenas iniciar o editor com um //buffer// vazio. Você verá uma linha vazia, na qual um comando pode ser inserido. Então você aprenderá o seu primeiro comando agora, o comando ''q'' (//quit//), que encerra o editor. Nessa linha vazia, digite ''q'', e o editor será encerrado.+Para iniciar o editor __ed__, vamos começar com um exemplo simples, sem abrir nenhum arquivo, apenas iniciar o editor com um //buffer// vazio. Você verá uma linha vazia, na qual um comando pode ser inserido. Então você aprenderá o seu primeiro comando agora, o comando **q** (//quit//), que encerra o editor. Nessa linha vazia, digite **q**, e o editor será encerrado.
  
 <code> <code>
Linha 204: Linha 204:
 </code> </code>
  
-Ufa! Agora você já sabe encerrar o editor, quando precisar. Mas vou além: o comando ''q'' só vai encerrar o editor mesmo se ele não tiver sofrido nenhuma mudança. Se você tiver feito quaisquer alterações no //buffer//, um alerta será emitido e você terá de usar o comando ''q'' novamente para confirmar que deseja encerrar. Outra opção, se tiver conteúdo não salvo que queira descartar é usar o comando ''Q''. Nesse caso nenhum alerta será emitido e ele será prontamente encerrado.+Ufa! Agora você já sabe encerrar o editor, quando precisar. Mas vou além: o comando **q** só vai encerrar o editor mesmo se ele não tiver sofrido nenhuma mudança. Se você tiver feito quaisquer alterações no //buffer//, um alerta será emitido e você terá de usar o comando **q** novamente para confirmar que deseja encerrar. Outra opção, se tiver conteúdo não salvo que queira descartar é usar o comando **Q**. Nesse caso nenhum alerta será emitido e ele será prontamente encerrado.
  
-É importante frisar que digitar ''Ctrl+c'' não encerra o editor. Sinais de interrupção apenas emitem uma mensagem de erro (veremos mais sobre mensagens de erro e alertas depois).+É importante frisar que digitar **Ctrl+c** não encerra o editor. Sinais de interrupção apenas emitem uma mensagem de erro (veremos mais sobre mensagens de erro e alertas depois).
  
-Agora, um outro ponto que é importante aprender desde cedo é sobre a configuração e uso de um //prompt//. Como falei antes, ele é um meio de evitar a confusão entre o modo de comandos e o modo de entrada. Para iniciar o editor já com o uso de um //prompt// você deve usar o parâmetro ''-p'', como a seguir:+Agora, um outro ponto que é importante aprender desde cedo é sobre a configuração e uso de um //prompt//. Como falei antes, ele é um meio de evitar a confusão entre o modo de comandos e o modo de entrada. Para iniciar o editor já com o uso de um //prompt// você deve usar o parâmetro **-p**, como a seguir:
  
 <code> <code>
Linha 218: Linha 218:
 Aqui usei um asterisco seguido de espaço, mas fica a seu critério qual texto acha melhor como //prompt//. Desaconselho o uso de interrogação, pois esse sinal já é usado para emitir mensagens de diagnóstico, e também é útil usar um espaço como último caractere do prompt, para não misturar com o comando. Aqui usei um asterisco seguido de espaço, mas fica a seu critério qual texto acha melhor como //prompt//. Desaconselho o uso de interrogação, pois esse sinal já é usado para emitir mensagens de diagnóstico, e também é útil usar um espaço como último caractere do prompt, para não misturar com o comando.
  
-Para não ter que usar esse parâmetro ''-p'' toda vez que iniciar o __ed__, você pode configurar um //alias// para o ele (dependendo de qual shell utilizar, pode haver variações na forma de fazer isso):+Para não ter que usar esse parâmetro **-p** toda vez que iniciar o __ed__, você pode configurar um //alias// para o ele (dependendo de qual shell utilizar, pode haver variações na forma de fazer isso):
  
 <code> <code>
Linha 226: Linha 226:
 Nos exemplos seguintes partirei da premissa de que o //alias// do exemplo acima está configurado. Nos exemplos seguintes partirei da premissa de que o //alias// do exemplo acima está configurado.
  
-Antes de prosseguir, tenho apenas mais um assunto para comentar sobre //prompts//: você pode, a qualquer momento dentro do editor, desabilitar ou reabilitar o //prompt// com o comando ''P'':+Antes de prosseguir, tenho apenas mais um assunto para comentar sobre //prompts//: você pode, a qualquer momento dentro do editor, desabilitar ou reabilitar o //prompt// com o comando **P**:
  
 <code> <code>
Linha 238: Linha 238:
 Para quê desabilitar o //prompt//? Eu realmente não consigo imaginar um bom motivo, mas caso você tenha se esquecido de configurá-lo previamente, e esteja editando um arquivo, pode ser útil lembrar que ele pode ser ativado a qualquer momento.  Para quê desabilitar o //prompt//? Eu realmente não consigo imaginar um bom motivo, mas caso você tenha se esquecido de configurá-lo previamente, e esteja editando um arquivo, pode ser útil lembrar que ele pode ser ativado a qualquer momento. 
  
-Apenas tenha em mente que por padrão o prompt usado é um asterisco (''*'') sem um espaço depois, o que visualmente pode causar algum desconforto por misturar o //prompt// ao comando, então é mais interessante configurá-lo antes de iniciar o editor, como apontei antes.+Apenas tenha em mente que por padrão o prompt usado é um asterisco (*****) sem um espaço depois, o que visualmente pode causar algum desconforto por misturar o //prompt// ao comando, então é mais interessante configurá-lo antes de iniciar o editor, como apontei antes.
 ===== Abrindo e trocando de arquivos ===== ===== Abrindo e trocando de arquivos =====
  
Linha 277: Linha 277:
 "Espere! Nome do arquivo memorizado? Como assim?" Já imagino que esteja se perguntando. Lembra-se do conceito de nome de arquivo que expliquei antes? Pois bem, ao carregar um arquivo, o __ed__ memoriza o nome dele, para que futuras escritas no //buffer// possam ser feitas sem que você precise informar novamente esse nome como parâmetro. "Espere! Nome do arquivo memorizado? Como assim?" Já imagino que esteja se perguntando. Lembra-se do conceito de nome de arquivo que expliquei antes? Pois bem, ao carregar um arquivo, o __ed__ memoriza o nome dele, para que futuras escritas no //buffer// possam ser feitas sem que você precise informar novamente esse nome como parâmetro.
  
-Ao iniciar o editor com um //buffer// vazio, essa informação não existe. Porém, ao iniciar com um arquivo, ou ao carregar um arquivo, como feito nos exemplos anteriores, essa informação é preenchida, com o nome do arquivo carregado (neste exemplo, "poema_ed.txt").+Ao iniciar o editor com um //buffer// vazio, essa informação não existe. Porém, ao iniciar com um arquivo, ou ao carregar um arquivo, como feito nos exemplos anteriores, essa informação é preenchida, com o nome do arquivo carregado (neste exemplo, //poema_ed.txt//).
  
 Para visualizar o nome memorizado, usamos o comando **f**. Um erro será emitido se o nome não estiver preenchido ainda. Para visualizar o nome memorizado, usamos o comando **f**. Um erro será emitido se o nome não estiver preenchido ainda.
Linha 373: Linha 373:
  
  
-==== Uma nota sobre alertas ==== +<note important> 
- +**Atenção**\\ 
-No __ed__, há uma diferença sutil entre erros e alertas. Os alertas são emitidos quando você pode perder dados do //buffer// por fechar o editor ou carregar algum outro arquivo. Como mostrei no exemplo anterior, se você insistir em uma ação desse tipo, o __ed__ entenderá que você sabe o que está fazendo e não entrará no seu caminho. +\\ 
- +No __ed__, há uma diferença sutil entre erros e alertas. Os alertas são emitidos quando você pode perder dados do //buffer// por fechar o editor ou carregar algum outro arquivo. Como mostrei no exemplo anterior, se você insistir em uma ação desse tipo, o __ed__ entenderá que você sabe o que está fazendo e não entrará no seu caminho.\\ 
-Mas há uma detalhe que pode te pegar de surpresa: depois que o __ed__ emite o alerta de que o //buffer// foi alterado, ele considera que o alerta já foi dado. Se você continuar a editar o //buffer// depois disso e mais tarde resolver fechar o editor, ele não emitirá outro alerta e encerrará. +\\ 
 +Mas há uma detalhe que pode te pegar de surpresa: depois que o __ed__ emite o alerta de que o //buffer// foi alterado, ele considera que o alerta já foi dado. Se você continuar a editar o //buffer// depois disso e mais tarde resolver fechar o editor, ele não emitirá outro alerta e encerrará.\\ 
 +\\
 Portanto, é uma boa prática salvar as modificações feitas logo depois do alerta, caso realmente queira salvar. Mais à frente veremos como modificar um arquivo e como salvar modificações. Quando você salva o conteúdo do //buffer// o __ed__ volta a considerar que precisa te alertar, se houver mais modificações e você tentar executar outra ação que possa ocasionar perda. Portanto, é uma boa prática salvar as modificações feitas logo depois do alerta, caso realmente queira salvar. Mais à frente veremos como modificar um arquivo e como salvar modificações. Quando você salva o conteúdo do //buffer// o __ed__ volta a considerar que precisa te alertar, se houver mais modificações e você tentar executar outra ação que possa ocasionar perda.
 +</note>
 ===== Indo e voltando ===== ===== Indo e voltando =====
  
utils/ed.1736473859.txt.gz · Última modificação: 2025/01/09 22:50 por hrcerq