241 votes

Comment réparer / convertir une indentation d'espace dans un texte sublime?

Exemple: Si j'ai un document avec une indentation de 2 espaces, et que je veux qu'il ait une indentation de 4 espaces, comment puis-je le convertir automatiquement en utilisant l'éditeur de texte Sublime?

555voto

Magne Points 2550

Voici un truc intéressant dans Sublime Text 2 ou 3 pour convertir votre indentation espacement dans un document.

TL;DR:

S'assurer de la largeur d'un onglet est fixé à 2. Convertir votre 2-espace de retrait pour les onglets, les passer à la largeur d'un onglet 4, puis convertir le retrait de retour à la des espaces. Alto, vous avez maintenant un 4-l'espace en retrait du document.

La description détaillée:

Aller à:

View -> Indentation

Il faut lire:

  • Indent using spaces [x]
  • Tab width: 2

Sélectionnez:

  • Convert Indentation to Tabs

Ensuite, Sélectionnez:

  • Tab width: 4
  • Convert Indentation to Spaces

Fait.

75voto

brianG Points 279

En fait je trouve que c'est mieux pour ma santé mentale pour avoir les préférences de l'utilisateur pour être défini comme suit:

"translate_tabs_to_spaces": true,
"tab_size": 2,
"indent_to_bracket": true,
"detect_indentation": false

L' detect_indentation: false est particulièrement importante, car elle oblige Sublime à l'honneur ces paramètres dans chaque fichier, par opposition à l' View -> Indentation paramètres.

Si vous voulez obtenir la fantaisie, vous pouvez également définir un raccourci clavier pour automatiquement ré-indenter votre code (YMMV) par collage à la suivante en Sublime -> Preferences -> Key Binding - User:

[
  { "keys": ["ctrl+i"], "command": "reindent" }
]

et pour visualiser l'espace:

"indent_guide_options": ["draw_active"],
"trim_trailing_white_space_on_save": true,
"ensure_newline_at_eof_on_save": true,
"draw_white_space": "all",
"rulers": [120],

9voto

Cort3z Points 1657

J'ai trouvé dans mon esprit une solution plus simple que Magne:

Sur mac:

 "cmd+f" => "  "(two spaces) => "alt+enter" => "arrow right" => "  "(two more spaces) => set tab width to 4(this can be done before or after.
 

Sur les fenêtres ou les autres plates-formes, modifiez cmd+f et alt+enter quel que soit vos raccourcis clavier find et select all .

Remarque: cette méthode est sujette à des "erreurs" si vous avez plusieurs espaces dans votre code. C'est donc moins sûr que la méthode de Magne, mais c'est plus rapide (pour moi au moins).

5voto

Qtax Points 20487

Si vous trouvez la recherche et la remplacer plus rapidement, vous pouvez utiliser un remplacement de regex comme ceci:

Find (regex): (^|\G) {2} (au lieu de "{2}" <space>{2} vous pouvez simplement écrire deux espaces. Utilisé ici pour plus de clarté.)

Remplacez par 4 espaces, ou ce que vous voulez, comme \t .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X