web-dev-qa-db-fra.com

Sélection de colonne / verticale avec clavier dans Sublime Text 3

Je suis sur un Mac. J'ai 7 colonnes dans Sublime Text 3, chacune 300 lignes. Si possible, j'aimerais sélectionner uniquement la 4ème colonne à l'aide d'un seul raccourci clavier.

Options inappropriées

  • ctrl + shift + up/down
  • alt + mouse + drag
  • ctrl + alt + up/down. (Cela ne fait réellement rien, il n'apparaît pas dans ma session de console et il ne s'agit pas non plus d'un raccourci clavier).
  • Je préférerais également ne pas utiliser le mode VI/VIM uniquement pour cela, car cela ne fait pas partie de mon flux de travail.

Ce que j'ai essayé:

  • Une macro: mais ce n'est pas assez spécifique.
  • en utilisant command et 'page suivante' avec ctrl et 'shift`: pas de chance
  • SublimeText 3 plugin Column-Select: ne semblait pas fonctionner pour moi

Ma solution idéale serait que mon curseur puisse être placé n'importe où dans une colonne et que je frappe un raccourci (par exemple, ctrl-alt-shift-a) et que la colonne entière soit sélectionnée.

Voici un exemple:

John sally benson mariah patrick samantha martin

Simon Kate Carey Delores Joshua Samuel Eliza

Je veux sélectionner la colonne avec Maria et Delores avec une frappe. J'exécute souvent cette action pour diverses raisons (couper/coller, changer de casse, ajouter, ajouter des guillemets, exécuter une macro, etc.) et souhaiterais donc quelque chose de rapide et répétable.

Comment je ferais ça?

64
user2544542

Bon, voici la meilleure solution que j'ai trouvée qui répond à toutes les exigences:

  1. Téléchargez le plugin Sublime-Text-Advanced-CSV Sublime et installez-le.
  2. Spécifiez un délimiteur pour votre colonne ("," par défaut), via la commande "CSV: Définir le délimiteur".
  3. Appuyez sur "ctrl +, s" (ou sélectionnez dans la palette de commandes) et votre colonne sera sélectionnée.

Pas besoin d'interaction de la souris que ce soit.

2
user2544542

Vous devriez voir Sélection de colonnes sublimes :

Utiliser la souris

Des boutons de souris différents sont utilisés sur chaque plate-forme:

OS X

  • bouton gauche de la souris
  • OU: Bouton central de la souris

  • Ajouter à la sélection: 

  • Soustraire de la sélection: +

Les fenêtres

  • Bouton droit de la souris Shift
  • OU: Bouton central de la souris

  • Ajouter à la sélection: Ctrl

  • Soustraire de la sélection: Alt

Linux

  • Bouton droit de la souris Shift

  • Ajouter à la sélection: Ctrl

  • Soustraire de la sélection: Alt

Utiliser le clavier

OS X

  • Ctrl + Shift + 
  • Ctrl + Shift + 

Les fenêtres

  • Ctrl + Alt + 
  • Ctrl + Alt + 

Linux

  • Ctrl + Alt + 
  • Ctrl + Alt + 
129
Mithril

La raison pour laquelle les raccourcis documentés sublimes pour Mac ne fonctionne pas est qu'ils sont liés aux raccourcis d'autres fonctionnalités Mac telles que Mission Control, Windows Application, etc. Solution: Accédez à Préférences Système -> Clavier -> Raccourcis, puis décochez les options pour le contrôle de mission et les fenêtres d’application. Maintenant, essayez "Ctrl + Maj [+ touches fléchées]" pour sélectionner le texte souhaité, puis déplacez le curseur à l'emplacement souhaité sans clic de souris afin que la sélection puisse être collée avec l'indentation correcte à l'emplacement souhaité.

22
abhishektalluri

Dans mon cas (Linux) est alt+shiftup/down

 { "keys": ["alt+shift+up"], "command": "select_lines", "args": {"forward": false} },
 { "keys": ["alt+shift+down"], "command": "select_lines", "args": {"forward": true} },    
11
Math

Le plugin SublimeText 3 Column-Select devrait suffire. Installez-la, puis assurez-vous que le fichier 'Par défaut (OSX) .sublime-keymap' contient les éléments suivants:

    // Column mode
    { "keys": ["ctrl+alt+up"], "command": "column_select", "args": {"by": "lines", "forward": false}},
    { "keys": ["ctrl+alt+down"], "command": "column_select", "args": {"by": "lines", "forward": true}},
    { "keys": ["ctrl+alt+pageup"], "command": "column_select", "args": {"by": "pages", "forward": false}},
    { "keys": ["ctrl+alt+pagedown"], "command": "column_select", "args": {"by": "pages", "forward": true}},
    { "keys": ["ctrl+alt+home"], "command": "column_select", "args": {"by": "all", "forward": false}},
    { "keys": ["ctrl+alt+end"], "command": "column_select", "args": {"by": "all", "forward": true}}

Qu'est-ce qui n'a pas fonctionné pour vous?

5
DrStrangepork

Pour macOS, vous n'avez pas besoin d'installer de plugin ou de souris. faites juste comme ceci: ctrl + shift + down

0
vincent

Commenter pour que les gens puissent trouver une solution à la question envisagée.

Vous pouvez faire ce que vous voulez, mais ce n’est pas tout à fait aussi agréable que Notepad ++, mais cela peut fonctionner assez bien pour de petites solutions.

En sublime si vous maintenez la touche Ctrl ou MacEquiv., Et sélectionnez le mot/les caractères de votre choix sur une seule ligne avec la souris et maintenez toujours la touche Ctrl enfoncée, accédez à une autre ligne et sélectionnez le mot/les caractères que vous souhaitez sur cette ligne. et vous construirez votre sélection. J'utilise principalement notepadd ++ comme extracteur et nettoyage de données et sublime pour le développement actuel.

Si vos colonnes sont parfaitement alignées, il vous suffit de cliquer avec le bouton du milieu sur les fenêtres ou d’option + clic sur mac, ce qui vous permet de sélectionner du texte de manière carrée, comme Colonnes, à l’intérieur des lignes de texte.

0
David