Vim editor sorusu

Başlatan zembela, 10 Kasım 2012 - 21:46:13

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

zembela

Merhaba,

gg=G yazarak Vim'de açık olan kod formatlanıyor ve daha okunası bir hal alıyor. Fakat bir sorun var.

Kodun önceki hali:
http://s8.postimage.org/f897khjv9/image.jpg

gg=G basıldıktan sonraki hali:
http://s18.postimage.org/lcyf8nh9l/image.jpg

10uncu satır ( <to>Tove</to> <from>Jani</from> ) iki farklı satıdan oluşması lazımdı.

Şu şekilde:
<to>Tove</to>
<from>Jani</from> 

Açtığım örnek dosya için önemli bir detay değil tabi ki. Fakat büyük ve daha karmaşık dosyalarda çok çok önemli bir detay oluyor. Sanırım gg=G tuşları bu işi tam görmüyor. Vim editör kullananlarınız yardımcı olurlarsa sevinirim.

Teşekkürler

travego0403

Komut modunda iken 'G' tuşu dosyanın sonuna git demektir.
'1G' 1.satıra git
'2G' ise 2.satıra git demektir.
En azından Vim için kendi tuttuğum notlar içerisinde böyle bir not almışım.

Siz kodların otomatik olarak yeni satırlara bölünmesini istiyorsunuz bu işlem için sanki bi eklentiye ihtiyaç varmış gibi duruyor. Problem girintilerle alakalı olsaydı çözümü basit(girintilemeyi açmak gibi) ama yeni satırlara bölme işini bende bilmiyorum. Biraz araştırmak lazım belki bunun içinde bir komut vardır.
"Matematik bir dildir ve bu dilde şairlere fizikçi denir." Richard Feynman

heartsmagic

gg=G kodları biçimlemek, girinti koymak için kullanılan bir yöntemmiş. "=" zaten girintileme sağlıyormuş. @travego00403'ün de tarif ettiği şekliyle dosyanın başından alıyor sonuna kadar bu işlemi yapıyormuş.


@zembela, ben çok anlamıyorum bu işten fakat ilk durumdaki kodda da 10. satır tek satır olarak görünüyor?
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

zembela

Alıntı yapılan: heartsmagic - 11 Kasım 2012 - 15:07:38
gg=G kodları biçimlemek, girinti koymak için kullanılan bir yöntemmiş. "=" zaten girintileme sağlıyormuş. @travego00403'ün de tarif ettiği şekliyle dosyanın başından alıyor sonuna kadar bu işlemi yapıyormuş.


@zembela, ben çok anlamıyorum bu işten fakat ilk durumdaki kodda da 10. satır tek satır olarak görünüyor?

Evet ben travego0403 in dediğini anladım. Fakat ilginç olan şey girinti olup olmamasını anlayacak bir yapı, aynı zamanda o satırın iki farklı satıra dağıtılması gerektiğini bilmek durumundadır (aksi halde diğer girintileme işlemlerini de yapamaz).

@heartsmagic basit bir psudo kod ile göstereyim:

print("merhaba"); print("dünya");

Bu satırların (uzun kodlarda) daha rahat okunabilmesi için iki satıra dağıtılması gerektiği gibi; benim en baştaki mesajımdaki o satırda ikiye bölünmelidir. Aslında bu mesajımda belirttiğim gibi, girintileri vermeyi başaran program, aynı zamanda bu satırın ikiye bölünmesi gerektiğini de biliyor olması gerekir. Tabi bu durumda illaki bu işi de yapan bir kısayol olması gerektiğini düşünüyorum.

heartsmagic

Evet şimdi fark ettim değişikliği, ilk baktığımda görmemişim girintilerin olmadığını. Kodlamayı tam olarak bilmiyorum fakat = sadece girintileme sağlıyormuş. Belki o satırın bölünmesini algılayacak düzeyde değildir.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

travego0403

Girintileme ile ayrı satırlarda yazmak farklı mantık içeriyor. En azından benm bildiğim kadarıylagirintileme için C söz diziminde süslü parantez('{') açıp alt satıra geçince girintileme başlıyor, yeni bir satırda parantezi kapatınca girintileme bitiyor. Python söz diziminde ise : dan sonra girintilemeye başlıyordu sanırım.

Bunun kodlarını yeni bir satırda yazıp yazmaması ile anlayabileceğini sanmıyorum. Belki C söz dizimi için şöyle bir şey yazılabilir. ';' işaretinden sonra yeni satıra geç gibi bir basit script yazılabilir mi?

"Matematik bir dildir ve bu dilde şairlere fizikçi denir." Richard Feynman

freeman

Aynı satırda yazmak ile farklı satırda yazmak, farklı şeylerdir.Vim 'in o iki farklı etiketten, <from> etiketini alt satıra almaması gayet normal. Şöyle düşünün, sizin yazdığınız kodda o iki etiketin, mutlaka ama mutlaka, atnı satırda olması gerekiyorsa?? Ne olacak?  O yüzden vim, o etiketlere dokunup, birini alt satıra almaz. Bu işlemin, vim 'in komutları ile de yapılacağına pek ihtimal vermiyorum ben.


Good morning and welcome to the Black Mesa Transit System. This automated train is provided for the security and convenience of the Black Mesa Research Facility personnel.

cagriemer