Saya pikir namanya menyiratkan bahwa hari ini kita akan berbicara tentang Vim! Apa ini Mengapa ini dibutuhkan? Bagaimana cara menggunakannya?
Banyak yang membaca artikel saya yang lalu bisa berseru:

Memang, praktik semacam itu dapat dianggap tidak perlu. Saya sangat menyesal, bahkan sekarang akan ada orang yang memiliki alasan yang sama. Bagi mereka yang tidak tahu, saya akan menjelaskan: Vim adalah editor teks kuno yang bekerja di terminal dan memiliki pendekatan non-standar untuk mengedit dan mengetik.

Sebuah pertanyaan yang wajar muncul: "Mengapa menggunakan program lama pada 2018, dan bahkan tanpa antarmuka grafis?" Jawabannya sederhana - nyaman. Saya setuju, jadi Anda bisa mengatakan secara mutlak tentang editor mana pun, tapi tetap saja kasus ini sangat tidak biasa.
Pertama-tama, tidak, Vim belum tua - ia baru berusia 27 tahun. Dia adalah pewaris editor Vi klasik. Itu lebih baik disesuaikan dengan sistem modern dan memiliki jangkauan kemampuan yang lebih luas. Dengan kata lain, namanya (Vi Improved) sepenuhnya dibenarkan. Saya juga ingin mencatat bahwa ada implementasi yang lebih baru dari ide yang sama - neovim.
Apa bedanya?

Jika Anda melihat video berbeda Youtube tentang topik ini, maka mereka kebanyakan berbicara tentang komponen metafisik masalah ini. Yaitu, tentang perbedaan ideologi, cara mengembangkan proyek, dan sejenisnya. Tidak ada perbedaan mendasar bagi pengguna akhir. Namun, dua poin dapat diklarifikasi: beberapa plugin lebih mudah dipasang di neovim, selain memisahkan antarmuka pengguna dari inti program. Saya akan menjelaskan lebih banyak tentang yang kedua.
Saya pikir di antara Anda akan ada orang (dan kucing) yang selalu menanggapi tawaran untuk beralih ke editor lain seperti ini:

Nah, neovim bergegas untuk menyelamatkan! Berkat dia, sekarang di banyak IDE modern dan "notebook programer" ada emulator fungsionalitas Vim. Dengan demikian, Anda dapat terus menggunakan Teks Sublime atau CLion favorit Anda dengan semua plugin Anda, pada saat yang sama secara nyata meningkatkan produktivitas Anda dalam hal menulis kode, dan mulai mendapatkan lebih banyak kesenangan darinya (lebih lanjut tentang ini nanti). Ini juga cara yang baik untuk meningkatkan FAQ, karena "peretas nyata menggunakan Vim atau Emacs."
"Yah, aku memutuskan untuk mencoba mempelajari beberapa editor vintage, tetapi mengapa Vim, dan setidaknya Emacs yang sama?" Nah, ini masalah kontroversial. Emacs adalah solusi yang lebih kuat yang dapat melakukan apa saja (Anda bahkan dapat memainkan ular di dalamnya). Namun, kekuatannya juga kelemahannya. Itu terlalu luas dan kompleks, yang diterjemahkan ke dalam kompleksitas pengembangan dan ketelitian yang lebih tinggi untuk besi. Argumen terakhir mungkin terdengar konyol sekarang, karena juga merupakan editor konsol, tetapi dalam sejumlah tugas (seperti koneksi jarak jauh melalui SSH), titik ini mungkin berubah menjadi kritis.
(Pengguna Emacs setelah baris ini)Yah, kami sudah tahu apa itu Vim, tapi tetap mengerti mengapa dan bagaimana menggunakannya.
"Mengapa semua orang sangat menyukai Vim sehingga mereka menambahkannya sedapat mungkin dan bahkan di mana pun itu mustahil?" (Omong-omong, Emacs juga memilikinya. Bagi saya, semakin lama semakin mudah untuk membuat daftar hal-hal yang tidak ada di sana, tetapi ini di luar topik.) Jawaban untuk pertanyaan ini tidak sulit - filosofinya.
Anda tidak bisa hanya memulai dan mengetik teks dalam VIM. Ada mode terpisah untuk ini - "Sisipkan mode". Ketika Anda memulai program, Anda menemukan diri Anda dalam mode normal, di mana Anda diberi kesempatan untuk mengetik perintah untuk mengedit teks dan beralih di antara berbagai mode editor ini. "Tapi itu tidak nyaman! Saya hanya ingin mengetik teks! " Secara teknis, mesin tik juga cocok untuk tugas ini, tetapi saya akan tetap menjawab tanpa sarkasme. Jika sebagian besar editor fokus pada penulisan kode, Vim menggesernya ke mengedit teks dan melakukannya dengan caranya sendiri.
(Sebenarnya, gambar ini memiliki subteks yang dalam. Jika ada satu menit, bacalah tentang seri Persona RPG Jepang.)Hal yang paling penting untuk dipahami ketika mempelajari perintah Vim adalah bahwa mereka sebagian besar tidak terisolasi. Ini, pertimbangkan seluruh bahasa, di mana mereka dibagi menjadi kata kerja, kata benda dan kata sifat (pengubah). Sebenarnya, terlepas dari kenyataan bahwa setiap tim adalah karakter tunggal, masing-masing dari mereka memiliki analog dengan kata dalam bahasa Inggris, dan urutannya dapat diterjemahkan ke dalam kalimat lengkap!

Mari kita lihat beberapa contoh, tetapi pertama-tama pegang gambar lain (kali ini dengan sesuatu yang bermanfaat):

1).
d2w
==> Hapus dua kata.

2).
AMew<Esc>
==> Tambahkan ke akhir baris "Mew" dan kembali ke mode normal.

3).
f(ci(Pakahontas<Esc>
==> Temukan sepasang tanda kurung dan ubah konten dalamnya menjadi "Pakahontas" dan kembali ke mode normal.

Lihat? Sama sekali tidak rumit! Tentu saja, pendekatan ini mengharuskan Anda terbiasa dan berlatih terus-menerus, karena Anda tidak bisa mempelajari semua kombinasi - Anda perlu merasakannya. Saya menulis kode dalam Vim bukan karena mengetik lebih cepat (saya sudah mengetik dengan lambat, seperti yang mungkin Anda perhatikan, dan saya tidak tahu bagaimana membabi buta), tetapi karena lebih alami. Alih-alih tumpukan ctrl, shift atau alt (ada perintah dengan mereka, tetapi ada beberapa dari mereka) yang sangat dimengerti dan, yang paling penting, bahasa pengeditan yang manusiawi.
(Tanpa diduga, kan?)Tetapi sebelum kita selesai, saya ingin memasukkan beberapa komentar:
I. Terlepas dari kenyataan bahwa di Vim Anda dapat menggunakan panah dan mouse (yang kedua dikonfigurasi dalam file "~ / .vimrc"), ini tidak sepenuhnya disarankan. Ini memiliki banyak perintah yang lebih menarik untuk memindahkan kursor di atas teks (dan layar), hanya saja mereka tidak lagi seintuitif perintah edit dan Anda harus menjejalkannya.
(Sudah waktunya hacking!)II Di Vim, seperti di banyak editor lain, ada mode perintah yang dipanggil ketika tombol ':' ditekan. Simbol '!' memiliki makna ganda di dalamnya:
a) Jika berdiri segera setelah ':', maka perintah lengkap untuk terminal dapat mengikutinya. Meskipun beberapa di antaranya diduplikasi sebagai perintah editor itu sendiri, dapat berguna, misalnya, untuk memanggil kompilator.
b) Jika berdiri setelah perintah Vim, maka itu akan menjalankannya tanpa menyimpan perubahan ke file. By the way, ini terhubung dengan satu bug (atau, jika Anda ingin, fitur) - jika Anda melakukan sesuatu dengan teks, maka bahkan jika Anda mengembalikannya ke keadaan semula, editor tidak akan menutup jika Anda tidak menyimpannya atau menentukan '!'
(Apakah Anda sudah merasakan bagaimana Vim peduli dengan data Anda?)III. Berbagai pengaturan editor dan plugin dapat diubah di "~ / .vimrc" di atas. Ada pengaturan untuk setiap selera dan warna, hanya saja tidak ada dalam file itu sendiri. Secara default, ini kosong. Untuk menemukan parameter yang Anda butuhkan, gunakan perintah ": help". Anda dapat menambahkan nama komponen atau plug-in tertentu setelahnya untuk langsung beralih ke informasi yang Anda minati. Namun, tentu saja, Internet akan lebih nyaman dalam hal ini.
IV. Ada beberapa perintah di Vim (misalnya, 'q') yang dirancang untuk didefinisikan (dalam "~ / .vimrc") oleh pengguna. Namun, jika Anda mencoba untuk menetapkan nilai untuk mereka secara langsung, maka mereka akan dipicu dengan penundaan, karena mereka mengharapkan perintah kedua setelah diri mereka sendiri (mereka harus ditentukan). Jika Anda memerlukan perintah satu tombol, saya sarankan menggunakan 's', karena fungsinya praktis sama dengan 'c'. Pengganti bisa diganti, begitulah.
V. Tim '.' memiliki kekuatan luar biasa dalam editor ini. Dia tahu bagaimana mengulangi perintah sebelumnya (atau seluruh kalimat dari mereka). Pada prinsipnya, jika Anda tidak ingin merekam makro, maka itu adalah alat yang sangat baik untuk mengisi kode dengan "pasties":
VI. Vim mengingatkan saya pada beberapa komputer Spectrum 48K ZX lama. Mereka juga memiliki perintah satu tombol, tetapi itu untuk bahasa pemrograman Dasar. Dengan demikian, para pengembang mencoba mengurangi jumlah RAM yang dibutuhkan untuk program tersebut.

Sebagai bahan pelatihan, saya merekomendasikan program vimtutor. Secara teknis murni, itu hanya membuka file dengan tutorial singkat di Vim, tetapi pendekatan ini memungkinkan Anda untuk berlatih secara paralel dengan mempelajari bagian teoretis. Dan kemudian berlatih, berlatih, dan, sekali lagi, berlatih!
Sebenarnya, semua yang ingin saya katakan tentang Vim. Jujur, saya sangat senang dengan editor ini. Filosofinya sangat menular dan mirip dengan sistem Unix secara keseluruhan (semuanya sederhana, jelas, dan logis, tetapi membutuhkan pembiasaan dan mengingat) Karena itu, jika Anda mencari editor teks yang baik atau ingin mendapatkan pengalaman mengedit teks baru, maka Anda tidak akan menemukan tempat yang lebih baik.
Saya berharap Anda bahagia, sehat, dan KDE tidak jatuh!
Sumber1) Pada topik:
a) Sebenarnya, vimtutor
b) Gambar dengan keyboard diambil dari situs web
viemuc) Saya juga membaca
wikibook tentang topik ini.
2) Di luar topik:
a) Tentang seri Persona di Youtube ada banyak video dengan analisis terperinci mereka. Mungkin yang paling berharga adalah video dari kakala
Place Filinov , tetapi penulis sejauh ini berhenti di bagian kedua kedua (ini bukan salah ketik).
b) Tentang Spectrum baru-baru ini merekam video yang bagus
Dmitry Moiseevc) Penulis gambar dari gambar profil saya - Fluff-Kevlar