web-dev-qa-db-fra.com

Fixer les fins de ligne de Sublime Text 2?

Voici mon config Settings - User:

{
    "auto_indent": true,
    "color_scheme": "Packages/Color Scheme - Default/Twilight.tmTheme",
    "default_line_ending": "LF",
    "detect_indentation": true,
    "font_size": 10.0,
    "ignored_packages":
    [
        "Vintage"
    ],
    "indent_to_bracket": false,
    "smart_indent": true,
    "tab_size": 4,
    "translate_tabs_to_spaces": true,
    "trim_automatic_white_space": true,
    "use_tab_stops": true
}

Commentaire sur l'option default_line_ending dit: Comment to default_line_ending option

Lorsque je crée un nouveau fichier, je vérifie la ligne se terminant ici:

Check line ending

Comme vous pouvez le voir, c'est toujours Windows ... Des idées?

173
mintobit

Le commentaire dit

// Determines what character(s) are used to terminate each line in new files.
// Valid values are 'system' (whatever the OS uses), 'windows' (CRLF) and
// 'unix' (LF only).

Vous mettez

"default_line_ending": "LF",

Vous devriez définir

"default_line_ending": "unix",

196
Leigh

Le projet EditorConfig ( lien Github ) est une autre solution très viable. Similaire aux fichiers de type sftp-config.json et .sublime-project/workspace, une fois que vous avez configuré un fichier .editorconfig, soit dans un dossier de projet, soit dans un dossier parent, chaque fois que vous enregistrez un fichier dans ce répertoire, le plugin Appliquez automatiquement les paramètres dans le fichier de points et automatisez différentes choses pour vous. Certains d'entre eux enregistrent les fins de ligne de style Unix, ajoutent une nouvelle ligne de fin de fichier, suppriment les espaces et ajustent les paramètres de retrait de tabulation/espace.


EXEMPLE RAPIDE

Installez le plugin EditorConfig dans Sublime à l'aide de Package Control; puis placez un fichier nommé .editorconfig dans un répertoire parent (même votre maison ou la racine si vous préférez), avec le contenu suivant:

[*]
end_of_line = lf

C'est ça. Ce paramètre applique automatiquement les fins de ligne de style Unix chaque fois que vous enregistrez un fichier dans cette structure de répertoires. Vous pouvez faire plus de trucs cool, ex. couper les espaces blancs de fin non désirés ou ajouter une nouvelle ligne de fin à la fin de chaque fichier. Pour plus de détails, reportez-vous à l'exemple de fichier à l'adresse https://github.com/sindresorhus/editorconfig-sublime , c'est-à-dire:

# editorconfig.org
root = true

[*]
indent_style = tab
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

La ligne root = true signifie que EditorConfig ne cherchera pas d'autres fichiers .editorconfig dans les niveaux supérieurs de la structure de répertoires.

9
Nathan C.

pour modifier les fins de ligne de LF à CRLF:

ouvrez Sublime et suivez les étapes: -

1 appuyez sur Ctrl + Maj + p puis installez la ligne du nom du paquet unifier les terminaisons

puis appuyez à nouveau sur Ctrl + Maj + p

2 dans la zone de saisie vide, tapez "Fin de ligne unifiée"

3 Appuyez deux fois sur Entrée

Sublime peut geler parfois et par conséquent changer les fins de ligne de LF en CRLF

1
parth sharma

Le moyen le plus simple de modifier tous les fichiers d'un projet en une fois (batch) consiste à utiliser le package Line Endings Unify :

  1. Ctrl+Shift+P type inst + choisissez Installer le package .
  2. Tapez fin de ligne + choisissez fins de ligne Unify .
  3. Une fois installé, Ctrl+Shift+P + type end + choisissez fins de lignes Unify .
  4. OU (au lieu de 3.) copie:

    _{
     "keys": ["ctrl+alt+l"],
     "command": "line_endings_unify"
    },
    _

    vers le tableau utilisateur (volet de droite, après l'ouverture _[_) dans Préférences -> KeyBindings + appuyez sur la touche Ctrl+Alt+L.

Comme mentionné dans autre réponse :

  • Le caractère de retour chariot (CR) (_0x0D_, _\r_) [...] Anciens systèmes d'exploitation Macintosh ( OS-9 et versions antérieures).

  • Le caractère de saut de ligne (LF) (_0x0A_, _\n_) [...] systèmes basés sur UNIX (Linux , Mac OS X)

  • La séquence de fin de ligne (EOL) (_0x0D 0x0A_, _\r\n_) [...] (non Unix) : Windows, OS Symbian).

Si vous avez node_modules , build ou un autre dossier généré automatiquement, supprimez-les avant de les exécuter. le paquet.

Lorsque vous exécutez le package:

  1. au bas de l'écran, vous êtes invité à choisir les extensions de fichier à rechercher dans une liste séparée par des virgules (saisissez uniquement celles dont vous avez besoin pour accélérer les remplacements, par exemple: _js,jsx_).
  2. puis on vous demande quelle ligne d’entrée se terminant par utiliser , par ex. si vous avez besoin LF tapez _\n_.
  3. presse ENTER et attendez de voir une fenêtre d’alerte avec LineEndingsUnify Complete .
0
CPHPython