Apa cara terbaik untuk memaksa diri Anda untuk menguasai vi? [Tutup]

205

Beberapa waktu yang lalu, saya membaca sebuah artikel oleh pencipta viemu , menjelaskan banyak kesalahpahaman tentang vi, serta menjelaskan mengapa itu ide yang bagus (dan mengapa itu sudah sangat populer selama 30 tahun terakhir +). Orang yang sama juga memiliki seperangkat lembar cheat grafis yang mengajarkan dasar-dasar beberapa bit sekaligus.

Saya yakin.

Saya sudah diyakinkan selama 2 tahun terakhir. Tetapi saya masih belum sempat memaksa diri untuk belajar vi sebagai editor utama saya, kurva belajarnya terlalu tinggi. Ketika saya mulai bekerja, produktivitas yang dapat diterima tetapi langsung (menggunakan editor saya saat ini) sejauh ini telah memenangkan produktivitas luar biasa lebih jauh ke depan (menggunakan vi).

Adakah yang punya tips bagus untuk membantu melewati kurva belajar? Ini bisa berupa tips langsung, beberapa tutorial atau artikel lain, apa pun.

Sunting: Perhatikan bahwa saya mengetahui varian vim / gVim , Cream dan MacVim (dll.) Vi. Saya menyimpan pertanyaan saya tentang vi untuk merujuk pada keluarga vi secara keseluruhan. Terima kasih atas semua jawaban bagusnya.

Pembaruan (April 2009)

Saya telah menggunakan Vim (lebih tepatnya, MacVim) dalam kehidupan profesional saya sehari-hari sejak Desember lalu. Saya tidak akan kembali :-)

Semoga beruntung untuk semua orang dalam penguasaan Vim mereka.

webmat
sumber
14
Saya belajar vim karena saya tidak tahu cara mengubah editor default bertahun-tahun yang lalu. ;)
ada
Karena ini adalah pengukuran penyerapan pengetahuan dari waktu ke waktu, kurva pembelajaran yang curam umumnya adalah hal yang baik, itu berarti Anda belajar dengan cepat. :)
converter42
Baru pagi ini aku berjuang dengan vi dan menjelajah Stack Overflow untuk mengalihkanku darinya dan lihatlah, ini ada di dekat bagian atas! Senang mendengar Anda masih menggunakannya, mudah-mudahan saya di sepatu Anda dalam empat bulan.
Greg Noe
3
Sama seperti catatan tambahan: Tahukah Anda bahwa Anda bisa mendapatkan vim pluggin untuk hampir semuanya ?! Anda bisa mendapatkan plugin vim untuk firefox sehingga semua kotak teks Anda bertindak seperti vim! Namun ini lebih menarik daripada berguna. Apa yang berguna (walaupun saya belum mengunduhnya) adalah plugin vim untuk eclipse. Nah, itu sepertinya berguna!
sixtyfootersdude

Jawaban:

125

Pertama-tama, Anda mungkin ingin mengambil Vim; ia memiliki fitur yang jauh lebih unggul yang diatur bersama dengan segala yang dimiliki vi.

Karena itu, perlu disiplin untuk belajar. Jika Anda memiliki pekerjaan dan tidak mampu mencapai produktivitas (tanpa dipecat), saya sarankan mengambil proyek akhir pekan dengan tujuan mempelajari editor. Biarkan dokumentasinya tetap terbuka saat Anda bekerja, dan cukup disiplin untuk tidak menyerah. Ketika Anda belajar lebih banyak, menjadi efisien dan mulai mengandalkan memori otot, tidak akan sulit untuk tetap menggunakannya.

Saya telah menggunakan Vim begitu lama sehingga saya bahkan tidak memikirkan tombol apa yang harus ditekan untuk mencari atau menavigasi atau menyimpan. Dan tangan saya tidak pernah meninggalkan keyboard. Menggunakan Vim adalah salah satu pilihan terbaik yang pernah saya buat dalam karier pemrograman saya.

Lucas Oman
sumber
15
Saya mempelajarinya di tempat kerja dan saya tidak dapat menghindari hit produktivitas. Memang membantu memiliki vimmer di sebelah saya untuk terus mengajukan pertanyaan. Temukan seseorang yang mengenal vim dengan baik dan berteman dengan mereka! Cepat melihat tombol navigasi dan menangani mode. Cobalah dalam potongan 15 menit, Anda akan mendapatkannya.
camflan
4
Saya setuju, terus saja. Anda akan tahu bahwa Anda ada di sana begitu Anda dipaksa untuk menggunakan nano atau notepad dan itu membuat Anda gila!
Kyle Walsh
3
Setelah memulai dan berhenti menggunakan Vim selama setahun, saya menemukan bahwa membeli buku Vim dan membuat saya melewatinya cukup membantu. Saya juga mencoba menjaga pola pikir "Harus ada cara yang lebih cepat untuk melakukan ini" dan terus mencari: bantuan untuk cara melakukan hal-hal yang lebih baik.
JD Frias
2
Juga, simpan daftar fitur yang berguna yang Anda ingin merasa nyaman dengannya. Saya telah menggunakan vim selama lebih dari 5 tahun sekarang, dan saya masih menyimpan catatan Tomboy dengan hal-hal baru yang saya pelajari yang ingin saya ingat untuk digunakan.
Lucas Oman
65

Hal pertama yang akan saya lakukan adalah meletakkan selembar kertas atau buku di atas tombol panah dan tombol ins / home / end / pgup / down Anda. Itu tidak diperlukan di Vi.

Selanjutnya saya akan terbiasa menekan ctrl + [setiap kali Anda diminta untuk melarikan diri. Ini jauh lebih cepat dan Anda tidak perlu melepaskan keyboard.

Lalu aku akan menonton screencasts saya:

http://www.youtube.com/watch?v=FcpQ7koECgk

http://www.youtube.com/watch?v=c6WCm6z5msk

http://www.youtube.com/watch?v=BPDoI7gflxM

http://www.youtube.com/watch?v=J1_CfIb-3X4

Kemudian, praktikkan saja latihan praktik.

sunting Alasan menghindari tombol panah adalah karena mereka memperlambat Anda. Salah satu manfaat terbesar Vim adalah kecepatan yang memungkinkan Anda. Tombol panah juga mencegah Anda dari benar-benar merangkul sifat modal, yang sangat kuat ketika dikuasai.

Aaron Jensen
sumber
Saya tidak berpikir pengguna Vi / Vim modern harus menghindari kunci kursor. Anda mungkin tidak akan pernah menggunakan Vi pada sistem tanpa kunci kursor, jadi belajar untuk menghindarinya tidak perlu, dan mereka berfungsi dengan baik (hari ini).
tialaramex
24
Saya telah memetakan kembali tombol Caps-Lock di keyboard saya untuk Escape. Bahkan lebih cepat dari ctrl + [!
Chris AtLee
Saya setuju dengan menghindari tombol kursor. Salah satu keuntungan dari pendekatan Vi terhadap pergerakan adalah bahwa begitu Anda terbiasa, Anda siap untuk semua situasi (baca: pada tata letak laptop yang sempit atau dalam sesi jarak jauh pada OS aneh alias Unix lama atau melalui terminal aneh)
webmat
8
Saya menggunakan kursor hingga saya menonaktifkannya di .vimrc: map <Up> "" map <Down> "" map <Right> "" map <Left> "" Pergelangan tangan saya bersyukur bahwa saya menyingkirkan kebiasaan itu!
Johan Kotlinski
2
Joey, tombol panah memang berguna, tetapi hampir selalu lebih baik meninggalkan mode penyisipan, bernavigasi ke tempat yang Anda inginkan dan masuk kembali masukkan atau ubah atau mode apa pun untuk melakukan apa yang ingin Anda lakukan. Memukul pelarian atau ^ [lebih cepat daripada menggerakkan tangan Anda ke sana dan ke belakang.
Aaron Jensen
39

Langkah 0: belajar menyentuh tipe. Serius - jika jari-jari Anda tidak tahu di mana kuncinya maka vim akan menjadi sakit. 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 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 2: gunakan vim di mana-mana. Lihat pertanyaan ini untuk tips dan tautan untuk menggunakan vim dan vi key binding di baris perintah, dari browser web Anda, untuk menulis email, di IDE Anda ... Anda perlu menggunakan vim untuk menyematkan binding kunci di memori otot Anda.

Langkah 3: pelajari lebih lanjut tentang vim. Anda hanya akan menggaruk permukaan dengan vimtutor. Anda dapat menonton video ini atau membaca artikel ini (baik tentang "Tujuh kebiasaan mengedit teks yang efektif" Anda dapat. Membaca tentang kiat dan trik di StackOverflow Anda dapat menelusuri. Vimtips Pelajari litle sering akan saran saya -. Ada begitu banyak di luar sana yang menempel dengan potongan seukuran gigitan akan menjadi cara terbaik untuk membuat pengetahuan tetap.

Langkah 4: Untung :)

Hamish Downer
sumber
2
Mengetik sentuhan adalah suatu keharusan, jika Anda ingin mencapai tingkat penguasaan tertentu. Tetapi jika Anda benar-benar ingin menjadi ahli dalam hal komputer ini, Anda tentu tidak membutuhkan seseorang untuk memberi tahu Anda, Anda akan dengan mudah mengatasinya sendiri. =)
sjas
vimtutor luar biasa :-)
user454083
Cara yang cukup mudah dicapai dan ilmiah untuk menguasai vim. Saya akan mencoba menggunakan ini untuk membimbing saya menuju jalan utama menuju vim. Semoga saya bisa tetap bertahan sampai akhir.
YinchaoOnline
26

Saya telah menjadi pengguna vim lagi dan lagi selama bertahun-tahun (melakukan pekerjaan admin sys sesekali). Saya baru saja mulai menghabiskan lebih banyak waktu melakukan pekerjaan pemrograman saya di dalamnya. Saya sarankan mulai dengan gvim juga. Ini terintegrasi dengan baik dengan sebagian besar lingkungan OS, dan (bahkan lebih baik), Anda dapat kembali ke mouse ketika Anda perlu :).

Untuk menjalankan vim, jalankan melalui vimtutor (dibundel dengan gVim) sekali atau dua kali (membutuhkan sekitar satu jam atau lebih). Saya tidak bisa melebih-lebihkan betapa bermanfaatnya bagi saya! Terutama bagian pertama tentang berbagai cara untuk bergerak melalui dokumen, dan bagaimana tindakan edit direkam dengan perintah gerak, dll, dll. Setelah itu, semuanya akan JAUH lebih jelas.

Kemudian, mulailah melakukan pengeditan kecil dan cepat dengan itu (penggantinya dengan notepad) hingga Anda cukup nyaman untuk melakukan pengeditan yang bermanfaat pada klip cepat. Kemudian cobalah melakukan pekerjaan sehari-hari Anda di dalamnya. Anda akan mendapati diri Anda merindukan perintah "repeat action terakhir" di editor lain dalam waktu singkat!

Brian
sumber
Anda dapat menggunakan mouse dalam vim normal dengan menjalankan ": set mouse = a".
Stephen Paulger
19

Anda meminta tips yang baik untuk membantu melewati kurva pembelajaran pada editor teks vi. Banyak jawaban sebelumnya menyarankan Anda untuk tidak menggunakan editor lain. Saya pikir itu saran yang bagus. Beralih ke vi dari editor yang lebih grafis membutuhkan perubahan pola pikir. Ini membutuhkan pemikiran dalam hal perintah, daripada perubahan visual.

Saya tidak menggunakan apa pun kecuali vi selama bertahun-tahun dan percaya bahwa satu-satunya cara Anda bisa produktif adalah dengan menghafal perintah yang Anda gunakan secara teratur. Cara saya melakukan ini adalah membuat daftar pendek dari perintah keyboard yang paling umum. Saya mengelompokkan dan memberi kode warna pada perintah-perintah ini berdasarkan fungsinya, yaitu Memindahkan Kursor, Mengedit, Mencari , dll. Saya berhati-hati untuk hanya memasukkan perintah yang paling umum digunakan yang saya tidak tahu. Idenya adalah untuk membuat referensi cepat yang juga merupakan bantuan dalam menghafal - bukan untuk menggantikan layar bantuan yang tersedia. Kemudian saya mencetak daftar ini dan menempelkannya ke dinding di belakang monitor saya sehingga saya bisa melihatnya dengan mudah. (Lembar cheat grafis yang Anda sebutkan mungkin bekerja lebih baik untuk beberapa, tetapi mungkin sumber referensi yang lebih baik daripada alat menghafal.)

Inilah kuncinya. Ketika saya merasa nyaman dengan salah satu perintah, saya menggambar garis melalui itu dengan pensil. Saya masih bisa melihatnya jika saya membutuhkannya, tetapi bagi saya simbolis bahwa saya telah menguasai perintah itu. Itu memberi saya kepercayaan diri dan motivasi karena saya bisa melihat kemajuan teratur. Setelah sebagian besar dari saya dicoret, saya menghapusnya dan menambahkan beberapa perintah yang jarang digunakan. Saya melanjutkan proses ini sampai saya puas dengan perintah vi saya. Saya tahu bahwa saya telah mencapai titik itu ketika saya menyadari bahwa saya tidak pernah melanggar perintah apa pun atau bahkan melihat daftar itu dalam waktu yang lama.

Beberapa tahun yang lalu saya harus bekerja pada platform UNIX di mana vi adalah satu-satunya editor yang tersedia. Saya membeli buku referensi saku kecil di vi, tetapi jarang menggunakannya. Saya akhirnya membuat daftar dan mempostingnya di dinding seperti yang saya lakukan pertama kali saya menggunakan vi. Pada akhir minggu pertama, saya merasa sangat nyaman meskipun sudah lima tahun sejak saya menggunakan vi.

TMarshall
sumber
2
Saya pikir ini adalah saran yang sangat baik dan berlaku sama untuk mempelajari alat lain seperti IDE, debugger, atau bahkan sesuatu seperti Excel.
davidavr
11

Bagi saya VI adalah editor darurat yang baik, tetapi bukan sesuatu yang ingin saya gunakan jika ada alternatif lain yang tersedia. Saya menyadari ini bukan untuk semua orang, saya tidak mengatakan itu mengerikan atau apa pun, saya pribadi lebih suka UI yang bisa ditemukan.

Tetapi Anda benar-benar harus tahu VI jika Anda melakukan sesuatu yang signifikan di Linux!

Jadi pelajari saja dasar-dasarnya: i = masukkan mode esc = tinggalkan mode sisipkan: wq = simpan dan keluar: q! = Jangan simpan dan keluar x = saat tidak dalam mode sisipkan, hapus karakter. / = pencarian

Itu akan membantu Anda melalui setiap penyuntingan darurat. Tidak ada yang tidak dapat Anda lakukan dengan beberapa perintah itu (dan tentu saja navigasi). Selebihnya Anda bisa "Tack on" sesuai kebutuhan Anda.

Tetap menyediakan referensi atau buku - ketika Anda PERLU menggunakan VI, Anda mungkin tidak akan dapat menjelajahi web - tetapi halaman manual mungkin agak berguna.

Bill K.
sumber
4
the: help command adalah salah satu yang paling berguna yang dapat Anda pelajari pada awalnya - siapa yang butuh buku referensi atau web ketika itu dibuat untuk editor?
zigdon
2
Tidak diperlukan buku referensi jika Anda belajar menggunakan: bantuan. Sedangkan untuk "Anda mungkin tidak akan dapat menjelajahi web," membiasakan diri dengan lynx dan tautan browser. Dalam keadaan darurat, Anda bahkan dapat menggunakannya untuk menelusuri sistem file.
converter42
11

jangan memaksakan diri. jalan menuju penguasaan cinta adalah.

jbarciela
sumber
11

Anda harus mulai dengan vim (Vi IMproved) dan terutama GUI- gVim-nya . GUI memiliki menu dan pada Windows Anda dapat menggunakan salin, potong, dan tempel pintasan, sehingga Anda dapat segera mengganti Notepad. Dan karena menu menampilkan pintasan (perintah vim), Anda bisa belajar banyak.

Hal lain yang harus Anda lakukan sejak awal adalah mengonfigurasi vi untuk kebutuhan Anda. Misalnya, Anda dapat mengubah vim menjadi IDE Python . Dengan melakukan ini, Anda tidak akan memiliki alasan untuk menggunakan editor lain, karena vi akan menawarkan semua yang Anda butuhkan.

Cristian Ciupitu
sumber
Tergantung pada emulator terminal, menggunakan gui juga lebih cepat. :)
Arafangion
10

hapus semua aplikasi editor teks lainnya.

Maka Anda harus mempelajarinya.

Bob Dizzle
sumber
9

Cara paling sederhana untuk memaksa diri Anda mungkin hanya dengan menghapus semua editor lain dari mesin Anda. Singkirkan godaan :)

Dana
sumber
9

Setiap kali Anda melakukan tugas pengeditan yang kompleks, terus bertanya-tanya apakah ada cara yang lebih efisien untuk melakukannya. Sering kali, ketika itu adalah sesuatu yang dapat Anda gambarkan dengan istilah sederhana (seperti "swap paragraf teks" atau "hapus semuanya setelah karakter X di baris komentar"), itu adalah sesuatu yang dapat Anda lakukan hanya dengan beberapa penekanan tombol di vim.

Ada beberapa fitur utama yang sangat berguna, dan Anda akan selalu menggunakannya. Yang paling saya sukai adalah:

  • Pilihan blokir (Ctrl-V)
  • Rekaman makro (q)
  • Pengeditan virtual (: atur ve = semua)
  • Ekspresi reguler
  • Perpipaan ke program Unix eksternal
  • Pemetaan kunci
  • Pelengkapan otomatis (Cp, Cx Cp, Cx Cf)
  • Kombinasi operasi + gerakan (ini sangat kuat)

Tanyakan kepada programmer lain fitur apa yang mereka anggap paling berguna dan adopsi yang sesuai dengan otak Anda. Mencuri ide dari orang lain .vimrc( ini milik saya )

Roberto Bonvallet
sumber
8

EDIT: Saya telah membuat set flashcard di situs pengulangan spasi online flashcarddb.com , jika Anda tertarik ...

  1. Gunakan program kartu flash pengulangan berjarak seperti mnemosyne , supermemo , atau anki untuk memasukkan pembelajaran dan mempertahankan perintah baru ke dalam rutinitas harian Anda. Tidak cukup menggunakan vim sebagai editor harian Anda. Untuk menguasainya, Anda harus menyimpan kode-kode itu di kepala Anda, menunggu waktu ketika mereka merupakan solusi ideal untuk tugas yang sedang dihadapi.
  2. Pertahankan .vimrc dengan penyesuaian
  3. Tulis atau edit plugin vim
Peter Nore
sumber
8

Saya menulis panduan untuk mengedit efisien dengan Vim beberapa waktu lalu. Anda mungkin merasa terbantu.

Saya akan mundur sebentar dan bertanya pada diri sendiri, "mengapa saya ingin mempelajari editor ini? Apa yang membuat saya berpikir ini akan lebih cepat atau lebih baik daripada editor teks saya saat ini?" Kemudian pelajari fitur-fitur yang akan membuat Vi (m) sangat diperlukan bagi Anda.

Sebagai contoh, integrasi CTag Vim sangat diperlukan bagi saya. Saya bekerja dengan basis kode yang sangat, sangat besar, dan kemampuan untuk melompat ke fungsi atau definisi kelas dalam satu keystroke (terlepas dari file yang ada di dalamnya) adalah fitur yang benar-benar mematikan, yang saya punya masalah untuk bekerja tanpanya.

Gunakan file .vimrc Anda untuk membuat makro yang mengotomatiskan tugas-tugas umum.

Pemilih-editor autopilot Anda akan memilih editor yang akan menyelesaikan pekerjaan paling cepat dan dengan sedikit upaya mental. Sedikit persiapan akan memastikan bahwa editor adalah Vim. :-)

Jonathan
sumber
1
tautan tidak berfungsi lagi
eugenevd
6

Dua hal yang akan sangat meningkatkan keterampilan vi Anda:

  1. Berlatih, berlatih, berlatih
  2. Nethack
Mark Witczak
sumber
6

Saran saya: mulai dari yang kecil. Mulailah dengan menghafal satu set kecil perintah yang paling berguna. Ketika saya mulai vi, ini adalah top 10 saya:

  • (Esc) untuk kembali ke mode perintah (paling penting!)
  • a untuk menambahkan teks setelah kursor
  • A untuk menambahkan teks di akhir baris saat ini
  • x untuk menghapus 1 karakter
  • dd untuk menghapus 1 baris
  • R untuk mengganti teks (timpa)
  • kamu untuk membatalkan
  • : q! (Enter) untuk keluar tanpa menyimpan
  • : w (Enter) untuk menyimpan
  • ZZ untuk menyimpan dan keluar

Banyak pengeditan dasar dapat dilakukan hanya dengan menggunakan perintah ini. Setelah Anda merasa nyaman, sisanya tidak terlihat terlalu sulit.

BTW, saya ingin menambahkan bahwa saya dulu mengandalkan vi untuk editor teks utama saya, tetapi sekarang hanya jika saya harus. Dalam kasus saya, produktivitas lebih baik ketika saya menggunakan alat seperti Emacs atau Visual Studio (harap dicatat: "dalam kasus saya"). Cobalah lebih dari satu alat dan pilih satu yang paling membantu produktivitas Anda. Semoga berhasil!

Paulus
sumber
Perintah ZZ tidak bekerja di MacVim
innuendoreplay
5

Kedengarannya konyol, tetapi bermain game roguelike (seperti Nethack atau Angband ) adalah cara yang menyenangkan untuk merasa nyaman dengan menggunakan tombol h/ j/ k/ luntuk navigasi kursor.

bk1e
sumber
4

Tuliskan semua pintasan dan fitur yang Anda gunakan di editor Anda saat ini saat Anda menggunakannya di tempat kerja. Kemudian duduk pada hari Sabtu pagi dan menggunakan Google dan stack overflow mencari tahu bagaimana melakukan masing-masing dari mereka di vi. Mungkin yang terbaik jika Anda menggunakan selembar kertas untuk ini.

Sekarang nonaktifkan / hapus editor lain di tempat kerja sehingga Anda perlu waktu lebih lama untuk menemukan dan menginstalnya daripada melihat lembar perbandingan Anda dan melakukannya di vi - artinya Anda tidak punya pilihan.

Terakhir, terbitkan daftar pintasan crossover Anda dari editor lama ke yang baru di blog Anda.

Semoga berhasil!

Orang
sumber
4

Jangan gunakan X11 ?

$ sudu rm /usr/local/bin/emacs

Ubah shell login Anda ke vi ?

Pertama, paksa diri Anda untuk menggunakan ed , lalu vi akan tampak seperti sebuah kemewahan?

Gunakan binding kunci vi di bash ?

Hanya mulai menggunakan vi sepanjang waktu?

Sepertinya bagi saya bahwa belajar editor tidak jauh berbeda dari belajar bahasa. Perendaman bekerja paling baik.

Saya menggunakan vi untuk pengeditan yang sangat cepat atau ketika saya tidak dapat menggunakan X11 karena suatu alasan, tetapi saya tinggal di emacs . Editor yang sangat kuat patut meluangkan waktu untuk belajar.

Jon Ericson
sumber
3

Rekomendasi saya adalah membuat beberapa program sederhana dan menulisnya, mulai dari selesai, menggunakan VI.

Kemungkinannya, pada awalnya Anda akan terlalu frustrasi oleh kurva belajar untuk memaksa diri Anda menggunakannya di tempat kerja atau di lingkungan yang peka waktu.

Saya telah melakukan ini sebelumnya untuk mengenal lingkungan / editor, dan itu bekerja dengan cukup baik.

Jika Anda memiliki masalah dalam hal menulis, saya sarankan mengulang proyek yang Anda lakukan di sekolah (atau apa pun yang pernah Anda lakukan sebelumnya). Metode ini memiliki bonus tambahan yang memungkinkan Anda melihat seberapa besar Anda menjadi pengembang yang lebih baik. :)

Sunting: lupa menyebutkan bahwa Anda harus melakukan ini sepenuhnya dari konsol untuk menghindari godaan untuk menggunakan mouse!

TM.
sumber
3

Saya ingat ketika saya pertama kali mulai belajar emacs, itu setelah saya sudah sangat nyaman dengan Vim, dan saya berada di kapal yang sama atau serupa dengan Anda, di mana saya tahu cara menyelesaikan banyak hal di editor lain, jadi ketika saya mulai menggunakan emacs, selalu sangat lambat.

Namun, saya pikir apa yang harus Anda lakukan adalah hanya menyerap sedikit rasa sakit, dan selalu, selalu, SELALU memastikan bahwa Anda mencari dokumentasi untuk melakukan sesuatu yang Anda tahu dapat Anda lakukan di editor sebelumnya, seperti sebagai pindah ke akhir baris, atau memilih wilayah teks.

Ini juga membantu jika Anda memiliki vi-ahli lokal yang dapat mengajukan pertanyaan, atau jika Anda seperti perusahaan kami, Anda mempromosikan pemrograman berpasangan. Dengan begitu ketika Anda mencoba melakukan sesuatu yang seharusnya mudah, Anda bisa bertanya kepada seseorang, mereka akan menunjukkan caranya, dan jika Anda menggunakan editor secara teratur selama beberapa minggu, Anda tidak perlu bertanya lebih banyak kemudian beberapa kali sebelum menjadi sifat kedua.

Jika Anda tidak memiliki sumber daya lokal, ada banyak buku / tutorial / lembar referensi online yang dapat menjawab sebagian besar pertanyaan Anda.

Pada akhirnya, belajar Vi seperti mempelajari keterampilan lain, tidak ada peluru perak, dan Anda harus menerima bahwa, untuk sementara waktu, Anda akan menjadi kurang produktif di dalamnya daripada editor Anda saat ini. Terus katakan pada diri sendiri, "Orang lain sudah bisa belajar Vi, dan aku setidaknya sepintar mereka" (toh itu yang aku katakan pada diriku sendiri :))

ben.baru
sumber
3

Alasan utama saya untuk menggunakan viadalah ssh(atau Putty pada Windows): Ketika Anda masuk ke server Unix dari jarak jauh, makavi selalu tersedia. Dan itu bekerja dengan VT100 ketika tombol kursor atau backspace / delete tidak dipetakan.

Juga memiliki buku seperti Referensi Referensi Editor VI sangat membantu.

Aaron Digulla
sumber
3

gVIM memiliki tutorial yang sangat bagus (tautan di grup menu Start).

Saya menemukan bekerja melalui yang membantu untuk mengatasi punuk belajar awal; dan kemudian beralih Visual Studio saya ke ViEMU membantu saya mengasah kemampuan VI saya.

Juga, screencasts di http://vimcasts.org/ hebat!

David Laing
sumber
2

Anda dapat menggunakan salah satu keyboard Happy Hacker asli (tanpa tombol panah) dan letakkan mouse (nirkabel) Anda di luar jangkauan setiap kali Anda mulai mengedit.

Garth Gilmour
sumber
2

Sangat mudah untuk menuliskan daftar besar perintah / cara pintas, tetapi sulit untuk mengingat semuanya tanpa latihan.

Fokus pada satu perintah baru sekaligus. Ketika menjadi otomatis, katakan setelah menggunakannya selama satu atau dua minggu, tambahkan yang lain ke repertoar Anda.

Anda akan mengambil jalan panjang untuk mencapai hal-hal tertentu dalam jangka pendek - ini adalah peluang yang jelas untuk dipelajari cara pintas baru.

Dalam pengalaman saya, lebih mudah ketika saya mencoba untuk tidak mengambil terlalu banyak sekaligus.

Craig Hyatt
sumber
2

Saran nomor satu saya: belajar mengetik cepat, tanpa perlu melihat keyboard.

Jika Anda tidak dapat menyentuh tipe dan selalu berburu-dan-mematuk untuk titik dua atau hjkl atau:% s / foo / bar, lupakan saja. Mengetik bisa lebih cepat daripada menggunakan mouse, tetapi jika itu tidak berlaku untuk Anda, vi tidak akan berfungsi.

Tetapi menggabungkan keterampilan mengetik yang baik, ssh dan layar dan vi akan alami.

Michael Cramer
sumber
2

Hadapi kenyataan bahwa itu akan membuat hit kinerja langsung. Saat mempelajari alat baru, Anda harus dapat melakukan sesuatu yang Anda tahu bagaimana melakukannya dengan alat lain sehingga masalahnya bukan masalah Anda. Setelah menggunakan alat baru beberapa saat itu akan hilang dan Anda hanya akan fokus pada masalah yang mendasarinya.

Dengan sesuatu seperti vim (seperti yang dikatakan orang lain, vim jauh lebih unggul daripada vi) penting untuk membaca ulang dan menelusuri dokumentasi secara berkala. Antarmuka benar-benar tidak dapat ditemukan tanpa itu. Dengan setiap bacaan baru Anda akan melihat fitur dan berkata, "ah ha, itu akan memecahkan masalah ini yang saya coba cari tahu minggu lalu", dan akan menyimpannya di otak Anda. Solusi yang terhubung dengan masalah dunia nyata yang Anda miliki jauh lebih mudah untuk Anda ingat daripada pintasan acak.

Pada akhirnya Anda dapat menggunakan vim dengan subset fitur yang cukup kecil, jadi jangan kewalahan dengan semua lonceng dan peluit. Pikirkan semua fitur di Word, apakah 99% orang menggunakannya?

Matt Price
sumber
2

ESC gg=Guntuk reindent kode dan :retabuntuk mengkonversi tab ke spasi atau spasi ke tab adalah apa yang membuat saya tertarik untuk vim. Jadi sebenarnya Anda tidak perlu dipaksa untuk menggunakannya, Anda hanya harus belajar kapan itu dapat membantu Anda meningkatkan kecepatan Anda.

Lewati vimtutor.

Mulai gunakan vim untuk mengedit sederhana, seperti file konfigurasi atau html. Pelajari perintah saat Anda membutuhkannya.

Cari google untuk .vimrc baik yang digunakan oleh seseorang yang menggunakan toolchain yang menyerupai milikmu. Aktifkan penyorotan sintaksis. Temukan skema warna yang bagus.

Pelajari makro karena Vim adalah yang terbaik untuk tugas otomatis dan penyisipan cuplikan, seperti memformat beberapa kata menjadi tag XML yang kompleks atau mengonversi CSV ke tabel HTML.

Eduardo Marinho
sumber
2

Anda mungkin ingin memulai dengan Cream. Cream menggambarkan dirinya sebagai "konfigurasi modern" dari vim. Pada dasarnya, ini adalah versi khusus vim yang terlihat dan terasa seperti editor teks lainnya untuk semua tujuan praktis. Tetapi aktifkan "mode ahli" dan Anda memiliki semua kekuatan dan perilaku vim.

Jadi Anda dapat mulai menggunakan Cream sebagai editor teks biasa dan kemudian bereksperimen dengan "mode ahli" hingga Anda cukup nyaman untuk sepenuhnya beralih ke vim.

sids
sumber
2

Instal gVimdi semua platform yang Anda gunakan.

Kemudian jalankan melalui vimtutor ( :help vimtutoratau vimtutordi baris perintah).

Tonton kuliah berikut dan ikuti sarannya: 7 Kebiasaan Untuk Penyuntingan Teks yang Efektif 2.0

Saya katakan Anda pasti ingin mulai menggunakannya untuk semua pengeditan Anda. Jika Anda takut kehilangan produktivitas maka luangkan waktu akhir pekan untuk mempraktikkannya (saya pernah melakukan ini untuk beralih ke dvorak dari qwerty dan produktivitas saya cukup tinggi pada hari Senin dan berhasil bertahan setelahnya).

Ini sepadan dengan usaha dan Anda tidak akan melihat ke belakang!

pengguna13060
sumber
1

Secara pribadi, apa yang harus saya lakukan adalah memastikan bahwa saya dapat menggunakan Vim key-binding (atau setidaknya, cukup dekat) di beberapa aplikasi. Harus sepenuhnya mengubah cara saya mengedit teks setiap kali saya mengubah editor membuatnya terlalu sulit untuk membuat gaya pengeditan Vim berkomitmen untuk memori otot.

Dalam kasus saya, Viemu + vimperator melakukan trik.

tomasr
sumber
Saya menggunakan Komodo Edit, yang memiliki built-in vi-binding, jadi beralih ke itu dan menginstal vimperator sangat membantu. Sekarang jika saya hanya bisa mengubah rtorrent ...
Xiong Chiamiov