Kodları komut satırından nasıl otomatik formatlayabilirim?


6

Diyelim ki bazıRandomFile.js'de bir JavaScriptim var ve şöyle bir komut çalıştırmak istiyorum:

formatMyCode someRandomFile.js

Sonra dosyanın içinde herşeyi güzel bir şekilde girinti.

Ben de PHP veya HTML formatlamak istiyorum. VIM'de bir metni vurgulayabilir ve = tuşuna basarsanız otomatik olarak biçimlendirir (karışık HTML / PHP / JavaScript olsa bile). Bunu yapmanın kolay bir yolu var mı?


1
Deneyebilirsiniz astyle(sudo apt-get astyle yükleyin), ama belki biraz IDE kullanmak daha iyidir
Hastur

Yanıtlar:


5

Eğer vim'den hoşlanıyorsanız eylemini komut satırından başlatabilirsiniz .

echo -e "G=gg\n:wq\n" | vim ./myfile.php 

Uyarı Yukarıdaki komutu sormadan dosyanızı değiştirir . Daha önce bir yedekleme yap. Bir grup dosyada aynı işi
yapmak findiçin entegre örnekler bulmak mümkündür [ 0 ] .

Bunun için inşa edilmiş çok sayıda yardımcı program bulmak mümkün olabilir ve bu sayı zamanla artmaya devam edecektir; güncellenmiş sürümlerini internette arayabilir ve örneğin:

  • Sanatsal Stil [ 1 ] , astyleiçin C, C ++, C ++ / CLI, Objective-C, C # ve Java programlama dilleri.
  • tidy [ 2 ] için Html
  • kate [ 3 ] den başlayarak komut satırı tarafından çağrılan IDE çözümleri . Eğer inşa edebilirsiniz kendi girinti komut [ 4 ] de devam UniversalIndentGUI [ 5 ] , eclipse [ 5 ] ...

Gizlice birinin taklit örneği vereceğini umuyordum! teşekkür ederim
Clay

Rica ederim. Sadece bir öneri, bir dahaki sefere doğrudan sormaya çalış, daha hızlı olabilir! (Genel olarak xy ile benzer sorunlardan kaçınmaya çalışın , sizin ve diğerinin hayatını kolaylaştırabilir ;-))
Hastur

2
vim -c "execute 'normal! =G' | :wq! out.js" input.js

Bunun +yerine alternatif sözdizimini de kullanabilirsiniz -c. Aynısı.

vim +"execute 'normal! =G' | :wq! out.js" input.js
  1. Dosyanın sonuna =G( =) kadar her satırı autoformat / indent ( ) ile otomatik hale getirecek olan normal komutu çalıştırır G.

  2. Sonra :wq! out.jsbir dosyaya yazar ve vim'den çıkar. Sadece aynı dosyanın üzerine yazmak istiyorsanız, o zaman out.js.

Ayrıca, ~/.vimrcotomatik biçim girintisi eklentisinin çalışabilmesi için bu çizgiyi de yanınızda bulundurmanız gerekir:

filetype plugin indent on

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.