Kabuk komut dosyası işlevi için girintiyi ayarlama


11

sh-mode(Bash alt modu) yeni bir işlev başlatmak için girinti başına boşluk sayısını ayarlamaya çalışıyorum . Ayarlamayı denedim:

'(sh-basic-offset 2)
'(sh-indentation 2)
'(smie-indent-basic 2)

(aynı gösterildiği custom-set-variablesiçinde .emacs) ve aynı zamanda bazı diğerleri, ancak bunların hiçbiri herhangi bir etkisi oldu mu!


Değişkenleri ayarlamanın yolu, custom-set-variables(Özelleştir tarafından dahili olarak kullanılan, ancak elle kullanılması amaçlanmayan) yoluyla değildir. Gibi şeyleri kullansan iyi olur (setq sh-basic-offset 2).
Stefan

Yanıtlar:


7

sh-basic-offsetGerekli girintiyi ayarlamak gerekli olan şeydir - ama fark etmediğim şey, özelleştirme yürürlüğe girmeden önce tüm kabuk komut dosyalarının kapatılması ve yeniden açılması gerekir. Bunu daha önce emacs'ta yapmak zorunda olduğumu hatırlamıyorum.


1
Değiştirdikten sonra .emacs, ya emacs'ı çıkmak ve onu, ya kullanımını yeniden başlatmanız gerekir M-x load-filesenin yeniden .emacssize düzenleyicide açık olması bir dosyayı yeniden yüklemek istiyorsanız, diyebiliriz C-x C-v RETURNbuna "Yeniden ziyaret" için.
Alex L

@AlexL yükleme dosyası bu özel durumda çalışmaz. Dediğim gibi, bu çok sıradışı. Genellikle bir değişkeni özelleştirmek yeterlidir.
Robin Green

Hmm ... bunun neden @ robin-green olacağını biliyor musun? Merak ediyorum.
Alex L

Ayrıca M-x set-variable, çalıştığınız arabellek için bunu değiştirmek isterseniz de kullanabilirsiniz .
kotakotakota

1

Temel-ofset'i 2'ye ayarladım ama işe yaramadı, geri basıldım C-h v sh-<TAB>ve sh-indentationbu değişkeni 2'ye ayarladığımı fark ettim ve şimdi her şey bir cazibe gibi çalışıyor.


Lütfen "set-basic-offset" ile ne demek istediğinizi açıklığa kavuşturun ve bu değişkeni "2'ye nasıl ayarladığınızı" tam olarak açıklayın .
Stefan

Forum sekme atlandı çünkü ben karakterden büyük ve küçük karakter arasına yerleştirdim. Ch v sh- "basın sekmesi" otomatik tamamlama, değişkenlerin bir listesini gösterir.
Albaro Pereyra

İşaretlemenizi düzelttim, ancak yorumunuz hala "set-basic-offset" ile ne demek istediğinizi veya bu değişkeni 2'ye nasıl ayarladığınızı açıklamıyor.
Stefan

Bu değişken 26.1'den beri kullanılmamaktadır, sh-basic-offsetbunun yerine kullanın.
Ocak

0

Albaro ile aynı deneyime sahiptim: sh-basic-offset'in hiçbir etkisi yoktur, ancak sh-indentation'ın beklendiği gibi çalışmasını sağlamak.

Benim durumumda, (setq sh-basic-offset 2)emacs ile değerlendirdim , örn. Mx eval-ifadesi ile. Ben koşuyorum GNU Emacs 25.2.2 (x86_64-pc-linux-gnu, GTK+ Version 3.22.21) of 2017-09-22, modified by Debian. Ana modum Shell-script.

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.