Saya biasanya mengatur screen
sesi untuk setiap proyek. Vim ada di jendela 0, dan saya menggunakan jendela 1 untuk sesi shell. Jika saya mengkode dalam bahasa yang memiliki REPL yang layak, saya biasanya menjalankannya di jendela 2. Tentu saja, Anda tidak perlu screen
melakukan ini; Anda bisa melakukannya dengan jendela terminal yang berbeda atau dengan tab di terminal multitab. Saya memang menemukan screen
lebih stabil daripada alternatif lain: jika aplikasi terminal Anda crash, Anda bisa memulai terminal lain dan menyambung kembali ke screen
sesi Anda yang masih berjalan . screen
juga sangat cepat dinavigasi setelah Anda mempelajarinya (seperti vim itu sendiri).
Saya sebagian besar akhirnya menggunakan sesi shell untuk kegiatan kontrol versi yang rumit seperti rebasing atau penggabungan: hal-hal sederhana dapat dilakukan dari baris perintah vim (misalnya :!git commit % -m 'Added info about
layar .'
) atau dengan menggunakan addon buron . Saya menemukan pelarian :Gmove
(ganti nama buffer saat ini baik dalam vim dan indeks git) dan :Gdiff
(aktifkan vimdiff pada buffer saat ini dengan titik sebelumnya dalam sejarahnya) sangat berguna. Anda juga dapat melakukan hal-hal seperti membangun pesan komit dalam buffer awal, menyalin teks dari berbagai bagian kode Anda, dan kemudian melakukan dengan:%!git commit -F /dev/stdin
Saya juga akan menggunakan sesi shell untuk pengujian fungsional / integrasi jika itu berlaku untuk apa pun yang saya kerjakan, misalnya jika saya sedang menulis utilitas baris perintah.
Fungsionalitas quickfix Vim berguna untuk debugging, meskipun tampaknya ada addon berbeda yang diperlukan untuk setiap bahasa yang Anda mungkin ingin bekerja. Mereka juga tampaknya menggunakan berbagai teknik doa, pemetaan tombol fungsi atau urutan tombol dimulai dengan \
atau ,
, atau untuk perintah khusus, atau dengan secara otomatis dipanggil ketika buffer disimpan. Sejauh ini saya belum benar-benar repot untuk membahas ini, dan hanya membaca unit test atau hasil serat ke dalam buffer awal menggunakan misalnya :r !python -m doctest whatever.py
. Ubah kode, kembali ke penyangga awal, u
untuk membatalkan, lalu tekan :r
dan panah atas (sebagian besar waktu) untuk mendapatkan perintah itu kembali. Tetapi mungkin ada baiknya Anda mencari tambahan untuk ini, tergantung pada bahasa tempat Anda bekerja.
Untuk bahasa yang dikompilasi populer seperti C, java, dll, :make
akan melakukan build, dan dukungan untuk daftar perbaikan cepat sudah mapan. Jadi Anda bisa lakukan :copen
untuk menampilkan buffer perbaikan cepat. Ini akan menampilkan daftar kesalahan, satu per baris; Memukul Enterbaris akan melompati jendela Anda yang lain ke titik itu di file itu.
Jika Anda bekerja dengan beberapa proyek sekaligus, Anda dapat :lmake
mengatur daftar kesalahan yang akan disimpan di daftar lokasi : ini seperti daftar perbaikan cepat tetapi dikaitkan dengan satu jendela daripada menjadi tunggal dalam Anda contoh vim. :lopen
akan membuka daftar lokasi untuk jendela saat ini.