Sélection de colonne IntelliJ à l'aide des touches de curseur

107

Est-il possible de configurer IntelliJ IDEA pour que je puisse sélectionner une colonne avec les touches de curseur de la même manière que je le ferais dans Notepad ++, Visual Studio ou FlashDevelop.

Par exemple, lorsque je tape du code, je fais presque toujours ma navigation uniquement en utilisant le clavier. Dans les IDE mentionnés précédemment, je peux rapidement sélectionner des blocs de code en maintenant Shift+ Altpuis en appuyant sur pour étendre mon curseur sur les lignes ci-dessus. Je peux ensuite maintenir Shift+ Alt+ Ctrlet appuyer sur ou pour sauter rapidement entre les mots et sélectionner le morceau de texte que je veux.

Dans IntelliJ IDEA, je dois constamment activer et désactiver le mode de sélection de colonne à l'aide du Shift+ Alt+ Insertet même dans ce cas, il ne fonctionne pas tout à fait comme dans les autres IDE ou éditeurs de texte.

Des idées?

Joshua Barnett
la source
1
Ce billet de blog devrait être utile.
Anton Dozortsev

Réponses:

158

Vous pouvez modifier les colonnes à l'aide du Edit | Column Selection Mode.

Le raccourci pour le tourner on/offest Alt+ Shift+ Insert. Vous naviguez avec les touches fléchées pour sélectionner des blocs de texte.

duffymo
la source
2
J'étais au courant de ce mode mais il ne fournissait pas tout à fait ce que je voulais, mais il semble que je n'obtiendrai pas le comportement souhaité sans écrire moi-même un plugin.
Joshua Barnett
30
Sur Mac, le raccourci est Cmd + shift + *
8bitme
5
Pour une raison quelconque sur mon Mac, Cmd + Shift + 8 ne fonctionnait pas et je ne pouvais pas comprendre pourquoi, j'ai remappé cela sur Ctrl + Option + Commande + 8 et cela a bien fonctionné. Je n'ai pas non plus pu trouver quoi que ce soit qui empêcherait cette ancienne mappe de touches de fonctionner à part peut-être un mappage système qui l'aurait écrasée.
AlexC
7
C'est comme si vous n'aviez même pas lu la question. La réponse de @JoshuaBarnett Gibolt est ce que vous voulez.
jv110
2
Appuyant jv110 et son objection à la réponse de JoshuaBarnett. L'affiche est déjà clairement consciente du raccourci clavier mentionné par JoshuaBarnett et cherche un moyen plus léger d'entrer en mode d'édition de colonne, ce que fournit la réponse de @ Gibolt.
Daniel Cotter
59

Caret multiligne (sans souris)

Windows / Linux: CTRL+ CTRL(Maintenir) +↑ / ↓

Mac: + (Maintenir) +↑ / ↓

ESC mettra fin au mode multiligne.

Modifier la touche de raccourci multi-caret

Pour ajouter un Keymap personnalisé, CTRL+ SHIFT+ A, tapez keymapet cliquez sur celui avec Settingscomme sous-texte. Recherchez Clone Caret Aboveet Clone Caret Below.

J'ai mappé le mien sur ALT+ SHIFT+ ↑ / ↓.

Prime

Essayez de tenir des combinaisons de CTRL, SHIFTet des flèches pour le pouvoir de sélection améliorée.

Gibolt
la source
5
Je pense que cela devrait être la bonne réponse. La réponse acceptée actuellement ne fait que reformuler une partie du contenu de la question - mais cette réponse fournit une véritable sélection rectangulaire sans utiliser la souris, comme Notepad ++.
Corwin Newall
8
Sur mon Mac, la ALTclé a été mappée par défaut au lieu de . Donc c'était: ALT+ ALT(Maintenir) + /
gfullam
Vous ne pouvez pas simplement indiquer Windows et macOS et ignorer Linux!
jv110
@ jv110 vrai. C'est correct de dire juste macOSmais je ne peux pas mettre `` somnolent devant '' nix
javadba
48

Il est également possible de sélectionner le maintien middle mouse key.

kyb
la source
18

Accédez à Settings | Keymapet définissez un raccourci pour Clone Caret Aboveet pourClone Caret Below

Meo
la source
Savez-vous s'il est possible de le faire fonctionner de manière similaire à celle des éditeurs de texte tels que Notepad ++ où vous ne pouvez étendre que dans une direction et l'opposé de cette direction le réduit?
Joshua Barnett
Je ne pense pas que ce soit possible. Je n'ai même pas vu de demande de fonctionnalité pour cela.
Meo
Appuyez sur Ctrl, puis maintenez la touche Ctrl, c'est exactement comme vous l'avez décrit.
jv110
c'était la seule solution qui fonctionne pour moi. Merci d'avoir partagé.
MARK
11

Je pense que la réponse de @ Meo est la plus correcte, mais si votre main se trouve être sur la souris, vous pouvez également le faire avec Ctrl+ Alt+ Shift+ Left Mouse Button Click. Ou recherchez le Add Rectangular Selection on Mouse Dragdans les paramètres de keymap.

Wesley Musgrove
la source
Ou appuyez sur Ctrl puis maintenez la touche Ctrl.
jv110
10

Sous Windows ou Linux, j'appuie deux fois Ctrl

Carlos Verdes
la source
1
Cliquez Ctrlpuis appuyez rapidement et maintenez Ctrlune seconde fois. Utilisez les touches fléchées tout en maintenant Ctrl
enfoncées
8

Pour moi sur Mac:

Appuyez une fois sur la touche «option», relâchez-la et maintenez-la à nouveau enfoncée. Naviguez maintenant avec le curseur pour sélectionner le code souhaité. Appuyez sur 'Echap' pour quitter le mode colonne! :)

LeXav
la source
7

Le moyen le plus pratique est de:

  • MAC: Hold Option + Shift et cliquez avec la souris.
  • Windows: maintenez la touche Alt enfoncée et cliquez avec la souris.
Lukyer
la source
6

Sur un Mac (avec les mappages de clavier par défaut):

8

Bohème
la source
1
mémoire musculaire: aller à la fonctionnalité
javadba
1

Pour Mac cmd+ shift+ *ne fonctionnait pas pour moi. J'ai changé le keymap en quelque chose d'autre et maintenant cela fonctionne de manière transparente.

sia
la source