Forum: Projeler Genel RSS
Standartlar ne olacak ?
Sayfa:  önceki  1  2  3  4 
acehreli (Moderatör) #46
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj ID 1447
Emacs'te her dosya türü için ayrı kodlama standardı kullanılabiliyor. Ben Emacs 22 kullanıyorum ve D programları için şuradaki bilgiler işime yaramıştı:

  http://www.prowiki.org/wiki4d/wiki.…?EditorSupport/Emacs…

Anlaşılan Emacs 23 için bazı ayarlar gerekiyormuş...

Ben şunları yapmışım:

1) O sitedeki dosyayı sistemimde şu dosya olarak kopyalamışım:

  /usr/local/share/emacs/site-lisp/d-mode.el

2) ~/.emacs dosyamın sonuna şu 3 satırı eklemişim:

(add-to-list 'auto-mode-alist '("\\.d\\'" . d-mode))
(add-to-list 'auto-mode-alist '("\\.di\\'" . d-mode))
(autoload 'd-mode "d-mode" "Major mode for D programs" t)

Ali
canalpay (Moderatör) #47
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Bende dediğiniz gibi yaptım. Ama benim sorunum boşlukları bizim standarımızda karar verdiği gibi ayarlamaması. Siz boşlukları nasıl ayarlıyorsunuz.

Erdem bey önceden de size sormuştu. k&r stili mi Linux stilimi ... diye. Bende aynısını soruyorum.
acehreli (Moderatör) #48
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Emacs mode'ları, başka modlar üzerine kurulu oluyor. d-mode da c-mode üzerine kurulu.

Benim .emacs dosyamda bu konuyla ilgili şunlar var (tam istediğim gibi çalışmıyor ama düzenlemeye üşeniyorum :) ):

     (defconst my-c-style
       '((c-tab-always-indent        . nil)
         (c-comment-only-line-offset . 4)
;         (c-hanging-braces-alist     . ((brace-list-open)))
         (c-hanging-colons-alist     . ((member-init-intro before)
                                        (inher-intro)
                                        (case-label after)
                                        (label after)
                                        (access-label after)))
         (c-cleanup-list             . (scope-operator
                                        empty-defun-braces
                                        brace-else-brace
                                        brace-elseif-brace
                                        defun-close-semi))
         (c-basic-offset             . 4)
         (c-hanging-comment-ender-p  . nil)
         (c-offsets-alist            . ((arglist-close . c-lineup-arglist)
                    (inline-open       . 0)
                                        (substatement-open . 0)
                                        (comment-intro     . 0)
                                        (block-open        . 0)
                                        (label             . -1000)
                                        (statement-cont    . c-lineup-math)
                                        (knr-argdecl-intro . -)))
         (c-echo-syntactic-information-p . t)
         )
       "My C Programming Style")
     ;; Customizations for all of c-mode, c++-mode, and objc-mode
     (defun my-c-mode-common-hook ()
       ;; add my personal style and set it for the current buffer
       (c-add-style "PERSONAL" my-c-style t)
       ;; offset customizations not in my-c-style
       (c-set-offset 'member-init-intro '+)
       (c-set-offset 'innamespace -1)
       ;; other customizations
       (setq indent-tabs-mode nil)
       ;; we like auto-newline and hungry-delete
       (c-toggle-auto-hungry-state 1)
       ;; keybindings for all supported languages.  We can put these in
       ;; c-mode-base-map because c-mode-map, c++-mode-map, objc-mode-map,
       ;; java-mode-map, and idl-mode-map inherit from it.
       (define-key c-mode-base-map "\C-m" 'newline-and-indent)
       )
     (add-hook 'c-mode-common-hook 'my-c-mode-common-hook)
(set-default `indent-tabs-mode nil)

Eğer o işe yaramazsa, bir de 'customization' yoluyla ayarlanan değişkenler var. indent-tabs-mode'u ayarlamak için şu tuşlara bas:

C-h v indent-tabs-mode [Enter]

Eğer değeri nil değilse, fareyle 'You can customize this variable.' yazısına tıkla ve orada değerini 'Toggle' ederek 'off (nil)' yap. Ondan sonra 'Save for Future Sessions'i seç.

Yani bunun gibi şeyler... :)

Ali
canalpay (Moderatör) #49
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Verdiğiniz .emacs dosyası işe yaradı. Çok teşekkür ederim.

Şuan emacs'in bütün özelliklerini ve kısayollarını bilmesem de çok beğendim. Ayrıca makefile dosyasında neden bu kadar çok sevdiğinizi anladım.(Programı emacs ile ayar yapmadan derlemek için.)

Artık .emacs dosyanızı güncelledikçe buraya koyarsınız :-)
acehreli (Moderatör) #50
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Herhalde biliyorsundur ama, Emacs Tutorial'ın Türkçesi:

  http://acehreli.org/TUTORIAL.html

Eski bir .emacs dosyam:

  http://acehreli.org/dot_emacs

Dikkat: Tuşlardaki değişiklikler (global-set-key, vs.) Dvorak klavye düzeni için kendi mantıklı bulduklarımdır.

Ali
acehreli (Moderatör) #51
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #48
acehreli on 2010-01-26, 10:58:
tam istediğim gibi çalışmıyor ama düzenlemeye üşeniyorum :)

İşlevlerin in, out, body bloklarını 4 boşluk girintili yazıyordu ve ben her seferinde geri almak zorunda kalıyordum. Sonunda düzelttim. :)

Yukarıdaki tanıma bir tane daha c-set-offset eklemek işe yaradı:

       (c-set-offset 'func-decl-cont 0)

Ali
erdem (Moderatör) #52
Üye Tem 2009 tarihinden beri · 981 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ubuntu 10.10 altında emacs 22 ile dmode'u ayarlayabilmek için ek bir satır eklemem gerekti.

File mode specification error: (file-error "Cannot open load file" "dmode")

şeklinde bir hata veriyordu. Eğer bu tür bir hata ile karşılaşırsanız açık bir şekilde dmode'un olduğu dizini .emacs dosyanızda belirtmeniz gerekiyor.

(load "/home/avni/.emacs.d/site-lisp/dmode.el")

gibi. Burada ben bütün eklentileri ~/.emacs.d/site-lisp dizinine kaydettiğim ve bu dizini load-path'e eklediğim için bu dizini ekledim. Siz dmode'u nereye eklediyseniz o dizinin adresini de .emacs dosyanıza eklemeniz gerekiyor. Ayrıca buna gerek var mıydı bilmiyorum ama cc-mode'u da tekrar kurdum.

http://cc-mode.sourceforge.net
Bu mesaj erdem tarafından değiştirildi; zaman: 2011-02-24, 13:53.
acehreli (Moderatör) #53
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ubuntu 10.10'da Emacs 23 var, değil mi? (Benimki öyle.)

Ben de d-mode'un birisinin Emacs 23 için düzelttiğini kullanıyorum. Bir sorunum yok.

Ali
erdem (Moderatör) #54
Üye Tem 2009 tarihinden beri · 981 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Evet var aslında :)

Hatta ilkönce emacs23 kurdum. Daha sonra d-mode'u derlemeye çalıştım. Sanırım d-mode derlenmedi. Sonra kendi sayfasında emacs23 için bir patch dosyası olduğunu gördüm. Patch dosyalarının nasıl koda eklendiğini unutmuşum ama basitçe + ile başlayan satırları ekledim - ile başlayan satırları çıkardım sanırım. Sonra sanırım derlendi ama bu sefer de yukarıdaki hatayı verince ben sorun büyük ihtimal emacs23'den kaynaklanıyordur veya ubuntu'nun bir yazılım hatası olabilir diye düşündüm.

Akşama tekrar emacs23'ü bir deneyeyim bakalım. Bu arada düzeltilmiş d-mode.el dosyasını paylaşırsanız sevinirim ;)
acehreli (Moderatör) #55
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ben de aynı değişiklikleri yapmıştım.

Hata mesajı "dmode" diyor. Acaba dosya ismi tireli olarak "d-mode" muydu?

Benim kullandığım /usr/share/emacs23/site-lisp/d-mode.el dosyasını şuraya koydum:

  http://acehreli.org/d-mode.el

Ali
erdem (Moderatör) #56
Üye Tem 2009 tarihinden beri · 981 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Teşekkürler! :) Verdiğiniz d-mode.el dosyasını kullanınca emacs23'te de sorunsuz çalıştı.

Ayrıca d-mode 'u kaydederken dmode.el olarak kaydetmişim. Gene de o (load ... satırını emacs23'te kaldırmak gerekiyor yoksa o da ayrı bir hata veriyor.
erdem (Moderatör) #57
Üye Tem 2009 tarihinden beri · 981 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #52
erdem on 2011-02-21, 15:52:
(load "/home/avni/.emacs.d/site-lisp/dmode.el")


Aslında bunun doğrusu sanırım şu şekilde olmalıymış:

(add-to-list 'load-path "/home/avni/.emacs.d/site-lisp")

gibi .. Bu şekilde load--path'e yeni bir dizin eklemiş oluyoruz.
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Sayfa:  önceki  1  2  3  4 
Forum: Projeler Genel RSS
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-21, 09:29:13 (UTC -08:00)