Supposons que j'ai plusieurs curseurs le long de plusieurs lignes, comme ceci:
foo|
barr|
foobar|
baz|
Comment puis-je automatiquement pousser les espaces à la fin de chaque ligne sur un bord plat, comme ceci ?:
foo |
barr |
foobar |
baz |
(Dans ces exemples, |
est supposé être mon curseur.)
Quand vous venez Tab ou Space de l'arrangement initial, vous obtenez ceci:
foo |
barr |
foobar |
baz |
C'est utile, mais pas ce que je cherche. Je cherche une sorte de raccourci clavier qui me permette de mettre en retrait un curseur déchiqueté à insérer dans une colonne droite.
Vous pouvez utiliser wbond Sublime Alignment
Vous devrez peut-être ajouter ceci à votre fichier de paramètres (Préférences> Paramètres de package> Alignement> Paramètres-Utilisateur:
// The mid-line characters to align in a multi-line selection, changing
// this to an empty array will disable mid-line alignment
"alignment_chars": ["=", "|"],
// If the following character is matched for alignment, insert a space
// before it in the final alignment
"alignment_space_chars": ["=", "|"]
Remplacer "|" avec n'importe quel caractère que vous souhaitez aligner.
Edit: Comme mtoast l’a découvert, ajouter "\n"
à "alignment_chars" donne l’effet souhaité. L'ajout du nouveau caractère de ligne à "alignment_space_chars" n'est probablement pas nécessaire et risque de supprimer le texte. Cependant, avec mes tests limités, je n'ai pas vu de différence.
Tenir control et cliquez à la fin de chaque ligne. Appuyez ensuite sur les raccourcis clavier d’alignement (pour Linux, la valeur par défaut est ctrl + alt + a). Vous constaterez que les curseurs sont alignés avec la position du curseur la plus éloignée.
Edit2: Ajouter une nouvelle ligne à "alignment_space_chars"
supprime le texte si vous mettez un bloc de texte en surbrillance et que Align Sublime ne trouve rien d'autre à aligner sur la ligne (comme un signe égal).
De plus, si Sublime Alignment ne trouve rien d’autre à aligner, l’ajout de newline à "alignment_chars"
comblera la fin des lignes avec des espaces (ou des onglets selon vos paramètres) pour faire correspondre la plus longue ligne mise en surbrillance.
Vous pouvez également le faire sans paquet externe en utilisant un piratage mineur, avec seulement un peu plus d'effort. Voici comment:
|
représente un curseur dans ces instructions.
Créez des curseurs sur toutes les lignes souhaitées en utilisant Ctrl+ Cliquez ou en sélectionnant un bloc de texte et en appuyant sur Ctrl+Shift+L. ( documents de sélection )
Ajoutez des espaces supplémentaires à la fin de chaque mot, jusqu'à ce que chaque curseur se situe au niveau ou au-delà du point où vous souhaitez afficher votre colonne (peu importe la date):
foo |
barr |
foobar |
baz |
( optionnel1) Tapez n'importe quel caractère suivi d'un espace; Utilisons c
:
foo c |
barr c |
foobar c |
baz c |
Presse Home pour faire les curseurs aller au début des lignes:
|foo c
|barr c
|foobar c
|baz c
Presse → (right arrow) jusqu'à ce que les curseurs se trouvent à l'endroit souhaité pour votre colonne:
foo | c
barr | c
foobar | c
baz | c
Presse Ctrl+Shift+→ pour sélectionner tous les espaces et c
suivants, puis appuyez sur Delete:
foo |
barr |
foobar |
baz |
( optionnel1) Appuyez sur Delete encore une fois pour nettoyer le caractère d’espace supplémentaire que nous avons ajouté à l’étape facultative.
1 Nous utilisons le caractère c
suivi d'un espace uniquement s'il y a du contenu supplémentaire sur les lignes que nous souhaitons conserver. Sans ça, Ctrl+Shift+→ sélectionnerait le premier mot de tout contenu supplémentaire sur les lignes, ce qui compliquerait la suppression.
Pour ceux qui souhaitent mettre en retrait des caractères autres que =
et |
, j'ai pu installer le package Alignment et modifier le fichier dans Sublime Text > Preferences > Package Settings > Alignment > Settings - User
afin qu'il ressemble à ce qui suit:
{
"alignment_chars": [
"{create",
]
}
J'ai ensuite sélectionné le code suivant:
let!(:admin_user) {create(:admin_user, :admin)}
let!(:another_admin_user) {create(:admin_user, :admin)}
let!(:superadmin_user1) {create(:admin_user, :superadmin)}
let!(:superadmin_user2) {create(:admin_user, :superadmin)}
let!(:nonadmin_user) {create(:admin_user)}
et appuyé sur Command + Ctrl + A
pour l'aligner.
let!(:admin_user) {create(:admin_user, :admin)}
let!(:another_admin_user){create(:admin_user, :admin)}
let!(:superadmin_user1) {create(:admin_user, :superadmin)}
let!(:superadmin_user2) {create(:admin_user, :superadmin)}
let!(:nonadmin_user) {create(:admin_user)}
Tout a été déplacé vers la colonne la plus à gauche que le texte {create
peut occuper tout en restant aligné.