Je sais que Sublime Text 2 peut supprimer l'espace blanc de fin sur les fichiers lors de l'enregistrement.
Lorsque vous travaillez en équipe et que vous validez une modification dans un fichier, cela a tendance à produire d'énormes différences qui rendent l'examen du code par les pairs plus fastidieux. Pour cette raison, je préfère ne faire le nettoyage des espaces blancs que lorsque je commets d'énormes modifications dans un fichier de toute façon et laisser les espaces tels quels pour les modifications mineures.
Je voudrais savoir s'il existe une commande pour exécuter le rognage de l'espace blanc à la demande sur un fichier, autre que "Activate trimming on save > Save file > Deactivate trimming"
.
La recherche dans la documentation et sur stackoverflow n'a rien montré de pertinent, tous les liens semblent parler du découpage automatique lors de l'enregistrement.
la source
$ mv .git/hooks/pre-commit.sample .git/hooks/pre-commit
ce que j'ai obtenu de ce blog ."trim_trailing_white_space_on_save": true
Markdown.sublime-settings
et désactiver la coupe globale lors de l'enregistrement et éviter les accidents.Réponses:
Attention: l'utilisation de ce plugin ralentit considérablement Sublime Text
J'utilise le plugin TrailingSpaces pour cela.
Utilisation: cliquez sur "Modifier / Espaces de fin / Supprimer".
Pour ajouter une liaison de clé, ouvrez "Préférences / Liaisons de touches - Utilisateur" et ajoutez:
la source
trailing_spaces_trim_on_save
, que vous pouvez définirtrue
dansPreferences > Package Settings > Trailing Spaces > Settings - User
. Vous pouvez utiliser ceci au lieu de lier un raccourci clavier, je trouve que c'est mieux pour mes besoinsJ'utilise ces étapes pour une solution rapide à la demande dans Sublime Text:
[ \t]+\n
\n
Vous pouvez également le faire pour un grand nombre de fichiers via
[ \t]+\n
\n
la source
\t
ne semble pas correspondre aux espaces, donc la réponse telle qu'elle est écrite ne supprime que les onglets de fin. Je pense que je préfère\s+\n
, mais notez que cela supprime également les lignes vides. Si vous voulez supprimer les espaces sur la dernière ligne et vous pouvez ajouter\s+\z
comme ceci:(\s+\n|\s+\z)
.([\t ]+\n|\s+\z)
<- ne supprime pas les lignes vides.[ \t]+$
et le remplacer par rien.Vous pouvez simplement utiliser une expression régulière pour supprimer les espaces de fin:
[^\S\r\n]+$
[^\S\r\n]+$
est Regex pour "au moins un caractère d'espacement (donc des espaces et des tabulations mais pas des retours à la ligne, en utilisant une double négation) suivi de la fin de la ligne"L'expression régulière doit être activée:
la source
Voici un moyen très simple qui n'utilise ni plugins ni paramètres et fonctionne dans la plupart des situations.
Les espaces et les tabulations à la fin des lignes doivent maintenant être sélectionnés. Appuyez sur Supprimer ou Retour arrière
Remarque - Des caractères spéciaux tels que (et + peuvent également être sélectionnés à la fin de la ligne à ce stade, pas seulement des espaces.
Comment multi-sélectionner toutes les lignes:
Une façon est d'utiliser la touche centrale de la souris pour sélectionner verticalement, puis appuyez sur la touche de fin s'il s'agit d'une petite sélection.
Avec les raccourcis clavier:
Vous pouvez également utiliser la fonction find pour trouver quelque chose qui sera dans chaque ligne, comme le caractère espace:
Exemple de texte:
la source
\s
dans regex ne correspond pas seulement au caractère espace, mais aussi aux tabulations et aux nouvelles lignes (c'est-à-dire "espace blanc") et pas seulement aux espaces. :)J'ai trouvé une soulution ici: http://www.sublimetext.com/forum/viewtopic.php?f=4&t=4958
Vous pouvez modifier le package
situé dans le répertoire des packages par défaut, de cette façon:
Vous pouvez maintenant ajouter la commande à votre configuration de keymap:
la source