Forum: Projeler Genel RSS
Standartlar ne olacak ?
Page:  previous  1  2  3  4 
acehreli (Moderator) #46
User title: Ali Çehreli
Member since Jun 2009 · 2279 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
In reply to post 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 (Moderator) #47
User title: Can Alpay Çiftçi
Member since Jul 2009 · 1032 posts · Location: İzmir
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
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 (Moderator) #48
User title: Ali Çehreli
Member since Jun 2009 · 2279 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
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 (Moderator) #49
User title: Can Alpay Çiftçi
Member since Jul 2009 · 1032 posts · Location: İzmir
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
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 (Moderator) #50
User title: Ali Çehreli
Member since Jun 2009 · 2279 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
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 (Moderator) #51
User title: Ali Çehreli
Member since Jun 2009 · 2279 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
In reply to post #48
Quote by acehreli on 2010-01-26, 09: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 (Moderator) #52
Member since Jul 2009 · 463 posts · Location: Eskişehir
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
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
This post was edited on 2011-02-24, 12:53 by erdem.
acehreli (Moderator) #53
User title: Ali Çehreli
Member since Jun 2009 · 2279 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
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 (Moderator) #54
Member since Jul 2009 · 463 posts · Location: Eskişehir
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
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 (Moderator) #55
User title: Ali Çehreli
Member since Jun 2009 · 2279 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
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 (Moderator) #56
Member since Jul 2009 · 463 posts · Location: Eskişehir
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
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 (Moderator) #57
Member since Jul 2009 · 463 posts · Location: Eskişehir
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
In reply to post #52
Quote by erdem on 2011-02-21, 14: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.
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please note the verification code from the picture into the text field next to it.
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Page:  previous  1  2  3  4 
Forum: Projeler Genel RSS
Not logged in. · Lost password · Register
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Current time: 2012-05-18, 10:04:25 (UTC -07:00)