Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

illuminer une ligne dans le buffer inactif

8 réponses
Avatar
François Patte
Bonjour,

Je travaille sur des textes bilingues et j'ai souvent à ouvrir deux
fichiers dans une même fenêtre et, tandis que j'écris dans l'un, je lis
l'autre.

N'étant pas un pro du clavier, je suis obliger de quitter des yeux le
texte que je lis pour regarder le clavier. Le retour des yeux sur le
texte à lire pour taper la suite n'est pas immédiat....

Je me demande s'il n'existe pas un moyen de marquer par une couleur la
ligne que l'on lit dans le buffer inactif avec un raccourci clavier
facile pour faire changer cette "illumination" au fur et à mesure qu'on
progresse dans le texte à lire.

Merci de votre aide.
--
François Patte
Université Paris Descartes

8 réponses

Avatar
Ph. Ivaldi
Bonjour,

Le 27 septembre 2008, François Patte écrivit :

Je me demande s'il n'existe pas un moyen de marquer par une couleur la
ligne que l'on lit dans le buffer inactif avec un raccourci clavier
facile pour faire changer cette "illumination" au fur et à mesure
qu'on progresse dans le texte à lire.



Peut-être M-x hl-line-mode <RET>
--
Philippe Ivaldi.
http://piprim.tuxfamily.org/
Avatar
François Patte
Le 27.09.2008 15:55, Ph. Ivaldi a écrit :
Bonjour,

Le 27 septembre 2008, François Patte écrivit :

Je me demande s'il n'existe pas un moyen de marquer par une couleur la
ligne que l'on lit dans le buffer inactif avec un raccourci clavier
facile pour faire changer cette "illumination" au fur et à mesure
qu'on progresse dans le texte à lire.



Peut-être M-x hl-line-mode <RET>



Voilà qui serait parfait s'il ne fallait avoir le même fichier à la même
ligne dans les deux buffers....

Je lis un fichier et tape la traduction dans l'autre!

Merci pour cette réponse.
--
François Patte
Université Paris Descartes
Avatar
Ph. Ivaldi
Le 28 septembre 2008, François Patte écrivit :

Le 27.09.2008 15:55, Ph. Ivaldi a écrit :
Peut-être M-x hl-line-mode <RET>


Voilà qui serait parfait s'il ne fallait avoir le même fichier à la
même ligne dans les deux buffers....



Pourquoi alors ne pas utiliser bm.el: http://www.nongnu.org/bm/
Cela vous permettra même de garder des lignes illuminées d'une session à
l'autre (voir bm-toggle-buffer-persistence).

Voici ma configuration à ce propos:
8<------8<------8<------8<------8<------8<------8<------8<------8<------
;; ------------------------------------
;; * Visible, buffer local, bookmarks *
;; ;; Description:
;; ;; bm.el provides visible, buffer local, bookmarks and the ability
;; ;; to jump forward and backward to the next bookmark.
;; ;; More informations in bm.el.
(require 'bm)
;; Filename to store persistent bookmarks across sessions:
;; (setq bm-repository-file (cuid ".bm-repository"))
;; To load the repository when bm is loaded:
(setq bm-restore-repository-on-load t)
;; The buffer should be recentered around the bookmark
;; after a `bm-next' or a `bm-previous'.
(setq bm-recenter t)
;; Loading the repository from file when on start up:
(add-hook' after-init-hook 'bm-repository-load)
;; Restoring bookmarks when on file find.
(add-hook 'find-file-hooks 'bm-buffer-restore)
;; Saving bookmark data on killing a buffer:
(add-hook 'kill-buffer-hook 'bm-buffer-save)
;; Saving the repository to file when on exit.
;; kill-buffer-hook is not called when emacs is killed, so we
;; must save all bookmarks first:
(add-hook 'kill-emacs-hook '(lambda nil
(bm-buffer-save-all)
(bm-repository-save)))
;; Update bookmark repository when saving the file:
(add-hook 'after-save-hook 'bm-buffer-save)
(global-set-key (kbd "<C-f2>") 'bm-toggle) ;; set/unset bookmark
(global-set-key (kbd "<f2>") 'bm-next) ;; jump to next bookmark
;; (global-set-key (kbd "<S-f2>") 'bm-previous) ;; jump to previous bookmark
;; Toggle if a buffer has persistent bookmarks or not.
(global-set-key (kbd "<S-f2>") 'bm-toggle-buffer-persistence)
8<------8<------8<------8<------8<------8<------8<------8<------8<------

C-f2 bascule le marque page sous le curseur.
f2 va au marque page suivant.
S-f2 bascule la persistance des marques pages du fichier courant.

Les principales faces à configurer sont bm-face et bm-persistent-face.
--
Philippe Ivaldi.
http://piprim.tuxfamily.org/
Avatar
François Patte
Le 28.09.2008 15:23, Ph. Ivaldi a écrit :
Le 28 septembre 2008, François Patte écrivit :

Le 27.09.2008 15:55, Ph. Ivaldi a écrit :
Peut-être M-x hl-line-mode <RET>


Voilà qui serait parfait s'il ne fallait avoir le même fichier à la
même ligne dans les deux buffers....



Pourquoi alors ne pas utiliser bm.el: http://www.nongnu.org/bm/
Cela vous permettra même de garder des lignes illuminées d'une session à
l'autre (voir bm-toggle-buffer-persistence).



Ah! Si on peut le modifier un peu, voilà qui pourrait peut-être faire
l'affaire....

Mais pour l'instant j'ai un autre soucis que je ne sais pas résoudre:
emacs ne "peut" pas charger le fichier bm quand je mets la ligne adhoc
dans mon .emacs, en revanche, si je lui demande de le charger à la main
(alt-x load-file), il le charge gentiment et ça marche!!

Le chemin des paquet lisp est bien mis dans mon .emacs et le fichier bm
est au bon endroit.

emacs version 23.0.60.2

Merci

--
François Patte
Université Paris Descartes
Avatar
Ph. Ivaldi
Le 30 septembre 2008, François Patte écrivit :

Mais pour l'instant j'ai un autre soucis que je ne sais pas résoudre:
emacs ne "peut" pas charger le fichier bm quand je mets la ligne adhoc
dans mon .emacs



N'y a-t-il pas un vieux bm.elc qui traîne ?
En lançant Emacs avec l'option --debug-init, quel est le message
d'erreur généré ?

emacs version 23.0.60.2



Aïe... Ici: Emacs 22.2.1
Il faudrait savoir si bm pose le même problème avec d'autres
utilisateurs de la version 23.
--
Philippe Ivaldi.
http://piprim.tuxfamily.org/
Avatar
Vincent Belaïche
N'as tu pas essayé d'avoir en même temps scroll-all-mode pour parcourir
les deux fichier en même temps. Il suffit que tu aies le même nombre de
ligne par traduction.

1) ouvrir tes deux fichiers
2) fendre la fenêtre en deux ( `C-x 3') pour obtenir 2 fenêtres
3) mettre le tampon correspondant à chacun deux deux fichiers
respectivement dans une fenêtre
4) faire `M-x scroll-all-mode'
5) puis `M-x hl-line-mode' dans chacun deux deux tampons

A+
Vincent.

Sinon une solution plus simple serait de mettre tes deux traductions
dans le même fichier, chaque langue étant encapsulée par une macro m4

Par exemple:

--- fichier toto.m4 ----
cestdufrancais(`Salut les copains')
cestdelanglais(`Hello friends')
-------------------------------

--- fichier cestdufrancais.m4 ----
define(`cestdufrancais',`$1')
define(`cestdelanglais',`')
-------------------------------

--- fichier cestdelanglais.m4 ----
define(`cestdufrancais',`')
define(`cestdelanglais',`$1')
-------------------------------


Pour produire la version française tu tapes la ligne de commande
-----
M4.exe cestdufrancais.m4 toto.m4
-----

Pour produire la version française tu tapes la ligne de commande
-----
M4.exe cestdelanglais.m4 toto.m4
-----


Tu pourrais également faire une macro à deux arguments


--- fichier toto.m4 ----
tradfren(`Salut les copains',`Hello friends')
-------------------------------

--- fichier cestdufrancais.m4 ----
define(`tradfren',`$1')
-------------------------------

--- fichier cestdelanglais.m4 ----
define(`tradfren',`$2')
-------------------------------

Après tu fais pareil qu'avant.
Note que M4 permet de redéfinir ` en <<<< et ' en >>>> (ou en n'importe
quoi d'autre) si ça te paraît plus adéquat.

A+,
Vincent.

PS: Au fait ton fichier c'est quoi, du texte libre, du LaTeX ?

Ph. Ivaldi a écrit :
Le 30 septembre 2008, François Patte écrivit :

Mais pour l'instant j'ai un autre soucis que je ne sais pas résoudre:
emacs ne "peut" pas charger le fichier bm quand je mets la ligne adhoc
dans mon .emacs



N'y a-t-il pas un vieux bm.elc qui traîne ?
En lançant Emacs avec l'option --debug-init, quel est le message
d'erreur généré ?

emacs version 23.0.60.2



Aïe... Ici: Emacs 22.2.1
Il faudrait savoir si bm pose le même problème avec d'autres
utilisateurs de la version 23.
Avatar
François Patte
Le 30.09.2008 18:01, Ph. Ivaldi a écrit :
Le 30 septembre 2008, François Patte écrivit :

Mais pour l'instant j'ai un autre soucis que je ne sais pas résoudre:
emacs ne "peut" pas charger le fichier bm quand je mets la ligne adhoc
dans mon .emacs



N'y a-t-il pas un vieux bm.elc qui traîne ?



Non!

En lançant Emacs avec l'option --debug-init, quel est le message
d'erreur généré ?


͂
J'étais tout près à envoyer le (long) message d'erreur par copier-coler
mais Emacs refuse visiblement d'accepter que l'on colle la partie
sélectionnée dans le tampon "message" ailleurs que dans Emacs.....

Je crois que je vais renoncer.... A moins que, le fait que les fichiers
soient destinés à latex permettent de faire quelque chose comme le
semble suggérer la question posée par Vincent Belaiche...

Merci de vous être penché sur mon cas.

--
François Patte
Université Paris Descartes
Avatar
Luc.Habert.00__arjf
François Patte :

J'étais tout près à envoyer le (long) message d'erreur par copier-coler
mais Emacs refuse visiblement d'accepter que l'on colle la partie
sélectionnée dans le tampon "message" ailleurs que dans Emacs.....



Muf? Et si tu la colles dans un buffer, puis que tu la recopies et essaye de
la coller ailleurs? Tu peux aussi l'enregistrer dans un fichier.