ouverture d'emacs avec 3 nom de fichiers en parrametre

Le
Bruno-L
Salut tout le monde,

J'arrive au départ d'AutoCAD qui parle lisp lui aussi (enfin presque
;-), à ouvrir un emacs en lui indiquant deux fichiers comme ceci:

(startapp path-to-emacs (strcat """ file1 "" "" file2 """))

strcat = concat, les """ permet d'avoir des espaces dans le nom des
fichiers.

emacs s'ouvre, se divise en deux fenetres et y affiche ces deux
fichiers.;; magnifique ;-)

mais lorsque je demande, par la même voie à emacs d'ouvrir un troisième
fichier, il ne se divise qu'en deux fenetres (au lieu de trois comme
j'imaginais) et mets la liste des buffers dans l'une d'elles.

or je voudrais qu'il ouvre 3 fenêtres et y insere les 3 fichiers passés
en parrametres. comment faire ?

merci d'avance




--
Bruno <http://bluesilk.canalblog.com>

  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Florent Georges
Le #21810751
Bruno-L wrote:

mais lorsque je demande, par la même voie à emacs d'ouvrir un troisi ème
fichier, il ne se divise qu'en deux fenetres (au lieu de trois comme
j'imaginais) et mets la liste des buffers dans l'une d'elles.

or je voudrais qu'il ouvre 3 fenêtres et y insere les 3 fichiers pass és
en parrametres. comment faire ?



C'est normal. Si tu veux ce comportement particulier, il te suffit
de creer une fonction qui fait ce que tu veux, et de l'appeler depuis
la ligne de commande (ou depuis AutoCAD).

Je n'ai pas le temps de te pondre un squelette maintenant,
malheureusement. Mais si tu utilises Lisp dans AutoCAD, tu ne devrais
pas etre perdu (tu auras juste bien besoin de 'C-h i m elisp RET').

--drkm
Pascal Bourguignon
Le #21810741
Bruno-L
Salut tout le monde,

J'arrive au départ d'AutoCAD qui parle lisp lui aussi (enfin presque
;-), à ouvrir un emacs en lui indiquant deux fichiers comme ceci:

(startapp path-to-emacs (strcat """ file1 "" "" file2 """))

strcat = concat, les """ permet d'avoir des espaces dans le nom des
fichiers.

emacs s'ouvre, se divise en deux fenetres et y affiche ces deux
fichiers.;; magnifique ;-)

mais lorsque je demande, par la même voie à emacs d'ouvrir un
troisième fichier, il ne se divise qu'en deux fenetres (au lieu de
trois comme j'imaginais) et mets la liste des buffers dans l'une
d'elles.

or je voudrais qu'il ouvre 3 fenêtres et y insere les 3 fichiers
passés en parrametres. comment faire ?



Il faudrait faire executer par emacs un petit script pour afficher
tous les buffers contenant des fichiers:

---(auto-lisp)----------------------------------------------------------

(startapp path-to-emacs
(strcat """ file1 """
" " """ file2 """
;; ... on peut ajouter autant de fichier qu'on veut ...
" " "-eval" "(progn ;; ------(emacs-lisp)-------
(require (quote cl))
(defun spread-files ()
(interactive)
(let ((files (loop for buffer in (buffer-list)
when (buffer-file-name buffer)
collect buffer)))
(when files
(delete-other-windows)
(switch-to-buffer (first files))
(loop
for file in files
do (progn (split-window-vertically)
(switch-to-buffer file)
(balance-windows))))))
(spread-files))"))

------------------------------------------------------------------------


--
__Pascal Bourguignon__ http://www.informatimago.com/

"I have challenged the entire quality assurance team to a Bat-Leth
contest. They will not concern us again."
Florent Georges
Le #21810721
Pascal Bourguignon wrote:

(balance-windows))))))



Tiens, je ne connaissais pas celle-la. Je sens que je vais me servir
de 'C-x +' plus d'une fois (et un peu mois de 'C-u C-x ^' :-p).

--drkm
Poster une réponse
Anonyme