Bagaimana cara belajar vim pada level tinggi? [Tutup]

77

Saya tahu vim (seperti emacs) adalah editor yang sangat kuat untuk programmer, selama Anda tahu cara menggunakannya, pintasannya, dan sebagainya. Langkah apa yang bisa saya ambil dan tutorial apa yang bisa saya baca untuk menjadi pengguna vim tingkat lanjut?

Zango
sumber
Anda mungkin ingin merujuk ke komunitas wiki di sini - ubuntu.stackexchange.com/questions/804/…
myusuf3

Jawaban:

116

Langkah 0: belajar menyentuh tipe. Serius - jika jari-jari Anda tidak tahu di mana kunci-kunci itu maka vim akan menyebalkan. Dan bahkan jika Anda menolak vim, pengetikan sentuh akan meningkatkan pemrograman Anda (tanyakan Steve Yegge ) dengan membuat pikiran untuk memonitor friksi tautan gratis. Ada banyak dari perangkat lunak yang dapat membantu Anda meningkatkan mengetik Anda.

Langkah 1: Gunakan preferensi keyboard untuk menukar Caps Lock dan Escape - serius, seberapa sering Anda menggunakan Caps Lock? Menggunakan vim Anda akan menggunakan Escape setiap saat, dan jika tersedia di baris rumah membuat perbedaan besar. Dengan desktop Ubuntu standar, buka menu: System -> Preferences -> Keyboard -> tab Layouts. Kemudian tekan tombol "Layout Options", klik pada segitiga di samping "Caps Lock key behaviour" dan pilih "Swap ESC and CapsLock". (Perhatikan bagaimana melakukan ini telah berubah - lihat ini bagaimana melakukannya di 14.04 .

Langkah 2: gunakan vimtutor untuk membantu Anda memulai. Itu di gvim (di bawah menu bantuan saya pikir) atau Anda bisa mengetikkan 'vimtutor' di baris perintah. Ini akan memakan waktu 30-45 menit dari waktu Anda dan kemudian jari-jari Anda akan mengetahui dasar-dasar vi / vim dan Anda harus dapat mengedit file tanpa ingin melemparkan keyboard Anda keluar dari jendela.

Langkah 3: gunakan vim di mana-mana. Lihat pertanyaan ini dari StackOverflow untuk tips dan tautan untuk menggunakan vim dan vi key binding di baris perintah, dari browser web Anda, untuk membuat email, di IDE Anda ... Anda perlu menggunakan vim untuk menyematkan binding kunci pada memori otot Anda .

Langkah 4: pelajari lebih lanjut tentang vim. Anda hanya akan menggaruk permukaan dengan vimtutor. Kamu bisa

Mempelajari litle sering akan menjadi saran saya - ada banyak hal di luar sana yang menempel pada potongan berukuran gigitan akan menjadi cara terbaik untuk membuat pengetahuan tetap.

Langkah 5: Untung :)

Hamish Downer
sumber
10
tidak dapat memilih ini cukup :)
tutuca
Terima kasih banyak atas jawaban terbaiknya! Untungnya, saya sudah mengetik pengetik. :) Jadi, saya akan mengikuti langkah selanjutnya ...
Zango
1
Langkah 2 sangat penting. Mengubah vim dari yang menyusahkan menjadi editor favorit saya.
Matius
2
Saya ingin mendorong Langkah 3, Anda bahkan dapat menggunakan (g) vim di Windows atau Mac atau ... (lihat vim.org/download.php ) Hanya menggunakan satu editor akan membuat Anda lebih terbiasa dengannya.
ddeimeke
Buat caps lock sebagai kontrol ekstra (atau tukar). Vim memiliki banyak kegunaan ctrl, lebih dari saya menggunakan escape (saya imap kj to escape toh), tetapi tombol kontrol yang praktis dan mudah berguna dalam setiap program lain yang saya gunakan juga.
22

"vimtutor" form package "vim" mungkin merupakan tempat terbaik untuk memulai.

Andres
sumber
14

Dua hal:

  1. Pelajari pengetikan sentuh. Benar-benar tidak ada cara lain. Kemudian ikat ESC ke ";;" jadi Anda tidak perlu meninggalkan deretan rumah:inoremap ;; <esc>

  2. Cari github untuk orang lain .vimrcs

Dan yang ketiga: VimCast

loevborg
sumber
6

Ini akan terdengar konyol, tetapi mengenal perintah bantuan vim. Sistem bantuan sangat intuitif dan mudah dinavigasi.

Bantuan tersedia dengan mengetik :help. Anda dapat mencari tahu tentang topik tertentu dengan memasukkannya pada baris perintah (misalnya :help insert). Anda dapat menelusuri topik dengan menekan tab setelah mengetik satu atau lebih karakter topik.

Bantuan ini hyperlink, dengan tautan dilambangkan dengan teks tebal atau berwarna. Anda dapat mengikuti tautan dengan menekan <Ctrl -]> ketika kursor Anda ada di sana, dan <Ctrl-t> untuk kembali. Untuk keluar dari bantuan, ketik :q.

Erigami
sumber
1
Dan memiliki dua manual lengkap di dalamnya: manual pengguna dan manual referensi. Anda tidak memerlukan apa pun selain vimtutor dan: bantu menjadi ahli Vim.
Marius Gedminas
5

Beberapa jawaban bagus. Pasti mencoba mengintegrasikannya ke dalam kehidupan sehari-hari dan pastikan Anda tidak mencoba membanjiri otak Anda dengan terlalu banyak sekaligus. Terlalu banyak yang harus dipelajari untuk mempelajari semuanya dalam seminggu.

Pada mulanya hanya mulai dengan satu / dua perintah / kunci baru seminggu. Gunakan dan masukkan ke dalam otak Anda. Anda tidak ingin harus merujuk ke lembar contekan sepanjang hari.

Saya punya contoh konfigurasi vim yang didokumentasikan dengan sangat baik. Saya publikasikan untuk orang-orang: http://github.com/mitechie/pyvim

Jangan hanya menyalin / menempel. Pastikan Anda memahami apa yang terjadi pada konfigurasi vim Anda sehingga Anda tidak lupa / salah paham apa yang dilakukannya untuk Anda.

dan saya sudah mulai melakukan beberapa screencasts vim: http://lococast.net/archives/111

Rick
sumber
4

PeepCode's Smash ke VIM 1 & 2 adalah sumber yang bagus. Anda juga dapat melihat blog Rob Conery , ia memiliki beberapa informasi / blog terkait VIM yang bagus yang tersedia di sana.

JPrescottSanders
sumber
3

Saya tahu bahwa saya mungkin mendapatkan umpan balik negatif untuk jawaban ini, karena mungkin menyakiti penggemar dan pengguna vim: Pertama, tanyakan pada diri sendiri apa yang ingin Anda lakukan. Dan hanya jika vim adalah alat terbaik untuk tugas spesifik itu, lakukan apa yang semua jawaban lain katakan kepada Anda.

Atau mengatakannya dengan lebih banyak gambar: Anda dapat mencoba mendapatkan dua kali lebih cepat atau lebih baik dengan palu daripada sekarang. Tetapi tergantung pada situasi, driver sekrup dapat membantu lebih dari palu. :)

Bananeweizen
sumber
4
Ya, sebagai penggemar vim saya harus mengatakan bahwa vim sedikit lebih dari palu. Ini dapat memberikan kegunaan bermanfaat bagi siapa saja dari sysadmin, admin db, programmer (dari bahasa apa pun) dan bahkan sekadar tanpa embel-embel editor teks. Ini diinstal secara default pada setiap sistem karena suatu alasan dan saya tidak tahu bahwa ada banyak kasus untuk "yah Anda benar-benar perlu mengetahuinya sama sekali" Selain itu, pengguna memposting ini secara eksplisit untuk menemukan cara / bantuan untuk memajukan pengetahuan dan pengalaman vim mereka.
Rick
1
Saya sangat setuju dengan anda!
ddeimeke
2

Saya belum benar-benar mempelajari Vim, tetapi saya pikir dengan melakukan semua penjelajahan saya dengan ekstensi Pentadactyl untuk Firefox, hal itu akan menjadi lebih sulit ketika saya melakukannya.

Setiap bidang teks dan baris perintah dapat diperlakukan seperti mode normal Vim dengan Ctrl T (atau secara otomatis, jika Anda mengubah pengaturan); Namun, di sinilah ia jatuh saat ini bagi saya karena banyak tindakan ditafsirkan sebagai global misalnya berusaha menyisipkan dengan p membuka url dengan teks yang ada di buffer dan mencoba menimpa teks dengan r memuat ulang halaman. Tapi Anda bisa membuka bidang teks di Gvim dengan menekan Control I, jadi itu bukan masalah.

Masalah lain adalah bahwa itu membuat situs web seperti Gmail atau Remember the Milk lebih sulit untuk digunakan karena Anda memiliki mode lain untuk bersaing.

daithib8
sumber
2

Lihat jawaban pada tips pemula untuk belajar Vim dari Programmers SE

Untuk mengulangi jawaban saya dari pertanyaan itu:


Saya belajar banyak dari buku O'Reilly "Learning the Vi and Vim editor" . Ini buku Vim terbaik yang pernah saya baca.

Saya juga merekomendasikan untuk memeriksa:

Jeromy Anglim
sumber