J'utilise vim (avec les greffons latex-suite et syntastic), et souhaite ajouter des macros vim personnelles de façon permanente. texlive est installé ainsi: /usr/local/texlive/texmf-local je ne trouve pas d'information sur le meilleur endroit où placer ces fichiers de macros Vim. Posée 13 Jul '21, 16:00 joseph-tux |
Je ne connais pas les macros vim-latex --- et j’interprête peut-être mal la question --- mais j’utilise les abbréviations pour obtenir ce genre de résultat (sans place holder mais avec le curseur au bon endroit une fois l’abbréviation tapée):
Voici un exemple adapté de mon fichier de config iabbrev <buffer> fn %<CR>footnote{%<CR>}%<Esc>O Un (trop?) rapide coup d’œil dans le manuel de vim-latex suggère que l’extension utilise lui aussi le fichier Publiée 28 Aoû '21, 16:36 sztruks @Sztruks merci pour cet éclairage utile. La macro suivante placée dans ce fichier: ~/.vim/tex.vim fonctionne:
semble efficace. Elle utilise la syntaxe standard de vim et non celle de la suite vim-latex (ce qui impose le 2kI final, au lieu d'un «placeholder» sur le 2e ligne) En revanche je n'ai pas encore trouvé comment on intègre la sélection visuelle comme contenu de la note avec vmap. Cette commande permettrait de transformer le passage sélectionné en note.
(29 Aoû '21, 10:40)
joseph-tux
Dans un esprit vimgolf, je conseille tout de même <CR> — tape entrée en mode insertion — plutôt qu’<ESC>O qui fait la même chose, mais en deux commandes
(29 Aoû '21, 11:26)
sztruks
1
encore merci Sztruks. Je devrais bien me (re)mettre à cet apprentissage des mappages. C'est mieux qu'esthétique: ça corrige un bug, en cas d'insertion d'une note au milieu d'un texte existant (avec <ESC>o», la suite du texte était laissée derrière le «%», contrairement à <CR>) Reste à supprimer l'indentation automatique (à quoi sert de mettre «%» à la fin du mot, si c'est pour remettre une espace avant «\footnote{» ?)
(29 Aoû '21, 11:30)
joseph-tux
Pour corriger ce problème d’espace, j’ai affecté l’insertion de la note à la touche imap <buffer> <F4> % <Esc>Do<Esc>POfootnote{}<Esc>bd0f{a nmap En azerty, il faut remplacer les "D" par "I", "d" par "i" (je ne garantis pas ne pas avoir touché au b par rapport au défaut) Ceci dit, l’indentation automatique est peut-être du ressort de vim-latex…
(29 Aoû '21, 20:03)
sztruks
ma solution actuelle pour le mode insertion: imap FTN %CR><ESC>V<.....I\footnote{%<CR>%<CR>}<CR><++>2kI l'esprit vimgolf n'y est pas mais ça fait le travail. Pour le mode sélection visuelle, je cherche.
(01 Sep '21, 17:43)
joseph-tux
(05 Sep '21, 11:02)
sztruks
Affichage de 5 parmi 6
Afficher 1 commentaire(s) en plus
|
Ces macros vim sont-elles des macros dédiées à LaTeX ?
Oui, je souhaite créer une commande \Footnote qui «formate» l'écriture d'une \footnote ainsi:
%
\footnote{%
<++>%
}
et donc une macro chargée avec un fichier *.tex
Comme il s’agit d’une macro LaTeX indépendante de l’éditeur, je déconseille l’utilisation de l’arborescence .vim/ Place la macro dans celle de texlive, c’est à dire
$TEXMFHOME/tex/latex/
(sur un unix,echo $TEXMFHOME
devrait te donner la localisation, en général il s’agit de~/texmf/
@sztruks il s'agit bien de créer une macro vim: écrire une commande \footnote{Texte} en la formattant ainsi pour faciliter la lecture:
1 un « % » suivi d'une nouvelle ligne
2 la commande « \footnote{% » (suivi d'un % et d'une nouvelle ligne)
3 le « place-holder <++> % » pour le texte de la note (avec un « % » en fin de la dernière ligne et une nouvelle ligne
4 « }% » puis une nouvelle ligne
Cette macro serait sur le modèle des macros de la suite vim-latex, soit en mode insertion (comme: SSE qui écrit \section{<++>}, soit en mode sélection (le contenu de la note, comme « `em «)