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?
Réponses
Trop de publicités?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.
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],
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).
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
.