Quelle est la manière la plus rapide et / ou la plus simple de taper rarement des caractères non fournis par KeyLayout?

10

J'ai récemment écrit beaucoup de documentation et j'aimerais pouvoir taper des caractères en exposant natifs (⁰, ¹, ², ³, ⁴, ⁵) pour appeler des avertissements / annotations. L'environnement d'écriture dans lequel je suis ne prend pas en charge les balises telles que <sup>ou similaires à LaTeX ^1 ^2 ^3 ^4 ^5.

Ma solution actuelle pour insérer ces caractères est de;

  1. Activez en permanence le "menu d'entrée dans la barre de menus" dans Keyboard.prefPane -> Sources d'entrée
  2. Passez la souris sur l'icône du menu de saisie, cliquez dessus, puis «Afficher la visionneuse de caractères».
  3. Une fois la visionneuse de caractères affichée, passez la souris sur la zone de recherche de caractères et saisissez le nombre à exposer, ou entrez littéralement le mot 'exposant' qui me donnera utilement 0-9 que je pourrai utiliser rapidement si nécessaire.

Comment puis-je raccourcir le temps nécessaire pour saisir ces caractères?

Jason Salaz
la source
Ceci est lié à ou à un doublon de apple.stackexchange.com/questions/183045/… , mais les détails spécifiques des points de code Unicode (qu'est-ce qu'un Unicode?) Rendent difficile la recherche d'imo. Je suis d'accord avec le fait qu'il soit fermé s'il est jugé nécessaire, je veux juste que cette question / réponse reste pour la recherche de fourrage.
Jason Salaz
J'aime avoir un lien si vous souhaitez modifier la façon dont il est lié dans votre réponse. Cette question concerne la mise au point rapide - l'autre question a bien d'autres choses à faire.
bmike

Réponses:

15

J'avais pensé que le sélecteur command+ control+ space( ⌘^␣) était uniquement composé d'emoji, je me trompais. Ou peut-être que cela a changé depuis la dernière fois que j'ai regardé inévitablement 1 à 3 versions de macOS?

Capture d'écran de la visionneuse de personnages en mode commande + ctrl + popover avec '1' entré dans la barre de recherche

C'est absolument le moyen le plus rapide d'entrer n'importe quel caractère, à condition que son nom unicode ne soit pas trop ésotérique.

Jason Salaz
la source
Comment saisir les touches que vous avez appelées? cmd+6+underscorene fonctionne pas. Pas plus cmd+shift+6+underscore. Je suis nouveau dans ce domaine.
spacetyper
7
@spacetyper ce sont les caractères de raccourci dans Mac - le signe d'insertion est utilisé pour désigner Ctrlet le dernier n'est pas un trait de soulignement, c'est un caractère (U + 2423 Open Box), qui est utilisé pour désigner un espace. Ainsi, l'objectif serait cmd+ctrl+space. Voir ici
Delioth
@spacetyper voir apple.meta.stackexchange.com/q/193/1346 pour de nombreuses informations fantastiques sur nos normes de raccourcis clavier et l'étiquetage sur macOS.
Jason Salaz
12

Configurez des remplacements de texte pour vos personnages dans les préférences système / clavier / texte / remplacer par

entrez la description de l'image ici

Tom Gewecke
la source
1

J'ai créé un workflow Alfred qui exécute le filtre de script ci-dessous. Le filtre de script est connecté à une action "Copier dans le presse-papiers" où l'option "Coller automatiquement au premier plan de l'application" est sélectionnée.

awk 'FILENAME==ARGV[1]{a[tolower($0)];next}{for(i in a)if(!index(tolower($0),i))next}1' <(printf %s\\n {query}) unicode|sed 's/&/\&amp;/g;s/</\&lt;/g;s/>/\&gt;/g;s/"/\&quot;/g'|awk -F\; '{print"<item><arg>"$1"</arg><title>"$1,$2,$3"</title><icon></icon></item>"}'|echo "<?xml version='1.0'?><items>$(cat)</items></xml>"

Le unicodefichier contient la sortie de la commande ci-dessous. \Uet \uont été ajoutés dans Bash 4.2.

curl www.unicode.org/Public/UNIDATA/UnicodeData.txt|while read l;do [[ ${l#*;} != @(<|SEMICOLON;)* ]]&&printf \\U$(printf %08d $((0x${l%%;*})));printf ';%s\n' "$l";done|cut -d\; -f-3

Voici à quoi ressemble le workflow:

J'utilise également la ugfonction ci-dessous pour rechercher des caractères Unicode dans un shell. ~/f/unicodedataest une version du UnicodeData.txtfichier qui comprend un champ pour le caractère littéral au début de chaque ligne. gaaffiche les lignes de STDIN qui contiennent chaque argument en tant que sous-chaîne.

ga(){ awk 'FILENAME==ARGV[1]{a[tolower($0)];next}{for(i in a)if(!index(tolower($0),i))next}1' <(printf %s\\n "$@") -;}
ug(){ ga "$@"<~/f/unicodedata;}

Exemple de sortie:

$ ug superscript
²;00B2;SUPERSCRIPT TWO;No;0;EN;<super> 0032;;2;2;N;SUPERSCRIPT DIGIT TWO;;;;
³;00B3;SUPERSCRIPT THREE;No;0;EN;<super> 0033;;3;3;N;SUPERSCRIPT DIGIT THREE;;;;
¹;00B9;SUPERSCRIPT ONE;No;0;EN;<super> 0031;;1;1;N;SUPERSCRIPT DIGIT ONE;;;;
 ٰ;0670;ARABIC LETTER SUPERSCRIPT ALEF;Mn;35;NSM;;;;;N;ARABIC ALEF ABOVE;;;;
 ܑ;0711;SYRIAC LETTER SUPERSCRIPT ALAPH;Mn;36;NSM;;;;;N;;;;;
⁰;2070;SUPERSCRIPT ZERO;No;0;EN;<super> 0030;;0;0;N;SUPERSCRIPT DIGIT ZERO;;;;
ⁱ;2071;SUPERSCRIPT LATIN SMALL LETTER I;Lm;0;L;<super> 0069;;;;N;;;;;
⁴;2074;SUPERSCRIPT FOUR;No;0;EN;<super> 0034;;4;4;N;SUPERSCRIPT DIGIT FOUR;;;;
⁵;2075;SUPERSCRIPT FIVE;No;0;EN;<super> 0035;;5;5;N;SUPERSCRIPT DIGIT FIVE;;;;
⁶;2076;SUPERSCRIPT SIX;No;0;EN;<super> 0036;;6;6;N;SUPERSCRIPT DIGIT SIX;;;;
⁷;2077;SUPERSCRIPT SEVEN;No;0;EN;<super> 0037;;7;7;N;SUPERSCRIPT DIGIT SEVEN;;;;
⁸;2078;SUPERSCRIPT EIGHT;No;0;EN;<super> 0038;;8;8;N;SUPERSCRIPT DIGIT EIGHT;;;;
⁹;2079;SUPERSCRIPT NINE;No;0;EN;<super> 0039;;9;9;N;SUPERSCRIPT DIGIT NINE;;;;
⁺;207A;SUPERSCRIPT PLUS SIGN;Sm;0;ES;<super> 002B;;;;N;;;;;
⁻;207B;SUPERSCRIPT MINUS;Sm;0;ES;<super> 2212;;;;N;SUPERSCRIPT HYPHEN-MINUS;;;;
⁼;207C;SUPERSCRIPT EQUALS SIGN;Sm;0;ON;<super> 003D;;;;N;;;;;
⁽;207D;SUPERSCRIPT LEFT PARENTHESIS;Ps;0;ON;<super> 0028;;;;Y;SUPERSCRIPT OPENING PARENTHESIS;;;;
⁾;207E;SUPERSCRIPT RIGHT PARENTHESIS;Pe;0;ON;<super> 0029;;;;Y;SUPERSCRIPT CLOSING PARENTHESIS;;;;
ⁿ;207F;SUPERSCRIPT LATIN SMALL LETTER N;Lm;0;L;<super> 006E;;;;N;;;;;
ﱛ;FC5B;ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0630 0670;;;;N;;;;;
ﱜ;FC5C;ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0631 0670;;;;N;;;;;
ﱝ;FC5D;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0649 0670;;;;N;;;;;
ﱣ;FC63;ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0020 0651 0670;;;;N;;;;;
ﲐ;FC90;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM;Lo;0;AL;<final> 0649 0670;;;;N;;;;;
ﳙ;FCD9;ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM;Lo;0;AL;<initial> 0647 0670;;;;N;;;;;
$ ug superscript paren
⁽;207D;SUPERSCRIPT LEFT PARENTHESIS;Ps;0;ON;<super> 0028;;;;Y;SUPERSCRIPT OPENING PARENTHESIS;;;;
⁾;207E;SUPERSCRIPT RIGHT PARENTHESIS;Pe;0;ON;<super> 0029;;;;Y;SUPERSCRIPT CLOSING PARENTHESIS;;;;
nisetama
la source