Rumah > Soal Jawab > teks badan
最近在尝试使用 Vim,有个问题请教,就
public class test {
public static void main(String args[]) {
System.out.print("shit,Test success!");
}
}
在 Vim 中,我可以直接运行调试吗,像 Sublime 的 cmd+B
一样。
ringa_lee2017-04-18 09:08:46
Menurut soalan, selepas mengedit kod, tekan kekunci pintasan untuk menyusun dan menjalankannya secara automatik.
Rancang
Dalam vim
, arahan luaran boleh dilaksanakan melalui :!cmd
Sepadan dengan fail tunggal yang ditulis oleh subjek:
:!javac % #=> 编译, % 为正在编辑的文件名
:!java %:r #=> 运行, %:r 去掉文件名的后缀
Ini adalah prinsipnya, cuma tetapkan pemetaan kunci seterusnya Dalam fail .vimrc
, tambah kandungan berikut
autocmd BufNewFile,BufReadPre *.java nmap <leader>rn :!javac %<cr>:!java %:r<cr>
bermakna sebelum membuat atau membaca fail .java
, pintasan <leader>rn
akan dipetakan secara automatik kepada arahan
Sudah tentu, anda juga boleh menetapkannya kepada dua kekunci pintasan Tidak disyorkan untuk menggunakan kekunci pintasan Command
di sini, tetapi gunakan Leader
sebenarnya, terminal vim
tidak boleh dipetakan ke Command
, hanya MacVim
Ya.
Lanjutan 1: Berbilang fail
Tidak ada yang salah dengan berbilang fail Apabila javac
digunakan, gantikan %
dengan *.java
dan gantikan %:r
dengan nama fail sebenar di mana main
terletak
Lanjutan 2: ProjekJika projek anda mempunyai struktur tetap, pada asasnya adalah sama
Apabila menyusun, anda boleh menambah pilihan
untuk menentukan laluan pergantungan dan pilihan untuk menentukan laluan output Jika anda mahu membungkusnya sebagai -cp
, tambah kekunci pintasan.-d
jar
Anda boleh mentakrifkan fail sifat
atau bahasa .project
untuk membaca fail sifat, menyusun dan keluaran masing-masing , pergi ke VimL
Lihat dalam direktori, lokasi mereka sangat biasa
python
Sekarang, anda boleh memetakan kekunci kepada operasi di atas, iaitu kekunci pintasan ~/.m2/
Terdapat banyak selain
serta sebarang panjang huruf Dan. nombor, vim
tidak mencukupi, atau Ctrl/Alt/Shift
awalan, anda mungkin lebih suka leader
.leader
mapleader
F1-F12
Lanjutan 3: Kebergantungan
mempunyai begitu banyak perpustakaan rangkaian, saya rasa gudangOK, pada dasarnya anda telah mencipta semula
, kecuali untuk fungsi memuat turun kebergantungan secara automatik Tetapi
harus dibuka kepada dunia luar, asalkan. semasa anda mengikuti Protokol yang berkaitan boleh dimuat turun Jika terdapat perhubungan pergantungan antara pakej, anda boleh menggunakan maven
untuk menulis algoritma pemprosesan pergantungan python
mvn
Walaupun python
seperti sampah, kami menyokong
, VimL
, sentiasa ada antara muka bahasa yang anda suka, apa sahaja yang anda fikir lambat, tidak mengapa, gunakan python
Tulis dan jadikan ia menjadi struktur Ruby
Lihat cara Lua
orang lain melaksanakannya dan menirunya.C++
C/S
YCM
Multimate: Selesai
, nama kaedah yang begitu panjang, dan pelbagai boilerplate. kaedah menulis dan Semua jenis pengecualian pelik dilemparkan, tulisan tanganBaiklah, kebergantungan kompilasi, berjalan dan pembungkusan telah diselesaikan, tetapi ia masih merupakan pemalam pengurusan projek Tiada penyempurnaan semasa menulis
, begitu banyak
kod benar-benar susah payah, dan ia memerlukan banyak kapasiti otak.Java
Bagaimanakah ini boleh berfungsi? data analisis tatabahasa tidak akan dikongsi Anda perlu menulis penganalisis tatabahasa sendiri, ya, untuk Vim
..., untuk melakukan penyiapan pintar.YCM
Clang
Jadi, GNU
Saya benar-benar tidak tahu apa yang berlaku di sini, tetapi g++
ia telah dilakukan pada tahun 1995, C++
ia telah dilakukan pada tahun 1991, dan mereka berdua menghabiskan masa selama 20 tahun bersama telah bertahun-tahun, dan dalam tempoh ini, pelbagai
Java
Java
Untuk pelengkapan yang disediakan oleh vim
, gunakan Java IDE
Tiada kaitan dengan
boleh berfungsi seperti biasa tanpa YCM
🎜> Untuk menggunakan pemalam, anda perlu memasang Java
, eclim
yang terkenal dengan sumber terbuka yang perlahan dengan kata lain, YCM
menggunakan YCM
di bahagian bawah untuk melengkapkannya Tidak kisah dengan kelajuan permulaan yang sangat perlahan dan kelajuan penyiapan, anda boleh mencubanya.eclim
YCM
Ini tidak dapat ditanggung, jadi pengarang segera mula menulis penganalisis sintaks untuk eclim
menggunakan eclipse
, menjadikannya seni bina Java
dan berkomunikasi dengan pelayan dalam pemalam untuk melengkapkannya juga boleh Tulis IDE
hujung belakang terus ke eclim
.eclipse
standard tatabahasa sudah melebihi C++
Tapi tak apa, susah pun kena buat walaupun tak ada kepayahan, apatah lagi susah.Java
C/S
Pada ketika ini, saya telah menunjukkan jalan menuju kerohanian untuk subjek tersebut Selepas memanjat duri, anda akan menjadi tuhan kekal bagi dunia YCM
dan Java
, dan ia akan berakhir sepenuhnya 🎜> tidak sesuai untuk menulis kutukan
Java
Jika C++
masih hidup semasa anda menulis ini...,
vim
Mengapa kamu tidak berkata Java
, kerana Vim
mengajarkan kehidupan yang kekal!!!Java
PosskripJava
JVM
vim
Saya hanya mengatakan ini, tiada yang mustahil untuk vim
, selagi anda mempunyai kemahiran dan masa yang mencukupi Ini terutamanya kerana
, selain daripada beberapa log kemas kini, mempunyai sekurang-kurangnyabeberapa baris nota itu sangat ringkas sehingga hanya saya yang dapat memahaminyahalaman Walaupun anda selesai membacanya, anda mungkin tidak dapat menulis pemalam. anda masih perlu membaca buku itu. Hanya
Saya mencatat nota kasar 300 halaman pertama panduan pengguna dan mengambil
Biasanya, mengenai isu ini, Vim
menyediakan antara muka :make
untuk menyusun, dan makeprg
untuk menetapkan parameter kompilasi Tetapi perlu diakui bahawa pada permulaan Vim
reka bentuk, kebanyakan reka bentuk adalah untuk Dibuat dalam bahasa yang disusun seperti C
, objek teks seperti a{
memilih kod dalam {}
, tetapi untuk python
, Kod blok ialah kod inden yang sama tanpa {}
Untuk Scala
, apabila blok hanya mempunyai satu pernyataan, {}
.
Didedikasikan kepada semua Vimer yang telah berjuang untuk menulis Java, jangan takut, saya juga salah seorang daripada anda
Vim
tidak sempurna, tetapi ia lebih baik daripada kebanyakan Vimer
kelihatan
Saya percaya bahawa semua orang yang baru belajar Vim
dan kagum dengan kuasa Vim
telah cuba mengatakan sesuatu yang berani, Vim在手, 天下我有
Kemudian, mereka bertemu Java
di tempat kerja dan jatuh ke dalam kesakitan berpura-pura. Dalam keadaan yang kumuh, sama ada memutuskan untuk mencari pekerjaan lain, atau menggunakan IDE
apabila saya melihat ke belakang lagi, Kemudian saya melihat batasan Vim
.
Melihat kekuatan alat bukanlah memahami, melihat batasannya adalah pemahaman yang benar.
黄色的树林里分出两条路
而我选择了IDE
你呢
Kemas kini
Fail tunggaljava
Kompilasi dan pemetaan fail, hanya tekan enter sekali untuk mengurangkan gangguan
autocmd BufNewFile,BufReadPre *.java nnoremap <leader>rs :up <bar> !javac % && java %:r<cr>
autocmd BufNewFile,BufReadPre *.java nnoremap <leader>cs :up <bar> !javac %<cr>
Pada asasnya, dalam direktori yang sama, fail perpustakaan disusun dengan <leader>cs
dan fail boleh laku disusun dengan <leader>rs
ialah singkatan rs
, sama seperti run single file
ialah cs
.compile single file
dan rp
Anda boleh menggunakan cp
untuk menyusun peta dan menjalankan fail projek :!mvn subcmd
sepadan dengan p
.project
PHP中文网2017-04-18 09:08:46
Tidakkah anda nampak bahawa test.class telah dijana?
Ia sepatutnya boleh dilakukan, tetapi ia memerlukan sokongan pemalam.
ringa_lee2017-04-18 09:08:46
Tidak, vim sendiri tidak mempunyai fungsi pautan pengkompil Tidak diketahui sama ada ia boleh dikonfigurasikan atau disokong oleh pemalam yang berkaitan
PHP中文网2017-04-18 09:08:46
Helo, saya menggunakan vim untuk membangunkan Java Anda boleh mencuba pemalam ujian unit yang saya tulis untuk melaksanakan ujian
https://github.com/wsdjeg/JavaUnit.vim
Sudah tentu anda juga boleh menggunakan konfigurasi saya secara langsung
https://github.com/wsdjeg/DotFiles
ringa_lee2017-04-18 09:08:46
Biasanya ini tidak mungkin kerana vim tidak boleh menyusun dan menjana fail kelas
巴扎黑2017-04-18 09:08:46
map <F4> :"!javac %"<cr>
map <F5> :"!java %<"<cr>
Tambahkan dua ayat ini pada fail konfigurasi, F4 untuk menyusun, F5 untuk dijalankan (perhatikan ruang selepas <F4><F5>), sudah tentu, premisnya ialah anda telah memasang jdk dan mengkonfigurasi pembolehubah persekitaran. Menyahpepijat terasa teruk