Sublime Text 2 satır sonlarını düzeltme?


177

İşte benim Settings - Useryapılandırma:

{
    "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
}

Seçeneğe yapılan yorum default_line_endingşunları söylüyor: Default_line_ending seçeneğine yorum yapın

Yeni bir dosya oluşturduğumda, burada biten satırı kontrol ediyorum:

Satır sonunu kontrol et

Gördüğünüz gibi hala Windows ... Herhangi bir fikir var mı?


"Unix" i tıklayıp kapatıp tekrar açmayı denediniz mi?
Preet Kukreti

@PreetKukreti Evet. Yeniden açtıktan sonra tekrar "Windows". Yalnızca geçerli dosya için çalışır, yeni dosya için geçerli değildir.
mintobit

1
@ an1zhegorodov daha önce dosyayı kaydettiniz mi? benim için çalıştı ...
charlysisto

1
Evet. dosyayı kaydettikten sonra benim için de çalıştı.
Pierre Guilbert

Yanıtlar:


199

Yorum durumları

// 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).

Ayarlıyorsunuz

"default_line_ending": "LF",

Ayarlamalısın

"default_line_ending": "unix",


1
Aynı sorun var ama doğru ayarlıyorum "default_line_ending": "unix", neden cehennem çalışmıyor bilmiyorum! Beni delirtiyor! Biraz araştırma yaptım ve görünüşe göre yararlı bir düzeltmesi yok.
yanıt

@acrespo Başka bir tercih dosyası tarafından geçersiz kılınmadığından emin misiniz? Sublime'da çok sayıda var :) - Sözdizimine özgü tercihlerinizle biten bir tür satır belirttiyseniz, kullanıcı tercihlerini geçersiz kılar ve bu da küresel tercihleri ​​geçersiz kılar
Leigh

10
"default_line_ending" ayarı: "unix", yeni dosyalarda iyi çalışır .. ancak mevcut (eski) dosyalarda çalışmaz. Herkes bu davranışı nasıl değiştireceğini biliyor mu?
soothsayer

11
Bu yalnızca manuel olarak yapılabilir, eğer otomatikleştirilmişse gerçekten yardımcı olacaktır. Bunu yukarıdaki resimde görüldüğü gibi değiştirebilirsiniz Görünüm-> Çizgi Sonları-> Unix @soothsayer
A

5
@soothsayer, mevcut dosyalar için tüm metni seçin, sonra view-> line endings-> unix. Ardından belgeyi kaydedin.
AGS

9

EditorConfig projesi ( Github bağlantı ) Başka bir çok çözüm. Sftp-config.json ve .sublime-project / workspace tür dosyalarına benzer şekilde, proje klasöründe veya bir üst klasörde bir .editorconfig dosyası oluşturduktan sonra, bu dizin yapısına her dosya kaydettiğinizde eklenti ayarları nokta dosyasına otomatik olarak uygulayın ve sizin için birkaç farklı şeyi otomatikleştirin. Bazıları Unix stili satır sonlarını kaydediyor, dosya sonu satırsonu ekliyor, boşlukları kaldırıyor ve girinti sekmesi / boşluk ayarlarınızı yapıyor.


HIZLI ÖRNEK

Editor Control'u kullanarak Sublime'a EditorConfig eklentisini yükleyin; daha sonra .editorconfigaşağıdaki içeriğe sahip bir üst dizine (isterseniz evinize veya köke bile) adlı bir dosya yerleştirin  :

[*]
end_of_line = lf

Bu kadar. Bu ayar, bu dizin yapısında bir dosya kaydettiğinizde Unix stili satır sonlarını otomatik olarak uygular. Daha güzel şeyler yapabilirsiniz, ör. istenmeyen beyaz boşlukları kırpın ya da her dosyanın sonuna bir satırsonu ekleyin. Daha fazla ayrıntı için https://github.com/sindresorhus/editorconfig-sublime adresindeki örnek dosyaya bakın , yani:

# 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

root = trueEditorConfig diğer aramaya etmeyeceğini hat vasıtası .editorconfigdizin yapısı üst düzeyde dosyaları.


Yetersiz agresif. Ben crlf olan dosyaya yol ve her biri karşısında yumruk yumruk insan zinciri tanımlamak için eklentiye ihtiyacım var. Ve sonra lf ile kaydedin.
ArtOfWarfare

Teşekkürler, bu benim sorunum, bu eklentiyi yükledim ve .config dosyasından yanlış yapılandırma alıyordu
Luke Robertson

1

LF'den CRLF'ye kadar satır sonlarını değiştirmek için:

Sublime'ı açın ve adımları izleyin: -

1 Ctrl + shift + p tuşlarına basın ve ardından paket adı satırını birleştirme bitişlerini yükleyin

sonra tekrar Ctrl + üst karakter + p tuşlarına basın

2 boş giriş kutusuna "Satır birleştirme bitişi" yazın

3 Enter tuşuna iki kez basın

Sublime bazen donabilir ve sonuç olarak satır sonlarını LF'den CRLF'ye değiştirir


1

Bir projenin tüm dosyalarını bir kerede (toplu) değiştirmenin en basit yolu Line Endings Unify paketidir:

  1. Ctrl+ Shift+ inst + Pyazın Paketi Yükle'yi seçin .
  2. Tip hat sonu + seçmek Çizgi Sonlar birleştirin .
  3. Kurulduktan sonra, Ctrl+ Shift+ P+ tip end + Satır Sonları Birleştir'i seçin .
  4. VEYA (3 yerine) kopyalayın:

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

    için kullanıcı (açıldıktan sonra sağ bölmede, dizi [olarak) Tercihler -> KeyBindings + basma Ctrl+ Alt+ L.

Başka bir cevapta belirtildiği gibi :

  • Satır Başı ( CR ) karakteri ( 0x0D, \r) [...] Erken Macintosh işletim sistemleri (OS-9 ve öncesi).

  • Satır Besleme ( LF ) karakteri ( 0x0A, \n) [...] UNIX tabanlı sistemler (Linux, Mac OSX)

  • Satır Sonu ( EOL ) dizisi ( 0x0D 0x0A, \r\n) [...] (Unix olmayan: Windows, Symbian OS).

Eğer varsa node_modules , yapı ya da diğer otomatik oluşturulan klasörler, çalıştırmadan önce bunları silmek paketi.

Paketi çalıştırdığınızda:

  1. alt kısımdan hangi dosya uzantılarını seçmeniz istenir virgülle ayrılmış bir listede arayacağınızı (değiştirmeleri hızlandırmak için ihtiyacınız olanları yazın, örn. js,jsx).
  2. hangi Giriş satırının kullanılacağı sorulur , örneğin LF tipine ihtiyacınız varsa\n .
  3. tuşuna basın ENTERve LineEndingsUnify Complete ile bir uyarı penceresi görünene kadar bekleyin .
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.