Capítulo 11. Usando sgml-mode com o Emacs

As versões recentes do Emacs ou XEmacs (disponível na coleção dos ports) contêm um pacote muito útil chamado PSGML.Ele é automáticamente invocado quando um arquivo com a extensão .sgml é carregado, ou executando M-x sgml-mode, ele é a modalidade principal para tratar dos elementos e dos atributos de um arquivo SGML.

Compreender alguns dos comandos fornecidos por esta modalidade pode tornar o trabalho com os documentos em SGML, tais como o manual, muito mais fácil.

C-c C-e

Executa o sgml-insert-element. Você será questionado sobre o nome do elemento que deseja inserir no ponto atual. Você pode usar a tecla TAB para completar o elemento. Os elementos que são inválidos no ponto atual não serão permitidos.

As Tags de abertura e de fechamento para o elemento serão inseridas. Se o elemento contiver outro, obrigatórios, os elementos destes também serão inseridos.

C-c =

Executa o sgml-change-element-name. Coloque o cursor dentro de um elemento e execute este comando. Você será questionado sobre o nome do elemento para o qual você deseja mudar. As Tags de abertura e de fechamento do elemento atual serão alterados para o novo elemento.

C-c C-r

Executa o sgml-tag-region. Selecione algum texto (Posicione o cursor no começo do texto, de C-espaço, agora posicione o cursor no final do texto, de C-espaço) e execute então este comando. Você será questionado sobre o nome do elemento que deseja inserir. Este elemento será inserido então imediatamente antes e depois da região marcada.

C-c -

Executa o sgml-untag-element. Coloque o cursor dentro da Tag de abertura ou de fechamento do elemento que você quer remover, e execute este comando. As Tags de abertura ou de fechamento do elemento serão removidas.

C-c C-q

Executa o sgml-fill-element. Irá reformatar recursivamente o elemento atual. A reformatação afetará o conteúdo em que os espaços em branco são significativos, como dentro de elementos <programlisting>, assim utilize este comando com cuidado.

C-c C-a

Executa o sgml-edit-attributes. Abre um segundo buffer que contendo uma lista de todos os atributos para o elemento mais próximo, e seus valores atuais. Use a tecla TAB para navegar entre os atributos, utilize C-k para remover um valor existente e para substituí-lo com um novo, utilize C-c C-c para fechar este buffer e para retornar ao documento principal.

C-c C-v

Executa o sgml-validate. Você será questionado se deseja salvar o documento atual (se necessário) e então executa uma validação do SGML. A saída da validação é capturada em um novo buffer, e você poderá então navegar de um foco de problema para outro, corrigindo os erros de marcação durante este processo.

Sem dúvida há outras funçães úteis desta modalidade, mas estas são as que você irá utilizar com mais frequência.

Você também pode usar as seguintes entradas no .emacs para ajustar o espaçamento apropriado, a identação, e a largura de coluna para trabalhar com o projeto de documentação.

    (setq sgml-mode-hook
      '(lambda ()
         (setq fill-column 70
               indent-tabs-mode nil
               next-line-add-newlines nil
               standard-indent 2)
         (auto-fill-mode t)))
  

Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.