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.