Saya kecanduan Vim, sekarang cara de facto saya mengedit file teks.
Menjadi yang terutama editor teks dan bukan IDE, adakah yang punya trik agar saya membuatnya lebih mudah ketika mengembangkan aplikasi Java?
Beberapa pertanyaan yang saya miliki:
- Bagaimana cara menjalankan tugas pakar tanpa meninggalkan vi?
- Bisakah saya mendapatkan penyelesaian kode?
- Bagaimana penyorotan sintaksisnya?
Ada hal lain (selain "Jangan lakukan itu!") Yang harus saya ketahui?
Jawaban:
Beberapa tips:
Selamat bersenang-senang :-)
sumber
Saya sudah menjadi pengguna Vim selama bertahun-tahun. Saya mulai menemukan diri saya memulai Eclipse sesekali (menggunakan plugin vi, yang, saya harus katakan, memiliki berbagai masalah). Alasan utamanya adalah pembangunan Java membutuhkan waktu cukup lama ... dan mereka semakin lama semakin lambat dengan penambahan kerangka kerja yang sangat terstruktur seperti maven. Jadi memvalidasi perubahan Anda cenderung memakan waktu cukup lama, yang bagi saya tampaknya sering menyebabkan menumpuk banyak masalah kompilasi yang harus saya selesaikan nanti, dan menyaring melalui pesan komit memerlukan waktu.
Ketika saya terlalu besar dari antrian masalah kompilasi, saya menjalankan Eclipse. Ini memungkinkan saya membuat kue perubahan. Ini lambat, brutal untuk digunakan, dan tidak sebagus editor seperti Vim (saya telah menggunakan Vim selama hampir satu dekade, jadi itu sifat kedua bagi saya). Saya menemukan untuk mengedit presisi — perlu memperbaiki bug tertentu, perlu memperbaiki beberapa logika tertentu, atau sesuatu yang lain ... Saya tidak bisa seefisien mengedit di Eclipse seperti yang saya bisa di Vim.
Juga tip:
Ini membuat
^wf
nama kelas sebuah fitur yang sangat bagus untuk menavigasi proyek besar.Jadi bagaimanapun, kurusnya, ketika saya perlu menambahkan banyak kode baru, Vim tampaknya memperlambat saya hanya karena waktu yang dihabiskan untuk memburu masalah kompilasi dan hal-hal serupa. Ketika saya perlu menemukan dan mengedit sumber-sumber spesifik, Eclipse terasa seperti palu. Saya masih menunggu IDE ajaib untuk Vim. Ada tiga upaya besar yang saya tahu. Ada plugin tipe IDE viml murni yang menambahkan banyak fitur tetapi tampaknya tidak mungkin untuk digunakan. Ada eclim, yang saya punya banyak masalah. Dan ada plugin untuk Eclipse yang sebenarnya menyematkan Vim. Yang terakhir tampaknya yang paling menjanjikan untuk pekerjaan Java EE yang serius, tetapi tampaknya tidak bekerja dengan baik atau benar-benar mengintegrasikan semua fitur Eclipse dengan Vim yang tertanam.
Hal-hal seperti menambahkan impor yang hilang dengan penekanan tombol, kode hilight dengan masalah pengetikan, dll, tampaknya sangat berharga dari IDE Anda ketika bekerja pada proyek Java besar.
sumber
.java
tidak diperlukan) di bawah kursor di jendela split baru jika ia dapat menemukan file. Itu sebabnya:set path=**
sangat membantu.:help ^wf
- sama seperti bantuan vim lainnyaBagaimana cara menjalankan tugas pakar tanpa meninggalkan vi?
Maven tidak berbeda dengan perintah shell lainnya:
:!mvn
Anda dapat
:set makeprg=mvn
jika Anda sudah memiliki pemetaan kunci favorit untuk:make
.Bisakah saya mendapatkan penyelesaian kode?
Ya, eclim hebat, jembatan antara efisiensi penyuntingan vim dan kepedulian spesifik bahasa Jawa Eclipse.
<C-n>
dan<C-p>
tidak begitu besar, tetapi sangat membantu.Bagaimana penyorotan sintaksisnya?
Lebih dari cukup baik untuk highligher berbasis regex.
Anda mungkin ingin mempertimbangkan alat untuk tujuan vim + java lain, seperti kode template ( snippetEmu potongan -Default mengisap, tapi customizability bersinar), mencari penggunaan dan akan deklarasi (eclim, grep, ctags), menghasilkan getter dan setter ( java_getset , atau eclim), impor otomatis (eclim). Anda mungkin juga memerlukan shell java untuk eksperimen cepat ( BeanShell , alias
bsh
).sumber
Saya baru saja mengunggah plugin Vim ini untuk pengembangan proyek Java Maven.
Dan jangan lupa mengatur penyorotan jika Anda belum:
https://github.com/sentientmachine/erics_vim_syntax_and_color_highlighting
sumber
Saya menemukan ringkasan berikut ini sangat berguna: http://www.techrepublic.com/article/configure-vi-for-java-application-development/5054618 . Deskripsi: make adalah untuk semut bukan pakar, tetapi sebaliknya ringkasan yang bagus.
sumber
Saya tahu ini beberapa tahun kemudian, tetapi di sini ada beberapa plugin yang menarik. Saya belum mencoba salah satu dari ini YMMV.
https://github.com/mikelue/vim-maven-plugin
https://github.com/vim-scripts/maven-ide
EDIT: Oh, BTW, saya sudah mencoba eclim off dan on, tapi alasan saya suka vim adalah ringannya. Melaksanakan gerhana bahkan pada mode tanpa kepala adalah terlalu banyak mengangkat mental bagiku.
EDIT2: Saya telah menggunakan playframework belakangan ini dan ini mungkin akan bekerja dengan maven builds juga:
Untuk mengkompilasi, Anda dapat mengonfigurasi VIM's make untuk menjalankan pakar atau dalam kasus saya, menjalankan skrip build, tee itu ke file.
"play_compile" hanyalah skrip kompilasi. Ini menggunakan SBT sehingga Maven harus bekerja dengan baik di sini. Bahkan javac langsung akan bekerja. Dengan cara ini, Anda dapat menggunakan buffer perbaikan cepat VIM (: cnext,: clist: cprev, dll).
Untuk melompat-lompat di kelas, saya menggunakan ctrl-p . Cantiknya. Gunakan. Lebih cepat daripada gerhana dalam melompati file.
Untuk melompati metode, saya menggunakan tagearch dengan c-tag bersemangat. Langsung ke deklarasi metode dengan menggunakan ctrl-]. Kembali menggunakan Ctrl-o. Tidak berfungsi sebagus gerhana, tetapi cukup baik.
Saya menggunakan supertab untuk melengkapi kode. Javacomplete sangat lambat, jadi saya tetap menggunakan omni-complete. Sekali lagi, tidak seakurat gerhana, tetapi cepat dan berfungsi cukup baik untuk saya.
sumber
Gunakan vim. ^ - ^ (gVim, tepatnya)
Anda akan memiliki semuanya (dengan beberapa plugin).
Btw, snippetsEmu adalah alat yang bagus untuk pengkodean dengan snippet yang berguna (seperti di TextMate). Anda dapat menggunakan (atau memodifikasi) paket pra-dibuat atau membuat sendiri.
sumber