Comment minimiser l'utilisation des touches fléchées lors de la saisie du code?

StackOverflow https://stackoverflow.com/questions/1023002

  •  06-07-2019
  •  | 
  •  

Question

Lors de la saisie du code, je fermais normalement les crochets, revenais à l'intérieur, sortais, tapais un point-virgule, etc.:

Je pourrais commencer par (| est le curseur):

System.out.println()|

Ensuite, allez à gauche:

System.out.println(|)

Ensuite ceci:

System.out.println(foo()|)

Encore une fois revenir en arrière sur un espace:

System.out.println(foo(|))

Les guillemets sont similaires:

System.out.println(foo(""|))

... etc.

Ma main droite se déplace constamment entre la rangée de base et les touches fléchées. J'ai essayé vim et bien que je connaisse les bases, cela me fait toujours très mal à l'aise.

Comment dois-je faire cela? Dois-je simplement taper de gauche à droite (parenthèse ouvrante, puis contenu, puis parenthèses fermantes, puis point-virgule)?

Merci.

Était-ce utile?

La solution

D'abord et avant tout, vous gagnerez beaucoup de rapidité en utilisant h, j, k et l au lieu des touches fléchées. Voir Apprentissage de la méthode pragmatique pour plus de détails. aperçu des touches.

Cependant, ce que vous voulez probablement dans ce cas-ci est le fermeture automatique plugin. Il insère automatiquement la parenthèse fermante (ou citation) avec l'ouverture et place le curseur entre eux. Ainsi, vous passez de

System.out.println(|)

à

System.out.println(foo(|))

à

System.out.println(foo("|"))

Si vous tapez ensuite ")), le curseur sera & "; passez au-dessus de &"; les caractères de fermeture au lieu d’en insérer de nouveaux. Cependant, un moyen plus rapide d’atteindre la fin de la ligne est probablement <Esc>A.

System.out.println(foo(""));

Donc, pour résumer, ce qui précède peut être produit en tapant System.out.println(foo("<Esc>A;.

Pour éditer des caractères appariés, par opposition à leur insertion, voir surround.vim .

Autres conseils

Eh bien, c’est Java, si vous utilisez un IDE plus ou moins bon, vous devriez pouvoir compléter automatiquement, de cette façon quand vous tapez & "System.out.println &"; et appuyez sur Entrée pour accepter la saisie semi-automatique, les crochets apparaîtront et le curseur sera au milieu (oh, et il y aura aussi des guillemets!)

Si vous êtes déjà dans vim, essayez de jouer avec les touches h, j, k et l. Ils font la même chose que les touches fléchées mais sont beaucoup plus pratiques. Essayer de prendre l’habitude de taper dans l’ordre aiderait probablement aussi, mais c’est quelque chose qui demande un effort.

Vous pouvez enregistrer des séquences de touches en maintenant la touche Ctrl enfoncée et en utilisant les touches de direction. Au lieu de déplacer un caractère, il déplace un mot à la fois. Cela fonctionne également lors de l'espacement arrière. Ctrl-Backspace supprimera donc le mot entier au lieu du dernier caractère.

Ne pas.

Votre habitude de mettre fin à quelque chose que vous avez commencé - que ce soit la parenthèse fermante, le crochet, l’accolade ou l’appel .Close () pour correspondre à .Open (), ou un appel delete / free pour correspondre à votre nouveau / malloc - est un excellent. Même si vous avez l’intention de & Fermer; & Quot; votre objet dans un champ différent (comme une fonction de terminaison), votre habitude vous oblige à penser à libérer correctement les ressources.

Oui, il existe des éditeurs utiles qui vous permettent de coder plus rapidement, ce que vous devez absolument utiliser, mais ne les laissez pas devenir une béquille vous permettant d’oublier de fermer des objets / de libérer des ressources.

La réponse directe à votre question: la plupart des bons éditeurs de programmeurs peuvent être personnalisés / configurés. Il vous suffira donc de vous familiariser avec la configuration avancée de l'éditeur de votre choix - vim, emacs, l'éditeur Visual Studio.

Essayez AutoHotKey et mon script:

*!I::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Up}"
*!K::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Down}"
*!J::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Left}"
*!L::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Right}"
*!U::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Home}"
*!O::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{End}"
*!h::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Del}"

LAlt & amp; Shift :: ('ligne optionnelle')

Il s’agit de maintenir Alt + enfoncé en appuyant sur une touche de: i, k, j, l (touches fléchées), u, o (home, end) ou h (delete). La dernière ligne est facultative si vous ne souhaitez pas modifier la langue du clavier. mise en page par LAlt + Shift

Vous pouvez l'utiliser même avec des modificateurs tels que shift et ctrl.

appréciez;)

Je recommanderais totalement vim ... car cela m'aidera beaucoup! En outre, examinez quelque chose qui fermera automatiquement vos parenthèses, crochets et accolades ... J'ai quelque chose dans vim qui fait cela et cela aide avec ce type de problème car je suis déjà dans la parenthèse.

Un autre vote pour Vim. En outre, il existe d'excellents plugins pour plusieurs IDE standard qui utilisent les associations de touches Vi. J'utilise jVI dans Netbeans de temps en temps.

Vous constaterez que plus vous utilisez Vim, plus il est facile pour vos poignets. Vous constaterez également qu'une recherche / remplacement suffisamment intelligent peut vous faire économiser beaucoup de frappes au clavier, tout comme une action regex-y globale.

Liez: tabn et: tabp à quelque chose d’accessible tel que et et forcez-vous à accomplir votre travail sans abandonner ni utiliser un éditeur graphique adéquat.

J'avais l'habitude de taper complètement de manière linéaire (oui, dans vim), je ne pouvais jamais comprendre le fringant va-et-vient créé par l'écriture d'éléments de fermeture immédiatement.

Cependant, j'utilise maintenant Eclipse - il les crée pour moi au fur et à mesure, donc à la fin de quelque chose avec a) & ";)) désordre je viens de frapper la fin et tapez un;, pas besoin de traiter manuellement du tout. Ce qui me déroute parfois, mais ça va.

Je trouve que le pavé numérique rend la navigation très facile car les touches home et pgup sont très proches. Pour taper des chiffres, utilisez simplement la rangée supérieure du clavier (difficile à apprendre, je suis d’accord, mais suffisamment rapide après un certain temps).

Pour moi, le seul inconvénient est d’utiliser des claviers d’ordinateur portable et d’utiliser ceux d’autres personnes, où je dois désactiver le verrouillage numérique à chaque fois.

Un bon IDE (Galileo est presque là) fermera automatiquement les crochets, les parenthèses, etc., et insérera intelligemment un point-virgule à la fin de la déclaration. Pas besoin d'utiliser des flèches du tout!

Bien sûr, pour une impression dans Eclipse, vous pouvez simplement taper sysout mais c’est probablement une mauvaise habitude à prendre.

Mais faites attention! Si vous êtes trop rapide, vos collègues vous forceront toujours à conduire: P

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top