Às vezes, especialmente ao fazer anotações, um arquivo organizacional alfabetizado pode conter blocos de origem de uma linha, da seguinte maneira:
* Taking notes
:PROPERTIES:
:tangle: whatever.pl
:comments: org
:END:
Perl set command
#+BEGIN_SRC perl
set $random_var=1;
#+END_SRC
Perl unset command (just making it up... :P)
#+BEGIN_SRC perl
unset $random_var;
#+END_SRC
Para tais aplicações, o #+BEGIN_SRC...#+END_SRC
pragma parece ser um exagero. Modelos fáceis reduzem a digitação, mas o documento organizacional ainda parece um pouco exagerado.
Existe uma maneira fácil de fazer isso? Eu sei que uma linha que começa com a :
chega ao texto literal automaticamente. Existe uma maneira de fazer algo semelhante com org-emaranhado?
Estou procurando uma solução parecida com esta, ou pelo menos próxima a essas linhas, mantendo as facilidades de realce e emaranhamento da fonte no modo pai:
* Taking notes
:PROPERTIES:
:tangle: whatever.pl
:comments: org
:mode: perl
:END:
Perl set command
: set $random_var=1;
Perl unset command (just making it up... :P)
: unset $random_var;
É mais limpo, fácil de olhar e, IMHO, um pouco menos barulhento.
Todas as sugestões serão apreciadas. Desde já, obrigado!
...
em vez disso, ou você pode usar qualquer taquigrafia você gosta para indicar texto oculto (por exemplo, um rosto sorridente☺
), ou você pode ter nenhum indicador qualquer para as linhas ocultas(save-excursion (goto-char (point-max)) (while (re-search-backward "#\\+BEGIN_SRC\\|#\\+END_SRC" nil t) (let ((ov (make-overlay (line-beginning-position) (1+ (line-end-position))))) (overlay-put ov 'invisible t))))
Ao concluir o teste, avalie(remove-overlays)
. Este é apenas um exemplo simples de como ocultar texto. Você pode criar marcadores de posição para o texto oculto que parece...
ou o que quiser - por exemplohidden text lies here
,. Avaliar código comM-x eval-expression
(defun clean-org-buffer() (save-excursion (goto-char (point-max)) (while (re-search-backward "#\\+BEGIN_SRC\\|#\\+END_SRC" nil t) (let ((ov (make-overlay (line-beginning-position) (1+ (line-end-position))))) (overlay-put ov 'invisible t)))))
No entanto, avaliar esta função resulta em erro da seguinte forma:Wrong type argument: commandp, clean-org-buffer
. Você pode sugerir como ajudar isso?M-x eval-expression RET (clean-org-buffer) RET
(sem nenhuma modificação no snippet) e / ou adicionar um(interactive)
pouco antes do snippet no meu comentário anterior (2 parágrafos acima) para que ele possa ser usado de forma interativaM-x clean-org-buffer
.Respostas:
From (org) Estrutura dos blocos de código :
Portanto, você deve poder usar em
src_perl{set $random_var=1;}
vez do bloco completo.fonte