Je suis sûr que tout le monde peut convenir que le pouvoir et le contrôle offerts par un programme comme Vim sont incroyables. Cependant, naturellement, beaucoup ne sont pas à l'aise avec les différents modes, et le ligne de commande sentir de cela. Il est difficile de rivaliser visuellement avec une belle interface utilisateur, comme Espresso. Mais que se passerait-il si nous pouvions prendre certaines des commandes / raccourcis Vim les plus populaires et les transférer manuellement pour les utiliser dans Espresso? Ne serait-ce pas le meilleur des deux mondes?
Vous obtiendrez le maximum de ce tutoriel si vous avez une connaissance modeste de Vim et de sa syntaxe..
Mettons quelques choses au clair dès le départ. Travailler avec Vim, c'est travailler avec une langue. c'est précisément pourquoi il est si puissant. Voulez-vous supprimer les quatre mots suivants? Facile, tapez c4w
(changez quatre mots). Qu'en est-il des deux mots suivants? Eh bien, nous connaissons la syntaxe: C2w
. Hmm… et si je dois supprimer les trois lignes suivantes de la position du curseur? Encore une fois, nous n’avons pas à mémoriser une commande clavier séparée; nous utilisons plutôt le langage: 3dd
(effacez les trois lignes suivantes).
Notre objectif est de transférer la plus grande partie de cette fonctionnalité sur le célèbre éditeur Espresso for Mac. La raison pour laquelle cela est spécifique à Espresso est que nous allons utiliser des macros pour imiter une poignée de tâches pour chaque commande. Les tâches / frappes de clavier spécifiques varient d'un éditeur à l'autre.
J'espère que les membres de la communauté commenceront à créer leurs propres les ports pour leurs éditeurs préférés. À ce stade, nous pouvons développer un référentiel sur Github.
Nous ne pouvons certainement pas transférer la langue entière et ses modes vers Espresso; c'est impossible. Mais nous pouvons imiter beaucoup des commandes les plus populaires avec des macros.
Je suppose que la réponse à cette question dépend entièrement de… vous. Quand j'ai commencé mon procès de 4 semaines de Vim, en septembre, je suis rapidement tombé amoureux des modes et de la langue. Cependant, chaque éditeur a ses avantages et ses inconvénients. Dans mon cas, même si j'aime toujours utiliser Vim tous les jours, je n'aime pas comment:
Commande + Option + P
. En outre, cette fenêtre se met à jour en temps réel, au fur et à mesure que vous tapez.Récemment, alors que je jouais avec les macros de clavier, je me suis demandé s’il existait un moyen d’utiliser cette fonctionnalité. Peut-être aimerez-vous cette idée? peut-être que tu détestes.
Tandis que Vim est 100% gratuit (cela fait partie de sa grandeur), Espresso ne l’est pas. De plus, nous allons créer des macros de clavier avec un programme appelé Keyboard Maestro. Cela aussi n'est pas gratuit. Je suis certain que certains programmes de création de macros open source sont disponibles sur le Web. Cependant, celui-ci est le meilleur que j'ai pu trouver. Ça vaut les 35 $.
Pour suivre, vous aurez besoin de:
Commençons par une simple macro. Utiliser Vim dans Ordinaire
en mode, on peut taper ciw
(changer le mot intérieur) pour supprimer le mot actuel et passer à insérer
mode.
Maintenant, Espresso n'a pas modes
, mais, comme je l'ai trouvé, ça va. Nous pouvons toujours taper ces commandes; alors qu'ils seront entrés en texte normal, dès que la macro se déclenchera, ils seront supprimés très rapidement.
Donc, pour notre première macro, nous voulons imiter cette fonctionnalité. Quand le curseur est au dessus d'un mot, je veux taper rapidement cw
changer le mot.
Umm… pourquoi ne pas simplement frapper le
Commande + Maj + W
raccourci?
Oui, nous pourrions le faire, mais, à mon avis, nous ne devrions pas.
Lors de la création d'une nouvelle macro, la première étape consiste à déterminer comment exécuter la tâche manuellement dans l'éditeur de code. Dans ce cas, Maj + Commande + W
sélectionnera le mot. Ensuite, le effacer
la clé, bien sûr, supprimera le mot. Ces deux commandes imiteront à elles seules ciw
à Vim.
L'étape suivante consiste à créer la macro. Lancez Keyboard Maestro et, avant toute chose, créez un nouveau groupe spécialement pour vos commandes Vim.
De cette façon, vous pouvez limiter l'application de ces raccourcis à Espresso et non, par exemple, à Microsoft Word. J'ai appelé mon groupe, VimMimic.
Maintenant, nous devons créer une nouvelle macro, définir un déclencheur et choisir le expandeur..
Si vous vous demandez pourquoi nous n'utilisons pas votre programme TextExpander existant, c'est parce que de tels programmes ne font que développer du texte. Mais nous devons effectuer des macros ou des tâches.
Une fois la préparation terminée, nous devons maintenant enregistrer nos étapes. Bien que Keyboard Maestro dispose de nombreux dossiers / commandes, ce qui est génial, c’est qu’il offre un bouton «Enregistrer», qui permet d’écouter et d’enregistrer toutes les touches que vous tapez, les mouvements de la souris / clics, etc..
Si vous en avez besoin, retournez à Espresso et mémorisez les touches / commandes à saisir pour changer le mot. Cependant, soyez intelligent à ce sujet. Par exemple, votre macro doit-elle sélectionner quelque chose comme sheldon.couper
dans son intégralité? Ou voulez-vous qu'il ne sélectionne que le mot, jusqu'à (ou après) la période? À l'espresso, Commande + Maj + W
effectuera ce dernier. Décidez vous-même sur celui-ci. Je pense que je vais faire le premier et tout sélectionner.
Dans ce cas, je dois être plus intelligent en ce qui concerne la macro. Après un peu de jeu, voici ce que je suis venu avec.
Si vous le souhaitez, créez une seconde macro, ciw
(changer le mot intérieur), qui ne sélectionnera qu'avant ou après la période.
Une fois votre macro terminée, essayez-la! Revenez à Espresso et, une fois que le curseur est sur un mot, tapez cw
. Ceci déclenchera alors la macro dans laquelle toutes vos actions précédemment enregistrées seront jouées en haute vitesse..
J'espère qu'il est possible d'effectuer une macro sans mettre à jour l'interface utilisateur jusqu'à la fin. Mais je ne sais pas comment faire pour le moment.
Si vous n'êtes pas un utilisateur de Vim, je m'attendrais à ce que vous pensiez: "Tout ce travail consiste simplement à supprimer un mot?" Et croyez-moi, je comprends. Ce que je peux vous dire, c’est que, une fois que vous avez utilisé Vim pendant un moment, une syntaxe de langage ressemble beaucoup plus à votre sens que de mémoriser d’innombrables raccourcis clavier.
Et, d'accord, c'est un exemple très minime.
j
pour Down; k
pour UpLa première fois que j’ai appris que je devais utiliser les lettres pour monter, descendre, gauche et droite (kjhl
), J'ai ri. C'est comment vieux! Mais une fois que vous avez engagé les clés de la mémoire musculaire, votre vitesse augmente. Vous n'êtes plus obligé de faire glisser votre main droite sur la partie inférieure droite du clavier pour appuyer sur la flèche vers le bas. Nope - vos mains restent en position de repos car ces touches sont directement dans la deuxième rangée.
Vim utilise mode
s pour basculer entre les commandes et l’insertion de texte. Mais, comme mentionné ci-dessus, Espresso ne les a pas. Donc, nous allons utiliser le verrouillage des majuscules
clé pour servir de notre Ordinaire
mode.
Demandez-vous: "À quelle fréquence dois-je utiliser le verrouillage des majuscules
"Si vous êtes comme moi, la réponse est:" presque jamais. "Dans cet esprit, utilisez-le et redirigez sa fonction. Sur un Mac, c'est simple..
Aller à Préférences Système -> Clavier -> Touches de modification
, et changer le verrouillage des majuscules
pour acheminer au Contrôle
clé que j'ai toujours du mal à cibler lorsque je tape (au moins sur mon ordinateur portable).
Maintenant, chaque fois que vous appuyez sur verrouillage des majuscules
, la contrôle
la clé sera déclenchée.
Celui-ci est ridiculement simple, mais cela fonctionne. Maintenant, quand vous tapez Verrouillage majuscule + J
, la flèche vers le bas sera déclenchée. Il est important de garder à l'esprit que vous n'êtes pas obligé de l'utiliser, si vous ne le souhaitez pas. Vous pouvez toujours appuyer sur la flèche vers le bas. Mais, pour ceux qui se sentent plus à l'aise de garder leurs mains en position de repos, cela pourrait être préférable.
Votre prochaine étape consiste à répéter le cycle pour le haut, la gauche et la droite - en utilisant exactement la même méthode.
'
Vim a une belle commande, ci '
cela vous permet de vider le contenu de la chaîne suivante, entre guillemets simples. C'est incroyablement utile et peut vraiment accélérer votre codage.
Essayons de créer une macro pour le faire dans Espresso. Celui-ci sera plus compliqué, car nous devons utiliser l'outil de recherche dans Espresso pour rechercher l'occurrence suivante d'un seul devis. Donc, la solution ne sera pas parfaite, mais le travail sera partiellement fait.
Essayez vous-même. N'importe où dans votre document, tapez cn '
. Malheureusement, du moins pour le moment, cela ne fonctionne parfaitement que pour des mots isolés entourés de guillemets..
Dans Vim, si vous tapez une capitale C
, en mode normal, il supprime tout le texte d'une ligne qui vient après la position du curseur. C'est très utile. Nous pouvons faire la même chose dans Espresso avec une simple macro. toutefois, Maj + C
ne fonctionnera pas, parce que l'espresso n'a pas modes
. Faisons Caps Lock + C
au lieu. Rappelez-vous, caps maintenant les routes vers la Contrôle
clé!
Dans Vim, avec le plugin Surround, je peux taper dst
(supprimer la balise environnante) pour supprimer une balise wrapping. Je l'utilise souvent. Hmm - ce sera plus compliqué dans Espresso, mais cela peut être fait. Voici ce que je suis venu avec; essayez-le sur votre machine.
C'est un peu plus compliqué, mais ça marche!
Notez que, s'il semble que certaines de ces actions peuvent être supprimées, elles sont là parce que j'ai trouvé des situations étranges où elles étaient nécessaires. Mieux vaut être en sécurité.
Aussi utile que de supprimer la balise environnante, est en changeant le nom de la balise.
Il y a une bizarrerie à propos de cette méthode particulière. Comme Espresso n’est pas basé sur le mode, lorsque vous modifiez l’étiquette, cette commande vous mènera jusqu’au point où vous pourrez modifier la valeur de l’étiquette. Une fois que vous avez fait, appuyez simplement sur Droite
, et collez le texte d'origine (copié par la macro). Vous verrez ce que je veux dire quand vous l'essayez. Faites-moi savoir si Espresso est doté d'une commande intégrée change-tag-name.
Bon, ça devrait vous aider à démarrer. Si vous êtes un membre Premium, assurez-vous de vous référer à la partie vidéo de ce tutoriel pour une démonstration plus individuelle. J'ai créé un dépôt sur Github, qui contient des dizaines de commandes que vous êtes libre d'utiliser (et d'améliorer) comme vous le souhaitez..
jj
supprimer une ligne va tout gâcher à chaque frappe "blague." Alors qu'est-ce que tu en penses? Aimes tu l'idée? Je suis curieux, bien que je sois dans ce dernier camp.
Le groupe de macros Keyboard Maestro est constamment mis à jour. Pour télécharger la version la plus récente, veuillez l’obtenir ici: http://github.com/JeffreyWay/VimMimic-for-Espresso
Liens du tutoriel:
Espresso: http://macrabbit.com/espresso/
Clavier Maestro: http://www.keyboardmaestro.com