A veces, especialmente al tomar notas, un archivo de organización alfabetizado puede contener bloques de origen de una línea, de la siguiente manera:
* 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 tales aplicaciones, el #+BEGIN_SRC...#+END_SRC
pragma parece ser una exageración. Las plantillas fáciles reducen el tipeo, pero el documento de la organización todavía parece un poco desbordado.
¿Hay una forma fácil de hacer esto? Sé que una línea que comienza con un :
llega al texto literal automáticamente. ¿Hay alguna manera de hacer algo similar con org-tangle?
Estoy buscando una solución similar a esta, o al menos cerca de estas líneas, al tiempo que conserva las funciones de resaltado y enredado de la fuente para el modo principal:
* 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;
Es más limpio, fácil de ver y, en mi humilde opinión, un poco menos ruidoso.
Cualquier sugerencia sera apreciada. ¡Gracias por adelantado!
fuente
...
, o puede usar cualquier taquigrafía que desee para indicar texto oculto (por ejemplo, una cara sonriente☺
), o no puede tener ningún indicador para las líneas 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))))
cuando haya terminado con su prueba, evalúe(remove-overlays)
. Este es solo un ejemplo simple de cómo ocultar texto. Puede crear lugar los titulares para el texto oculto que la mirada...
o como se quiera - por ejemplo,hidden text lies here
. Evaluar código conM-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)))))
Sin embargo, la evaluación de los resultados de esta función en el error de la siguiente manera:Wrong type argument: commandp, clean-org-buffer
. ¿Puedes sugerir cómo ayudar a esto?M-x eval-expression RET (clean-org-buffer) RET
(sin modificaciones en el fragmento) y / o puede agregar(interactive)
justo antes del fragmento en mi comentario anterior (2 párrafos anteriores) para que se pueda usar de forma interactivaM-x clean-org-buffer
.Respuestas:
De (org) Estructura de bloques de código :
Por lo tanto, debería poder usar en
src_perl{set $random_var=1;}
lugar del bloque completo.fuente