2012-11-26 11 views
10

Ben Emacs hakkında çok şey bilmiyorum ama şöyle bir googling sonra ben olmak benim .emacs dosyayı düzenleyen:// yorumlarımı kodumla girmeye Emacs'i nasıl alabilirim?

(setq c-default-style "bsd" c-basic-offset 4) 

Amacım 4 aralıklı sekmeleri ile Allman tarzı girintilemeyi bulmaktı. Beklendiği gibi çalışıyor, ancak şimdi benim // yorum kodum girintili değildir. Bunu değiştirmeden önce, // yazdığımda, işlevin kodunun geri kalanıyla aynı hizada olması otomatik olarak girintili olur. Emacs'i otomatik olarak // yorumlarına nasıl girebilirim?

Yukarıda .emacs dosyaya c-indent-comments-syntactically-p 1 ekleyerek denedim, ama o değişmedi ... Mesela

:

Şu
int main() 
{ 
    // I'd like this line to be auto-indented to match the block 
    for (int i = 0; i < 10; ++i) 
    { 
     // And this line to be auto-indented to match the block 
     doStuff(); 
    } 
} 

, TAB benim // yorumunu girinti etmez ve otomatik olarak girilmez.

cevap

8

Geçerli girintinin değerini ilgili satır üzerine yerleştirerek ve C-c C-o tuşlarına basarak inceleyebilir ve değiştirebilirsiniz. İlgili sembolleri istediğiniz gibi ayarlayın.

Bu kalıcı olmayacaktır. Değişiklikleri global olarak yapmak için, .emacs numaralı telefona c-set-offset işlevinin doğrudan çağrılmasını kullanın.

Basit bir örnek:

int main() { 
    // 
} 

Bu varsayılan girinti olduğunu. İmleci satır 2'ye taşıdıktan sonra, ilgili sembolün comment-intro olduğunu görüyorum.

kullanma:

(c-set-offset 'comment-intro 6) 

alıyorum: Offset

int main() { 
     // 
} 

sembolleri arasında biriken:

int main() { 
     // 
    { 
      // 
    } 
} 
+0

Ama ne olur? – Cornstalks

+1

@Cornstalks ofset, çevreleyen ofset ile ilgilidir. Bir örnek ekledim. – pmr

+0

Müthiş. Yukarıdaki küçük “.emacs” dosyası göz önüne alındığında, bunu eklemenin doğru yolu ne olurdu? '(Setq c-default-style" bsd "c-basic-offset 4" (c-set-offset 'comment-intro 4)) 'seçeneğini benimküme koyuyorum.emacs' dosyası, hata ile birlikte Emacs barf yapar: Yanlış tip argüman: symbolp, (c-set-offset (alıntı yorum-intro) 4) ' – Cornstalks

1

vurmak TAB hala sağ, yorumunuz hattını girintiler? Öyleyse eksik olan şey, otomatik silmeyi tetikleyen çift eğrinin otomatik olarak tanınmasıdır. Bu (c-elektrik-eğik çizgi) tarafından uygulanır. Öncelikle, eğik çizgi hala o komuta bağlı olduğundan emin olun: C-h k / (tuş vuruşu yardımında bulunun). Daha sonra, c-elektrik çarpma için belgelerin ortaya çıkması durumunda, hangi koşulların engellendiğini anlamak için okuyun.

+0

Hayır. SEKME artık yorumu değiştirmiyor. Bunu söylemek için sorumu düzenleyeceğim. – Cornstalks

0

Eğer sadece ~/.emacs dosyaya Folllowing satırı ekleyin kodunuzu kapsamının aynı alignement yaptığınız yorumu koymak istiyorsanız: o iç içe geçmiş bir blok

(c-set-offset 'comment-intro 0) 
İlgili konular