Pour insérer un tiret , j’utilise ^v u 2014
sept pressions de touches. Y a-t-il un moyen plus facile? (Je regardais les digraphes et je n'y ai pas trouvé de tiret.)
insert-mode
unicode
input-methods
Tomas Tomecek
la source
la source
<Ctrl-Shift-U>2013<Space>
car cela fonctionne partout. Quelques codes de touche vont très loin (j'utilise principalement U + 2013, U + 2014, U + 2026, U + 2212, U + 2192, U + B0; - / - /… / - / → / °).Compose
-
-
-
pour un tableau de bord,Compose
-
-
.
pour un tableau de bord. La composition est magique, surtout si vous la mappez sur le Caps-Lock par ailleurs totalement inutilisé.Réponses:
Vous pouvez utiliser des digrammes: Ctrl+k-N(avec une majuscule
N
)En mode insertion, les digrammes sont entrés par Ctrl+ksuivis d'une séquence de deux caractères. Pour en-dash, la séquence est
-N
.Comme Quincy l'a fait remarquer,
U+2014
em-Dash. Si vous voulez entrer cela en utilisant des digrammes, la séquence est-M
.la source
U+2014
n'est pas au tableau de bord? toute ma vie était un mensonge! Edit: maintenant je comprends: ma police de terminal (Inconsolata) affiche les deux tirets de la même manière.:digraphs
commande pour afficher tous les digrammes et cherchez 8211.S'il n'y a pas de digraphe prédéfini ou si vous voulez une séquence de touches plus mémorable, vous pouvez définir des digrammes dans votre vimrc. Par exemple, ci-dessous définira deux digrammes pour en dash (8211) et em dash (8212) qui reflètent leurs séquences XCompose.
La
:digraph
commande s'attend à ce que la valeur soit spécifiée en décimal plutôt qu'en hexa, raison pour laquelle il s'agit de 8211 pour en tiret plutôt que 2013.la source
La méthode standard pour insérer un tiret dans Vim consiste à utiliser un digraphe, comme l' explique tommcdo .
Cependant, je trouve digraphs en général, et en particulier celui - ci ( Ctrl+k, -, Shift+N) assez difficile à taper. Pour une saisie plus rapide des tirets, vous pouvez ajouter la paire suivante de mappages en mode insertion à un fichier type, tel que
.vim/after/ftplugin/markdown.vim
.Pour les tirets en / em, respectivement:
NB
<buffer>
: Cela signifie que ce mappage ne s'appliquera qu'aux fichiers Markdown. Cela est nécessaire car il existe des contextes (par exemple, la programmation) dans lesquels je ne souhaite pas que deux traits d'union soient remplacés par des tirets.Ces mappages tirent parti du fait que, dans les contextes que je les utilise habituellement, les tirets sont entourés d'espaces et les tirets im ne le sont pas . * Utiliser ces correspondances signifie donc que je peux utiliser exactement les mêmes pressions de touche dans les éditeurs de texte moins performants que je suis parfois obligé d'utiliser tout en obtenant une sortie raisonnable. **
J'utilise en fait une solution légèrement plus compliquée que la précédente, car, pour des raisons typographiques, j'aime entourer mes traits d'un cheveu . Leur présence dans le Markdown le rend moins lisible, mais heureusement, Vim a une solution à cela, avec sa fonction "masquer", qui vous permet de masquer certains éléments de syntaxe lorsque le curseur est sur une autre ligne: ***
* Si j'ai besoin d'utiliser un tiret en espacement, je peux simplement appuyer sur la touche Retour après avoir tapé le mappage.
** Si vous n'utilisez généralement pas les tirets comme celui-ci, ou si vous ne vous aventurez jamais hors de Vim, vous pouvez utiliser autre chose pour déclencher les mappages: par exemple,
--.
et---
. Si vous utilisez d'autres déclencheurs, vous pouvez également le placer directement dans votre fichier .vimrc et supprimer les<buffer>
options.*** Vous pouvez également utiliser un caractère dissimulé
cchar
pour remplacer des éléments de syntaxe par un seul caractère, au lieu de les masquer entièrement. Si vous êtes préoccupé par des problèmes d'encodage, vous pouvez l'utiliser pour que Vim affiche–
les entités HTML dans le fichier sous forme de tirets.la source
set conceallevel=1 | syntax match longdash '—' conceal cchar=-
(Notez que le premier tiret de cette commande est un em-dash, et le second est un trait d'union en largeur totale.)syntax match
commande fonctionne- t-elle même en dehors du contexte d'un fichier de syntaxe?Sur mon clavier français AZERTY Mac, je peux insérer un tiret avec Alt+ -. Votre kilométrage peut évidemment varier.
la source
Alt+-
(ou plutôtOption+-
être pédant) est un raccourci spécifique à Mac. Cela fonctionne partout dans OS X, mais n'est pas lié à vi ou vim.-
, ce qui permet de passer en mode Normal et de placer le curseur au début de la ligne précédente.Installez mon plug - in unicode , entrez Vim et tapez DASH, puis sur CtrlXCtrlZpour activer la complétion Unicode.
(Notez le -N dans la description qui montre le digraphe pour saisir ce caractère)
la source
Inspiré par l'excellente réponse de Rich, j'ai ajouté les lignes suivantes à mon vimrc:
Fonctionne comme un régal!
la source
Pour un tirage au trait, un digraphe est la meilleure voie à suivre, comme suggéré dans diverses autres réponses. Mais pour les caractères unicode arbitraires, une autre méthode consiste à utiliser le
^V
mode insertion (voir:he i_CTRL-V_digit
).Pour une fraternité, ce serait par exemple
^Vu2013
.la source