Mode adalah fitur pembunuh vim? Serius?

Penulis posting asli dalam bahasa Rusia: varanio

Anda mungkin telah membaca artikel baru-baru ini yang menunjukkan bahwa vim sangat bagus tidak seperti IDE , karena kecepatan mengetiknya rendah.

Mari kita ingat bahwa pesan utama dari artikel itu adalah bahwa fitur pembunuh vim terdiri dari mode-modenya yang lebih baik dari yang lainnya. Yang mengatakan, penulis mengakui bahwa IntelliJ IDEA dan IDE lain menyediakan hotkey dan pengalaman pengguna lain yang dapat dengan mudah digunakan. Namun, karena mereka kekurangan mode, vim seharusnya menjadi pilihan pertama semua orang.

Penulis kemudian menyarankan bahwa daripada menekan ctrl+arrows untuk berpindah antar kata, lebih mudah untuk menekan Esc, e dan kemudian kembali ke mode pengeditan i . Maklum, semua masalah ini karena penulis merasa tidak nyaman untuk menahan ctrl .

Saya tahu bahwa artikel yang mengkritik vim mendapatkan banyak suara negatif, tetapi saya hanya perlu berbicara.

Apakah baris kode Anda begitu lama sehingga jari Anda menjadi lelah menahan kunci ke titik di mana Anda benar-benar membutuhkan mode? Saya bisa mendapatkannya ketika Anda mengetik konstanta panjang - dalam hal ini Anda dapat menekan Caps Lock dan mengetik namanya. Bahkan saat itu saya jarang menekan tombol ini lebih dari sekali dalam setahun. Tetapi untuk beralih mode bolak-balik untuk bergerak maju ke bawah beberapa kata, apalagi untuk memanggil fitur pembunuh vim itu, terdengar seperti sedikit peregangan.

Ngomong-ngomong, di IntelliJ IDEA, Anda dapat mengubah huruf besar kecil (atau teks yang dipilih) dengan satu tombol, sehingga tidak perlu menggunakan Caps Lock juga.

Saya akui bahwa vim bisa baik untuk mengedit file konfigurasi pada server jarak jauh. Juga, vim bisa bagus untuk bahasa baru yang belum dimainkan oleh JetBrains. Menulis plugin khusus lebih mudah untuk vim (tetapi dalam 99% kasus Anda tidak akan membutuhkannya dengan IDE yang memadai). Mungkin, lebih nyaman untuk mengedit teks panjang. Tetapi itu tidak relevan untuk pengkodean industri standar!

Saya harus segera menyebutkan beberapa poin di sini.

Vim dapat diubah menjadi semacam IDE dengan menginstal plugins dan mempelajari hotkey untuk mengoperasikan plugins tersebut


Memang bisa, tapi mengapa ada yang repot?

Sepertinya tantangan aneh mengingat IDE memiliki semuanya, dan dengan pengalaman yang lebih ramah pengguna. Anda tidak harus menggunakan mouse, saya janji!

Biarkan saya menjelaskan hal itu dengan mengedit tanpa mouse dengan menggunakan contoh. Saya pertama kali membuka IntelliJ IDEA dan membuat file baru.

Saya menekan p, dan IDE segera meminta saran paket kata. Yang perlu saya lakukan adalah tekan Enter untuk memasukkan paket kata ke dalam teks di dalam editor.

Lalu saya tekan c , dan IDE menyarankan kelas sekaligus.

Saya memasukkan nama kelas (misalnya, Habr ), ketik kurung kurawal { , dan IDE secara otomatis melengkapi kurung kurawal tepat di belakang kursor.

Lalu saya ketik pu, dan IDE mengerti bahwa itu mungkin publik. Saya mengetikkan H dan tekan Enter untuk mendapatkan Habr, karena IDE sudah mendapatkannya yang ingin saya buat konstruktor.

Saya melanjutkan untuk menulis tubuh konstruktor, misalnya saya memanggil metode init (), yang belum ada di sana. IDE saya menyorotnya dengan warna merah, yang menunjukkan bahwa metode ini tidak ada. Setelah saya menekan alt-ENTER , IDE akan memasukkan potongan kode di tempat yang tepat:

  private void init() { } 

Jika saya mengetik new Habr(5) di dalam metode ini (tentu saja kata Habr juga diminta), yaitu jika saya mencoba memanggil konstruktor yang tidak ada, IntelliJ IDEA akan segera menggarisbawahi bit itu, jadi saya cukup tekan <alt-ENTER> dan pilih apa yang ingin saya lakukan: apakah itu untuk menambahkan argumen int ke konstruktor atau menambahkan konstruktor baru dengan parameter int. Saya memilih opsi yang terakhir, dan IDE segera menambahkan konstruktor baru setelah yang pertama:

 public Habr(int i) { } 

Saya tidak akan menyebutkan lekukan otomatis dan fitur lain yang membantu Anda mengedit kode, karena tentu saja kode itu ada.

Inilah yang saya dapatkan pada akhirnya:

 package x; class Habr { public Habr() { init(); } public Habr(int i) { } private void init() { new Habr(5); } } 

Yang saya lakukan adalah benar-benar menekan beberapa tombol dan tombol pintas <alt-ENTER> .
Saya tidak menginstal plugin apa pun.
Saya tidak perlu berlatih selama sebulan untuk bisa melakukan ini.

Saya TIDAK PERNAH MENYENTUH MOUSE (Saya menggunakan Caps Lock di sini bukan karena saya ingin berteriak seperti orang gila, tetapi karena itu menyenangkan untuk mencoba fitur ini).

Saya tidak beralih ke mode apa pun dan tidak harus mengingat kombinasi tombol atau tombol apa pun. Satu-satunya yang saya gunakan adalah <alt-ENTER> (tapi itu adalah hal yang bergantung pada konteks, semacam hotkey "pemecahan masalah").

Jika Anda tidak suka menggunakan mouse, Anda dapat menavigasi kode menggunakan hotkey khusus, seperti untuk melompat ke kelas yang tepat, file, metode, nomor baris, dll.

Anda dapat memilih teks dengan berulang kali menekan <ctrl-W> untuk memilih kata saat ini, teks saat ini di antara kawat gigi, dll.

Vim memungkinkan Anda untuk beralih ke karakter tertentu. Misalnya, Anda bisa mendapatkan huruf x di baris teks tanpa menyentuh mouse. Namun sebuah IDE juga memberi Anda kesempatan ini dengan menekan <ctrl-f> dan mengetikkan potongan teks yang diperlukan. Omong-omong, ini juga semacam mode. Ini disebut mode pencarian, ya!

Saya juga tidak perlu mouse untuk melompat ke pemanggilan fungsi yang tepat dan kemudian, lagi tanpa mouse (tekan ctrl-b ), untuk melompat ke deskripsi fungsi ini.

Vim memiliki beberapa fitur pengeditan out-of-box unik yang tidak ada dalam IDE


  • Pindah ke paragraf berikutnya / sebelumnya.
    Ya, sepertinya fitur yang berguna untuk IDE. Melainkan untuk mengedit artikel untuk Habr daripada untuk coding yang sebenarnya.
  • Pindah ke karakter spasi berikutnya.
    Ya, Anda bisa menyebutnya fitur yang bermanfaat, tetapi tidak terlalu keren. Penekan berulang ctrl+arrows akan menghasilkan efek yang sama.
  • Lompat setengah halaman ke atas / bawah.
    Saya belum memutuskan apakah saya membutuhkan yang ini untuk apa saja.
  • Melompat ke baris pertama / terakhir / tengah pada layar.
    Saya tidak benar-benar mengerti untuk apa ini. Yaitu, mungkin berguna beberapa saat, tetapi itu sama sekali bukan fitur pembunuh.
  • Dimungkinkan untuk menghapus secara tepat N baris kode.
    Ya, benar, saya melakukan ini setiap hari. Semua orang perlu menghapus 19 baris kode dari waktu ke waktu, kan?

Saya sama sekali bukan guru vim, jadi saya mungkin telah melewatkan beberapa aspek kunci. Silakan bagikan pemikiran Anda di bagian komentar. Ya, tentu saja ada zillions plugins di atas itu. Tetapi IDE juga memilikinya, dan dalam jumlah yang sebanding.

Ringkasan


Ini adalah take-away saya sendiri dari ini. Saya akan tinggal jauh dari vim ketika datang ke mengedit kode, tidak peduli apa yang akan Anda katakan. Saya tidak terlalu terkesan dengan menggunakan mode alih-alih menahan ctrl atau bahkan ctrl-alt-shift . IDE memberi Anda lebih banyak fitur out-of-box, tanpa perlu menghabiskan waktu untuk belajar dan menetapkan hotkey . Sebagian besar tugas sehari-hari dapat diselesaikan dengan IDE dengan mempelajari hanya beberapa hotkey. Anda bahkan dapat melewati mereka sama sekali jika Anda senang menggunakan mouse.

Sudah lama ditetapkan bahwa seorang programmer membutuhkan lebih banyak waktu untuk belajar kode daripada benar-benar menulisnya. Jadi apakah Anda akan menggunakan mouse atau tidak tidak membuat perbedaan besar. Namun, izinkan saya menegaskan kembali bahwa IDE memungkinkan Anda untuk melakukan hampir semua hal (jika tidak semuanya) tanpa menggunakan mouse.

Vim akan bekerja lebih baik daripada nano untuk mengedit file konfigurasi jarak jauh di server, asalkan kondisi berikut terpenuhi:

  1. Anda harus memiliki cengkeraman vim yang baik.
  2. Anda perlu mengedit jumlah file konfigurasi industri untuk merasakan manfaatnya. Jika Anda hanya perlu membuat perubahan pada satu file konfigurasi sekali atau dua kali sebulan, nano atau memang semuanya akan bekerja dengan baik.

Anda dapat mulai memilih saya turun atau, lebih baik lagi, menawarkan argumen balasan Anda :).

Source: https://habr.com/ru/post/id436004/


All Articles