Mon .emacs
fichier de configuration devient de plus en plus gros et j'aimerais avoir une meilleure vue d'ensemble et une meilleure structuration en ajoutant des titres, des sous-titres et en étant capable de les masquer ou de les montrer comme je peux le faire avec Emacs org-mode
.
J'ai remarqué que je peux org-mode
également activer le .emacs
tampon et qu'il est possible d'ajouter des en-têtes et de les réduire. Mais Emacs / Aquamac pourra-t-il toujours charger le code Elisp à partir du document si j'ajoute des en- org-mode
têtes (c'est-à-dire des lignes commençant par un ou plusieurs astérisques)?
Puis-je avoir tout cela dans un fichier ou devrais-je avoir un .*org
fichier puis exporter régulièrement le code Elisp dans un autre fichier?
la source
org
changeriez- vous ceci pour charger le dernier en date d'elpa, au lieu deorg
celui disponible dans un propre Emacs? Il semble que lepackage
code d'initialisation aurait besoin d'être extraitsettings.org
et inséréinit.el
?init.el
:(require 'package) (package-initialize) (setq custom-file "~/.emacs.d/custom.el") (when (file-exists-p custom-file) (load custom-file)) (require 'org) (org-babel-load-file (expand-file-name "settings.org" user-emacs-directory))
Si vous ne souhaitez que l'affichage sélectif des sections et la navigation entre les titres, vous n'avez pas besoin du mode Org. Tout ce dont vous avez besoin est le mode Outline . Le mode Plan est essentiellement la gestion du niveau d'en-tête et de la visibilité des sections du mode Org. En fait, le mode Org était à l’origine les extensions de l'auteur en mode Plan, et a grandi, et grandi, et grandi… Encore aujourd'hui,
org-mode
on en dériveoutline-mode
.Le mode Plan existe à la fois en mode majeur et en mode mineur. Le mode mineur peut être utilisé dans n'importe quel mode majeur. Vous pouvez le configurer pour utiliser un format d'en-tête compatible avec la syntaxe de votre programme, comme le font de nombreux modes principaux, en définissant la
outline-regexp
variable sur une expression rationnelle qui correspond au début d'un en-tête. Par exemple, il s’agit de la valeur par défaut en mode Lisp d’Emacs:C'est-à-dire que les en-têtes de section commencent par au moins trois points-virgules et un seul espace, ou une parenthèse ouvrante dans la marge de gauche. La variable
outline-level
contient le nom d'une fonction pour déterminer la profondeur d'un en-tête; la valeur par défaut est la longueur de la chaîne correspondanteoutline-regexp
, et le mode Lisp d’Emacs le remplace pour attribuer une profondeur plus grande à(
et;;;###autoload
.Si le format d'en-tête par défaut ne vous convient pas, définissez la variable
outline-regexp
dans une déclaration de variable locale de fichier . C’est ce que j’utilise - mes en-têtes de section sont tous;;;
suivis de la séquence classique d’étoiles:Si vous souhaitez que le mode mineur hiérarchique soit automatiquement activé lorsque vous chargez le fichier, ajoutez la ligne suivante dans la section Variables locales - notez que cela vous avertira du code dangereux dans Emacs ≤23.x.
Les commandes pour le mode contour mineur utilisent le
C-c @
préfixe plutôt gênant par défaut. Je le déplaceM-o
(je n'utilise jamais les liaisons de facemenu), vous pouvez préférer une autre clé ou reproduire les liaisons du mode Org (qui ont divergé un peu du mode Plan).la source
La programmation lettrée vous emmène le plus souvent, org-mode le supporte via org-babel . Deux solutions possibles sont expliquées sur le blog de @malabarba :
Le moyen le plus simple est de charger org-mode, puis d’utiliser sa fonctionnalité de démêlage pour charger une configuration alphabétisée d’Emacs:
Alternativement (pour éviter de charger entièrement l'org), le démêlage peut être effectué avec les primitives Lisp d'Emacs:
la source
Encore un vote pour le mode contour. Par exemple, pour organiser,
.emacs
j'utilise la syntaxe suivante:les parties importantes sont
;;;
et:\n
Voici un exemple
.emacs
:Il faut activer
outline-minor-mode
, puis les deux touches de touche requises sont les suivantes:C-c @ C-t - montrer la structure de niveau supérieur
ce qui précède devient
C-c @ C-a - montrer tout à nouveau
Une utilisation typique est de montrer la structure de niveau supérieur, de passer à la rubrique d'intérêt et de tout afficher à nouveau.
la source
#+STARTUP: overview
oushow all
oucontents
options.#
n’est pas un signe de commentaire, l’interpréteur intégré d’elisp d’emacs serait confus lorsqu’il frappe le#+STARTUP
ou quelque chose comme ça. (ou ai-je mal compris votre commentaire?)STARTUP
directive à l'intérieurorgstruct-mode
, par exemple, c'était un tampon R mais la même idée: emacs.stackexchange.com/a/8065/2443Dans la réponse suivante, vous verrez comment le faire, par exemple des projets utilisant un ou plusieurs fichiers org, quels sont les avantages d’utiliser Cask et des liens vers de la documentation.
https://stackoverflow.com/questions/25430029/whats-the-best-way-to-package-my-emacs-installation-packages-and-config-so-tha/25430745#25430745
J'ai tourné ma configuration vers org il y a quelques mois et je ne suis pas totalement satisfaite. Cela nécessite quelques config et la lecture du manuel org pour avoir un fichier org utile qui facilite l'édition du code elisp. Il faut activer la fontification de bloc src (désactivé par défaut -> utiliser une variable par fichier), vérifier que les autres modes ne sont pas en conflit pour l'édition de blocs src (mode de remplissage automatique), etc. On ne veut pas utiliser Cc
(backtick) (
org-edit-src-block`) pour éditer un bloc src. Et cela devient un peu gênant pour le débogage.Mon conseil serait: commencez par casser votre fichier init en petits morceaux elisp, essayez un paquetage plus étroit, utilisez-le
helm-swoop
pour la navigation rapide, puis envisagez de l'utiliserorg-mode
.la source
J'ai récemment investi du temps pour faire exactement cela. Je me suis retrouvé avec une configuration qui - est maintenue avec org-mode - utilise 'use-package' pour installer automatiquement les paquets manquants - est un dépôt github de ce type d'installation automatique (plug sans vergogne: https://github.com / pascalfleury / emacs-config )
J'ai «amorcé» quelques machines (Linux et Mac) en clonant le référentiel et en ajoutant une seule ligne dans le fichier ~ / .emacs et le tour est joué. Je suis installé comme je veux.
la source