Apa manfaat dari belajar Vim? [Tutup]

467

Sebagai seorang programmer saya menghabiskan banyak waktu di keyboard dan saya telah melakukannya selama 12 tahun terakhir, lebih atau kurang. Jika ada sesuatu yang saya tidak pernah terbiasa selama ini, itu adalah gangguan mikro konstan yang mengganggu dan hampir tidak sadar yang saya alami saat coding, karena beberapa tugas mengedit kode yang paling umum. Hal-hal seperti salin & tempel sederhana dari baris yang berbeda (atau bahkan baris yang sama), atau memindahkan 1 atau 2 baris ke atas atau ke bawah dari posisi saat ini memerlukan terlalu banyak mengetik atau melibatkan penggunaan tombol panah ... dan ia mendapat lebih buruk ketika saya ingin bergerak lebih jauh - saya akhirnya menggunakan mouse. Sekarang bayangkan skenario yang sama tetapi di laptop.

Saya selalu mempertimbangkan untuk belajar VIM tetapi jumlah waktu yang dibutuhkan untuk menguasainya selalu membuat saya ingin mundur.

Saya ingin mendengar dari orang-orang yang telah mempelajarinya dan jika akhirnya menjadi salah satu dari hal-hal itu Anda tidak dapat hidup tanpanya.

Di tempat kerja, saya menggunakan VS2008, C # dan R #, yang bersama-sama membuat kode pengeditan jauh lebih cepat dan lebih mudah dari sebelumnya, tetapi meskipun begitu saya pikir saya bisa menikmati tidak harus menggunakan mouse sama sekali.

Dan bahkan tidak tombol panah.

Perangkap
sumber
7
Tidak harus beralih antara keyboard dan mouse pasti bagus. Di Mac, saya menggunakan tombol navigasi emacs (ctrl-A misalnya) bahkan dalam editor GUI seperti BBEdit atau Xcode, hanya untuk menghindari gerakan ekstra dengan mouse.
Craig S
236
Ini sepadan dengan usaha. Learn vim;)
Kyle Walsh
20
Anda dapat mempelajari vim dasar (lupakan vi) dalam beberapa menit, cukup ketik vimtutor di terminal dan Anda akan diatur dengan dasar - apa yang Anda pelajari dalam 20 tahun ke depan terserah Anda. Saya hanya ingin tahu bagaimana VS2008, C # & R # membantu Anda dengan masalah-masalah yang terkait dengan membuang-buang hidup Anda antara keyboard dan tombol panah / mouse?
stefanB
43
Salah satu investasi terbaik yang pernah saya lakukan.
Johnsyweb
10
Saya membuat game ini untuk membantu keponakan saya yang berusia tujuh tahun belajar bergerak dengan cepat di Vim: kikuchiyo.org Versi Beta memungkinkan Anda untuk menyerang musuh dengan lightsaber, 'i' untuk serangan kiri, dan 'a', untuk kanan: PI belajar Vim untuk alasan yang sama Anda lakukan. Saya menemukan bergerak di sekitar bagian yang paling sulit untuk terbiasa. Semoga permainan ini membantu mempercepat Anda, jika Anda butuh bantuan :) Semoga Sukses! :)
kikuchiyo

Jawaban:

249

Saya telah menggunakan vi dan vim juga selama sekitar 20 tahun, dan saya masih belajar hal-hal baru.

Situs Best of Vim Tips dari David Rayner adalah daftar yang sangat baik, meskipun mungkin lebih bermanfaat setelah Anda terbiasa dengan vim.

Saya juga ingin menyebutkan situs ViEmu yang memiliki beberapa info hebat tentang tips vi / vim dan khususnya artikel Mengapa, oh MENGAPA, apakah orang-orang gila itu menggunakan vi? ( versi yang diarsipkan )

Andrew Hendrie
sumber
8
Ya, saya juga selalu belajar hal-hal baru di dalamnya. Masih editor favorit saya juga.
Craig S
20
Saya ingin tahu apakah itu hal yang baik atau buruk. Jika Anda terus-menerus mempelajari hal-hal baru, kurva belajarnya BENAR-BENAR curam, fitur-fiturnya BENAR-BENAR tersembunyi dan tidak ada rasa penguasaan. Bagaimanapun, jika Anda menginginkan RISC, Anda menggunakan vi bukan vim, bukan?
bastibe
7
@Paperflyer: Saya memiliki pemikiran yang sama. Jika Anda masih belum menguasainya setelah 20 tahun, itu sakit kepala saya tidak yakin saya mau
Dinah
7
Bagaimana? Ini berarti walaupun memiliki banyak fitur, Anda dapat terus belajar, tetapi Anda tidak harus mempelajarinya semua agar lebih produktif.
Arda Xi
5
"Kenapa, oh MENGAPA, orang bodoh itu menggunakan vi ?." - Tautan yang bagus, terutama untuk pertanyaan
184

Bisakah saya hidup tanpanya? Dengan mudah.

Apakah itu berguna? Iya.

Alasan untuk Belajar

  • vi dijamin ada di semua sistem Unix dan ada di sebagian besar Linux juga. Cakupan luas semacam itu menjadikan pembelajaran itu sepadan.

  • Jauh lebih cepat menggunakan vi untuk sudoedit:

    $ sudo vi

  • Selain itu, GMail menggunakan perintah vi-ish untuk memilih & memindahkan email!

Anda tidak harus menjadi master.

Baru belajar

Dasar:

  • Bagaimana beralih dari mode perintah ke mode memasukkan i
  • Cara beralih dari mode insert ke mode perintah Esc
  • Cara menavigasi baris dalam mode perintah k
  • Cara menavigasi garis dalam mode perintah j
  • Cara menavigasi meninggalkan karakter dalam mode perintah h
  • Bagaimana cara menavigasi karakter l
  • Bagaimana cara menyimpan file :wEnter(tulis)
  • Cara keluar tanpa menyimpan (dalam mode perintah) :q!Enter
  • Cara Membatalkan u
  • Cara Mengulang Ctrl+r
  • Anda dapat menggabungkan tulisan dan berhenti (dalam mode perintah): :wqEnter

Dari sana sisanya hanya akan membuat Anda lebih cepat.

Trampas Kirk
sumber
Saya selalu menggunakan "vi itu mudah; Anda menggunakan tombol ell untuk menggerakkan kursor ke kanan" sebagai cara yang lucu (saya harap) untuk memperkenalkannya. Tapi saya sudah lama menggunakannya dan tidak akan hilang. Tidak dapat mengklaim 25+ tahun untuk pasangan lain, namun, jadi tidak ada jawaban baru dari saya.
Jonathan Leffler
16
Beginilah cara saya mempelajarinya. Mulailah dengan minimum dan bangun sedikit di atasnya setiap hari. Luangkan waktu untuk mempelajari cara yang sedikit lebih baik untuk mencapai suatu tugas. Lihat "7 kebiasaan mengedit teks sangat" untuk inspirasi.
Ben
Gmail, pintasan keyboard pencarian eksperimental Google, pintasan keyboard Slashdot, man, dan lebih sedikit semua menggunakan binding seperti vim. Itu mengejutkan saya menemukan saya secara tidak sengaja mempelajari ini tanpa mengetahui vim! Bahkan Firefox menggunakan / untuk pencarian tambahan (dengan semantik yang sedikit berbeda dari Ctrl + F).
Adam Rosenfield
29
[:] [X] [Enter] sama dengan [:] [W] [Q] [Enter]
Vitalii Fedorenko
20
[Z] [Z] sama dengan [:] [X] [Enter]
Kos
138

Berlari melalui vimtutor hanya membutuhkan waktu 30 menit, yang cukup untuk mengenal vim. Layak setiap detiknya.

Blorgbeard
sumber
Jika Anda mengetahui tautan penjelasan yang lebih baik, silakan ubah tautan saya :)
Blorgbeard keluar
43
vimtutor persis seperti itu, sebuah tutorial. Saya melakukannya setiap hari selama sekitar 10 hari. Pertama kali saya butuh sekitar 30 menit, hari berikutnya 20, lalu 15. Pada akhir minggu, saya memiliki sebagian besar perintahnya tercetak dalam pikiran saya. Saya pikir daripada mencoba untuk menghafal, pengulangan adalah cara terbaik untuk mendekati Vim. 15 menit setiap hari selama seminggu sepertinya harga yang sangat kecil.
Michael Ekoka
28
Bagaimana kalau kita selesai dengan VIMTUTOR? Apa langkah selanjutnya untuk mempelajari lebih lanjut?
privatehuff
3
@privatehuff: Baca dan terapkan Tujuh kebiasaan mengedit teks yang efektif .
Frank Kusters
1
Wow! ini seperti salah satu item tersembunyi dalam game. Itu ada di sana dalam sistem saya dan saya tidak tahu itu ada. Salah satu tutorial vim yang paling berguna dan cepat. Menggunakan vim untuk sementara waktu saya masih belajar beberapa trik dasar yang tidak saya ketahui. direkomendasikan kepada semua orang. Juga sedikit saran: jika Anda menggunakan vim pada laptop yang memiliki panel sentuh dan mendukung gerakan, nonaktifkan sebelum menggunakan vim karena jika disentuh secara tidak sengaja dapat memindahkan kursor ke tempat-tempat yang tak terduga kadang-kadang menghabiskan seluruh hasil edit yang baik.
Barracuda
69

Jika Anda seorang programmer yang mengedit banyak teks, maka penting untuk mempelajari Editor Teks Serius. Editor Teks Seri mana yang Anda pelajari tidak terlalu penting dan sebagian besar bergantung pada jenis lingkungan yang Anda harapkan akan diedit.

Alasannya adalah bahwa editor ini sangat dioptimalkan untuk melakukan jenis tugas yang akan Anda lakukan banyak. Misalnya, pertimbangkan untuk menambahkan sedikit teks yang sama ke akhir setiap baris. Ini sepele dalam Editor Teks Serius, tetapi sebaliknya tidak praktis.

Biasanya fitur pembunuh vim dipertimbangkan: A) yang tersedia di hampir setiap Unix yang pernah Anda temui dan B) jari-jari Anda sangat jarang harus meninggalkan baris beranda, yang berarti Anda akan dapat mengedit teks dengan sangat, sangat cepat . Ini juga biasanya sangat cepat dan ringan bahkan saat mengedit file besar.

Ada banyak alternatif. Emacs adalah contoh paling umum, tentu saja, dan ini jauh lebih dari sekadar editor teks tingkat lanjut jika Anda benar-benar menggali ke dalamnya. Saya pribadi pengguna TextMate yang sangat bahagia sekarang setelah bertahun-tahun menggunakan vim / gvim.

Trik untuk beralih ke semua ini adalah dengan memaksa diri Anda untuk menggunakannya seperti yang dimaksudkan. Misalnya, dalam vim, jika Anda melakukan secara manual setiap langkah dalam proses multi-langkah atau jika Anda menggunakan tombol panah atau mouse maka mungkin ada cara yang lebih baik untuk melakukannya. Hentikan apa yang Anda lakukan dan cari.

Jika Anda tidak melakukan apa pun, pelajari kontrol navigasi dasar untuk vim dan Emacs karena mereka muncul di semua tempat. Misalnya, Anda dapat menggunakan kontrol gaya Emacs di bidang input teks apa pun di Mac OS, di sebagian besar shell Unix, di Eclipse, dll. Anda dapat menggunakan kontrol gaya vim dalam perintah kurang (1), pada Slashdot , pada gmail , dll.

Selamat bersenang-senang!

Ryan Bright
sumber
7
Ini ada benarnya di mana banyak orang mengabaikan. Hampir setiap tugas yang berulang memiliki jalan pintas. Pengembang menyukai jalan pintas. Seperti yang dikatakan rbright, jika Anda menemukan diri Anda melakukan langkah berulang kali, berhenti dan lihat apakah seseorang telah mendokumentasikan jalan pintas.
AvatarKava
A) adalah salah satu alasan terbesar bagi saya untuk menggunakan VIM - Saya awalnya adalah seorang pria emacs, tetapi tidak semua sistem memilikinya & kadang-kadang lambat melalui jaringan atau pada server yang sibuk. VIM ada di mana-mana, kecil, dan cepat.
jpeacock
3
Editor saya terus-menerus membuat lelucon buruk. Saya harus beralih.
Greg Graham
Anda menanyai saya, "Jika Anda seorang programmer yang mengedit banyak teks, maka penting untuk mempelajari Editor Teks Serius." Bagian terburuknya adalah bahwa tampaknya mustahil untuk mempelajari dua (apalagi lebih) dalam dan luar, hampir secara definisi. Anda sedang mempelajari kasus tepi di beberapa titik, dan pengetahuan tentang cara menyelesaikan Tugas X dalam satu biasanya tidak diterjemahkan. Dan selalu ada hal-hal yang saya lakukan di editor "pinggiran" - Saya masih menggunakan JEdit untuk JTidy, Code2HTML, untuk mencari beberapa file, misalnya. Utama Anda adalah lemparan dadu, dan tidak ada peluru perak, tapi ya, benar-benar belajar satu dan bermain dengan banyak. ; ^)
ruffin
1
@ruffin Memang benar, Anda tidak dapat benar-benar menguasai dua editor yang berbeda secara bersamaan: jika Anda menguasai satu editor, Anda akan menggunakan banyak perintahnya secara tidak sadar , dan itu artinya Anda kemungkinan besar akan mencoba menggunakan perintah yang sama saat Anda menggunakan editor lain. Berapa kali saya mengutuk browser saya karena tidak mengizinkan saya untuk memperbaiki lekukan dengan sederhana <esc> >i{... Ini benar-benar sama dengan mengetik mengetik: Anda belajar satu tata letak keyboard, dan Anda tetap menggunakannya karena Anda tidak akan pernah bisa berhenti jari-jari Anda mengetik tombol yang salah pada tata letak yang berbeda.
cmaster - mengembalikan monica
36

Ini pasti sepadan dengan usaha.

Ada satu alasan yang jelas bahwa siapa pun yang menggunakan Vi(m)akan memberi tahu Anda, dan dua alasan lain yang sepertinya tidak pernah disebutkan orang.

Inilah yang jelas:

  1. vi itu sekaligus ada di mana-mana dan sangat kuat, dan dengan mempelajarinya sekali, Anda memperoleh kemampuan untuk menjalankan kekuatan itu di hampir semua komputer yang memiliki keyboard.

Dan ini adalah alasan yang kurang diketahui untuk dipelajari Vim:

  1. Ini bukan setengah dari upaya yang Anda pikir akan terjadi. Jalankan melalui tutor Vim sekali ( vimtutordi shell, atau di Windows jalankan dari folder Vim di Start Menu), dan Anda sudah akan berada di jalan menuju kompetensi, dan semuanya menurun dari sana. Saya naik ke tingkat di mana saya bisa menggunakannya Vimdi tempat kerja tanpa mengurangi produktivitas yang terlihat dalam waktu makan siang kurang dari satu minggu.

  2. Itu menyenangkan ! Mengedit teks seperti permainan bagi saya sekarang. Saya secara aktif menikmatinya - yang cukup konyol, ketika Anda memikirkannya.

Ada juga dua alasan bagus untuk tidak belajar Vim:

  1. Ini membuat ketagihan, dan Anda akan mendapati diri Anda berharap dapat menggunakan Vimperintah di semua komputasi Anda, dan mengutuk kapan pun Anda tidak bisa. Untungnya, setidaknya untuk beberapa situasi, ada cara untuk mengatasi ini .

  2. Sekali lagi, ini membuat ketagihan, dan meskipun Anda tidak akan kehilangan produktivitas dari penggunaan sebenarnya Vim, Anda akan menghabiskan berjam-jam mencari tips yang baik untuk membuat Vimpengalaman Anda lebih baik, dan membaca tag Vim di Stack Overflow.

Rich
sumber
12
Haha nomor 2 dengan alasan "tidak" untuk belajar VIM begitu benar. Sepanjang waktu saya menyimpan pengeditan teks, saya habiskan membaca tentang pengeditan teks. Konyol.
Karl Floersch
Ya, saya berharap bisa bermain stardew valley menggunakan hjkl ...
xis
32

Ini pasti layak dipelajari baik vim atau emacs. Anda juga perlu belajar mengetik. Dalam kedua kasus, alasannya sama: pemikiran Anda tidak lagi terganggu oleh proses mekanis memasukkan kode Anda ke layar .

Seperti cara memulainya, selami dan mulai gunakan vim untuk semuanya.

PS Debat emacs-vs-vi tidak ada habisnya. Saya telah menggunakan emacs selama 26 tahun. Jika saya mulai lagi hari ini saya akan belajar vim karena (a) itu menjadi lebih baik dan (b) ada banyak tombol pengubah yang lebih sedikit (Ctl-Alt-V, siapa pun) dan pengguna vim tampaknya mendapatkan cedera pengetikan yang jauh lebih sedikit.

Norman Ramsey
sumber
RSI adalah satu-satunya bahaya pekerjaan bagi pengembang. Saya tidak pernah berpikir seperti itu tetapi saya yakin ini adalah poin yang sangat bagus. Jauh lebih sulit untuk mengetik akor dari sudut pandang otot. Saya tahu ada alasan pembunuh untuk menggunakan vi!
DigitalRoss
1
Saya telah menggunakan keduanya, saya "dibaptis" dengan vim, dan belajar emacs beberapa bulan yang lalu. Saya lebih suka vim karena tugas-tugas dibubarkan - Anda mengedit atau menyisipkan, tidak melakukan keduanya. Perbedaan ini membantu saya berpikir tentang apa yang saya lakukan, serta membuat perintah "normal" 1-2 pukulan tombol, bukan 2-4. Saya hanya berharap vim didasarkan pada Lisp (dan tidak, mode viper gagal untuk mendukung semua fitur standar vim saya. Ya, saya dapat memutar sendiri, tetapi kemudian saya akan kehilangan mereka setiap kali saya menyentuh komputer / sistem baru)
Wayne Werner
1
@WayneWerner Saya benar-benar ketinggalan zaman, tetapi Anda dapat mengontrol versi semua bagian Anda sehingga Anda dapat menyinkronkannya melalui komputer.
YuriAlbuquerque
@ YuriAlbuquerque, saya sebenarnya mulai berpikir sangat serius tentang membuat skrip pengaturan lingkungan otomatis, menjaga semua dotfile saya di github atau sesuatu.
Wayne Werner
17

Anda bisa mendapatkan fungsi keluar yang baik dari vim dengan mempelajari arti dari hanya 16 kunci: ijkdbw9:q!%s/nNEsc. Anda bisa melakukan tulang telanjang hanya dengan i:wqEsc.

Dua tombol pertama yang perlu Anda ketahui adalah: Escmembawa Anda ke mode perintah (mode yang Anda mulai), dan imembawa Anda ke mode memasukkan (pengetikan normal).


Untuk menghemat Anda perlu

  1. keluar dari mode pengetikan ( Esc)
  2. ketik titik dua :
  3. ketik huruf kecil wkemudianEnter

Untuk menyimpan dan berhenti, Anda harus melakukannya

  1. keluar dari mode pengetikan ( Esc)
  2. ketik titik dua :
  3. ketik huruf kecil wqkemudianEnter

Untuk tidak menyimpan dan memaksa berhenti, Anda harus melakukannya

  1. keluar dari mode pengetikan ( Esc)
  2. ketik titik dua :
  3. ketik huruf kecil q!kemudianEnter

Untuk mempelajari lebih lanjut, Anda dapat menjalankan vimtutordi baris perintah. Ini pelajaran menengah dan terstruktur dengan baik.

Melampaui idan Esc: Anda dapat meniru atau melampaui beberapa fungsionalitas MS Word hanya dengan jkwbd3:%s/nN.

  1. bmembawamu kembali kata ( Ctrl+ )
  2. wmembawa Anda meneruskan kata ( Ctrl+ )
  3. 9w membawa Anda maju sembilan kata
  4. dbmenghapus kata sebelumnya ( Ctrl+ Backspace)
  5. d3b menghapus tiga kata sebelumnya
  6. 9j bergerak turun 9 baris
  7. / ornithopter Entermembawa Anda ke contoh berikutnya dari kata "ornithopter", kemudian ndan Nke kejadian "ornithopter" berikutnya dan sebelumnya.
  8. :%s/confounded/dangfangled/ Entermengganti setiap "bingung" dengan "dangfangled" (seperti find and replace alldalam MS Word)

Semua itu harus dijalankan dalam mode "command" ( Esc), bukan mode insert ( i).

isomorfisma
sumber
16

Saya baru-baru ini beralih ke VIM, dan saya pikir itu sepadan. Jika Anda perlu "menyelesaikan sesuatu", Anda selalu dapat tetap dalam mode insert, di mana vim (kebanyakan) seperti editor teks biasa.

Saya perhatikan bahwa hal-hal yang tidak biasa mengganggu saya, seperti meraih kunci panah, sekarang terasa salah dan terlalu banyak usaha. Ini jelas mengurangi gerakan tangan saya dan penggunaan mouse, yang bagus untuk ergonomi dan produktivitas

Gabe Moothart
sumber
12

Itu tergantung apa yang ingin Anda lakukan dengan VIM. Tidak masuk akal untuk mempelajarinya hanya karena banyak orang tidak dapat hidup tanpanya.

Ketika saya banyak bekerja di lingkungan UNIX, saya tidak bisa hidup tanpanya. Bahkan ketika VIM tidak diinstal pada mesin UNIX, saya setidaknya bisa menggunakan vi. Anda selalu bisa mengandalkannya - bahkan jika mesin itu bukan milik Anda (itu dari pelanggan).

Sekarang saya memprogram dalam C # dan sebagian besar bekerja pada lingkungan windows. Saya telah menginstal VIM di PC saya ... dan saya tidak membutuhkannya.

Evaluasi apakah Anda benar-benar membutuhkan VIM dan jika itu mendukung Anda dalam "aliran kerja" Anda. Cobalah. Main dengannya. Jika Anda pikir Anda membutuhkannya, patuhi itu ... kurva belajarnya sangat curam.

Theo Lenndorff
sumber
Ada ekstensi studio visual untuk pengguna VIM, lihat di visualstudiogallery.msdn.microsoft.com/…
yoel halb
10

Saya belajar vi karena saya harus.

Guru saya yang gila memaksa kami untuk belajar memprogram dalam C menggunakan terminal ke sistem AIX.

Itu benar-benar menyakitkan, tetapi sepadan.

Hari ini, saya hanya menggunakan vi untuk pengeditan cepat atau program kecil.

Ketika saya harus pergi untuk sebuah proyek, saya lebih suka menggunakan dan IDE. Dalam kasus saya, ide IntelliJ sangat bagus dalam tugas itu, karena saya bisa kode selama berjam-jam tanpa meraih mouse.

Saya tidak tahu berapa banyak pintasan yang dimiliki VS2008, tetapi jika pintunya dapat ditemukan seperti Eclipse, saya pikir Anda dalam kesulitan, lanjutkan vi.

Jika Anda TIDAK mengedit kode di luar IDE dan IDE Anda memiliki pintasan yang baik, Anda lebih baik mempelajarinya, dan kemudian, tetaplah belajar vi.

:)

OscarRyz
sumber
Dia meminta manfaat VIM bukan pendapat.
Blaze349
@ Blaze349 tidak, dia bertanya untuk mendengar tentang orang-orang bagaimana mempelajarinya (lihat posting asli di sini) yang persis seperti yang saya jawab. Pertanyaan ini sudah hampir 8 tahun dan telah melalui beberapa ulasan selama bertahun-tahun, jawaban saya cocok dengan yang asli. Pertimbangkan ini saat berkomentar.
OscarRyz
9

Saya telah menggunakan vi / vim selama 25+ tahun. Jika Anda sudah mengetahui beberapa editor baris perintah, maka mungkin Anda tidak perlu belajar vi / vim. Tetapi jika Anda tidak mengenal editor baris perintah lainnya dengan baik, ada baiknya mempelajarinya. Sangat mudah untuk menjadi produktif dalam vi / vim dengan sedikit usaha.

Craig S
sumber
6

Saya menggunakan VIM secara eksklusif sekarang.

Saya dulu menggunakan Vim untuk mengedit dan VS Editor untuk debugging. Ini mungkin tampak agak gila, tetapi saya menemukan paradigma Vi (makro, pengeditan berbasis kunci rumah, dll.) Merupakan pendorong bagi produktivitas saya, sehingga pengeditan dalam VS sangat menarik.

Berkat Viemu , saya bahkan tidak perlu melakukan pergantian lagi. Ini bukan solusi yang sempurna (penyelesaian kode kadang-kadang tidak seanggun di vim asli dan rekaman makro tidak sempurna), tetapi jauh lebih baik daripada beralih bolak-balik terus-menerus.

Kurva pembelajaran untuk Vim mungkin berlebihan. Saya pikir begitu Anda masuk ke dalamnya, itu cukup intuitif.

RedBlueThing
sumber
5

Pekerjaan saya memaksa saya untuk mengambil vim dan dengan cepat menjadi kebiasaan. Sekarang keluhan saya adalah tentang IDE yang tidak memiliki emulasi atau plugin vim. Saya perhatikan bahwa kunci esc telah menjadi musuh saya di luar vim.

Saya memang menemukan beberapa emulator untuk vi dalam Visual Studio:

http://code.google.com/p/vim-visual-studio/

Courtland
sumber
4

Pengetahuan vi (m) yang baik akan menghemat waktu Anda untuk melakukan pengeditan darurat file konfigurasi pada server dengan seige. Itu dapat bertahan pada koneksi ssh laggy.

Selain hal-hal admin, metode input vim akan menjadi pertahanan terbaik Anda melawan carpal tunnel jika Anda menggunakannya secara efektif dengan keyboard ergonomis.

Cara terbaik untuk melihat titik vim adalah memulai proyek kasual di rumah, cabut mouse Anda dan rekatkan pada tombol panah Anda.

Dan baca bantuannya

michael
sumber
4
Saya juga menemukan Vi masukan model yang besar untuk membela diri dari sindrom carpal tunnel ...
CMS
tombol panah? coba di .vimrc Anda: map <up> <nop> peta <down> <nop> peta <left> <nop> peta <right> <nop> imap <up> <nop> imap <down> <nop> imap < kiri> <nop> imap <right> <nop>
sjas
1
Saya hanya menunjukkan bahwa ada nanoyang jauh lebih mudah digunakan daripada vim, dan hampir tersebar luas.
MightyPork
4

Dua keuntungan vi / vim:

  • ini sangat ringan

  • itu diinstal pada hampir setiap sistem * NIX

Colin
sumber
8
mengapa Anda memasukkan * bukannya U?
Kamran Bigdely
4
@kami: sedikit terlambat, tapi ini dia: en.wikipedia.org/wiki/Unix-like
orlp
Apakah Vim benar-benar "sangat ringan" dibandingkan dengan kebanyakan editor teks lainnya?
Ben
4

Saya memelihara proyek linux yang sangat besar di komputer jarak jauh. Tidak ada pilihan untuk menggunakan Eclipse atau IDE berbasis GTK serupa. Saya sudah bekerja di sana selama 3 tahun. Dan saya menetapkan vim saya hanya untuk proyek ini. Dan masih mengutak-atik.

Sekarang saya dapat melakukan apa saja dari Vim: kontrol sumber, sql, debug, kompilasi, browsing - browsing sangat cepat melalui kode sumber 1Gb.

Visual Studio atau Eclipse tidak bisa menangani semua ini. Dan jika saya punya pilihan saya tidak akan mengubah Vim ke editor atau IDE lain.

Mykola Golubyev
sumber
4

Saya belajar Vim. Itu tidak terlalu banyak usaha. Sekarang saya benar-benar mencintai ci "ci (cw V: s / dari / ke / g

thomasrutter
sumber
3

Saya akan mengatakan vim pasti layak dipelajari. Saya mengambilnya musim panas lalu, dan sekarang editor pilihan saya untuk hampir semua (java adalah peregangan, tetapi bisa dilakukan ketika saya tidak memerlukan dukungan analisis yang luas). Seperti yang sudah ditegaskan oleh semua orang, ini adalah alat yang sangat efisien.

Untuk apa nilainya, saya hanya belajar sebagian kecil dari fitur vim (yang memakan waktu satu atau dua hari) dari tutorial grafis , dan beberapa peluang dan berakhir dari sini (baca lama), dan fungsi pencarian dan penggantian, dan saya terpikat. Saya sudah belajar banyak sejak itu, tetapi pada waktu luang saya. Saya akan mengatakan kurva belajar mendatar pada titik ini, tetapi kemudian, saya menggunakannya cukup berat dan dikelilingi oleh orang lain yang juga.

Ellery Newcomer
sumber
3

Saya dalam situasi yang sama dengan Anda, dan sebagai pemula untuk Vim saya awalnya merasa sedikit menakutkan - kurva belajar tampaknya curam. Dari apa yang saya pelajari hanya dalam beberapa jam saya sudah merasa seperti saya tidak akan bisa hidup tanpanya.

Berikut adalah sebuah beberapa link yang saya temukan untuk berguna Screencasts Vim untuk menunjukkan apa itu mampu.

Sedikit nasihat bagus yang diberikan oleh Bram Moolenaar (diktator Vim yang baik hati) dalam tautan terakhir itu adalah bahwa akan tidak efisien untuk mencoba mempelajari setiap perintah dan fungsi, hanya mencari tahu apa yang sedang Anda lakukan yang tidak bekerja dengan sangat baik, cari cara untuk membuatnya lebih efisien dan kemudian biasakan.

Andy
sumber
3

Ya, pasti luangkan waktu untuk belajar setidaknya sedikit 'vi' dan 'vim'. Bepergian dengan sangat baik.

Anda tidak akan pernah terhenti ketika Anda dihadapkan dengan sistem pelanggan Unix / Linux / Mac yang Anda tidak memiliki kemampuan instalasinya. Bahkan di Windows (jika Anda memang memiliki kemampuan menginstal) 'Vim' gratis dan mudah dipasang. (Berbeda dengan menginvestasikan kurva belajar Anda murni pada sesuatu seperti UltraEdit, yang meskipun editor yang hebat mungkin tidak tersedia untuk Anda sepanjang waktu ...).

Belajar vi dapat mengatur Anda untuk mempelajari alat lain seperti 'sed', dan regex secara umum: hal-hal yang umumnya dapat ditransfer.

Plus jika Anda ingin menjadi geek yang tepat, Anda hanya perlu tahu 'vi / m' atau Anda akan terlihat seperti seorang pemalsu ;-)

monojohnny
sumber
2

Saya pikir pasti sepadan dengan waktu dan upaya untuk belajar vim. Bagi saya, itu membuat mengetik dan menavigasi di sekitar teks sangat efisien, sulit untuk membayangkan kembali ke emacs atau ctrl / shift / alt / kombinasi tombol meta.

Jangan terintimidasi oleh semua fitur mewah vim. Setelah Anda cukup menggunakannya, Anda akan mengetahui perintah mana yang paling sering Anda gunakan, dan Anda akan mencari tahu hal-hal apa yang bisa Anda lupakan.

Andy White
sumber
2

Di mana-mana Vim yang luar biasa, dan bahkan di mana-mana yang lebih menakjubkan dari Vi-klon pada sistem Unix saja sudah cukup untuk membuatnya layak dipelajari.

Selain itu, seluruh pemikiran Vi-style adalah sesuatu yang saya pikir telah membuat saya sedikit lebih produktif. Untuk seseorang yang tidak terbiasa dengan mode seperti mode perintah dan mode menyisipkan, tampaknya agak berlebihan harus masuk ke mode hanya untuk memasukkan teks. Tetapi, ketika seseorang telah menggunakan Vim selama beberapa bulan, dan telah belajar beberapa tips dan trik, Vim tampaknya menjadi aset yang tampaknya sepadan.

Tentu saja, kerumunan Emacs mengatakan hal yang sama mengenai pemikiran gaya Emacs, tetapi saya menyerah untuk belajar Emacs karena Vim lebih sederhana dan melakukan pekerjaan untuk saya.

James Mishra
sumber
2

Saya belajar menyukai vi setelah menonton seseorang yang sangat terampil dengan itu menavigasi berkeliling untuk mengedit dengan klip cepat gila-gilaan. Anda benar-benar dapat kode dengan cepat dengannya. Alasan lain yang saya suka adalah bahwa kadang-kadang saya menemukan bahwa mousing di dalam IDE benar-benar melukai tangan saya setelah beberapa saat dan vi memberikan perubahan yang bagus. Seperti yang disebutkan orang lain, ini juga hampir selalu tersedia pada sistem unix dan bekerja dengan baik bahkan melalui koneksi yang buruk.

Satu hal yang belum saya lihat disebutkan adalah bahwa mengetahui vi memiliki manfaat tambahan dari "geek cred" di beberapa kalangan. Saya dapat memikirkan setidaknya beberapa orang yang tertawa ketika melihat seorang programmer baru menjalankan nedit untuk membuat beberapa perubahan pada sebuah file.

Dana Robinson
sumber
2

Jangan takut dengan jumlah perintah, saya belum pernah bertemu siapa pun yang menggunakan lebih dari beberapa lusin. Saya merasa sangat diperlukan, karena ketika saya berpikir tentang kode, saya berpikir tentang teks, pindah ke memikirkan tentang tikus hanya membuat saya kacau. Trik besar, saya pikir, adalah mempelajarinya sedikit demi sedikit, dan jangan ragu untuk bermain-main - fitur undo sangat bagus untuk mengeksplorasi perilakunya.

Juga, jika Anda terlibat secara mendalam, vim dapat dituliskan. Kemungkinannya tidak terbatas.

(Ya, semua ini berlaku untuk emacs juga ...)

Kim Reece
sumber
2

Saya senang di dunia textpad dan ecplise saya sampai saya harus mulai bekerja dengan server yang berjalan di linux. Diperlukan skrip jarak jauh dan pengaturan file konfigurasi!

Awalnya sulit, tetapi sekarang saya dapat dengan mudah mengatur dan menyetel server saya.

Cesar
sumber
2

Anda mungkin ingin mempelajari vim karena Anda mungkin tidak senang dengan editor yang sudah Anda gunakan.

Anda mungkin ingin belajar vim karena banyak orang mengatakan itu keren. Lihat saja berapa banyak jawaban Anda untuk pertanyaan ini.

Saya akan memberikan alasan tambahan untuk belajar vim. Ini memiliki reputasi untuk kualitas dan kelengkapan dokumennya. Jadi, Anda akan menemukan sebagian besar jawaban untuk pertanyaan Anda di sistem bantuannya segera setelah Anda berhasil menempelkan kata kunci yang tepat dalam permintaan bantuan Anda.

Anonim
sumber
2

Untuk mempelajari vi (m) dengan cepat, orang harus terlebih dahulu memahami keseluruhan desain. Vim memiliki seperangkat perintah pergerakan kursor yang hebat, periksa beberapa (X adalah karakter, # a digit):

jk masukkan panah 0 $ wB b ctrolD crtolU ctrolE ctrolY HML fX FX tX TX,; % gg G n N mX 'X' '

dan banyak lagi akan membosankan untuk disebutkan. Banyak dari ini mendukung hitungan sebelum perintah, seperti 4j untuk memindahkan 4 baris ke atas.

Sekarang, kembali ke desain, Anda mengetik perintah seperti d untuk menghapus diikuti dengan gerakan kursor dan perintah berlaku untuk potongan teks dari posisi kursor hingga akhir gerakan. Misalnya H pindah ke bagian atas layar, dH menghapus ke bagian atas layar dan perubahan cH (menggantikan) ke bagian atas layar.

Desain ini cukup kuat. Ini juga mengurangi, atau mengatur, apa yang perlu Anda pelajari. Langkah pertama yang pasti adalah mempelajari beberapa perintah pergerakan kursor. Katakan, 8 atau 10 pada awalnya. Maka Anda hampir selesai.

Juan Lanus
sumber
2

Mempelajari sesuatu yang baru selalu sepadan dengan usaha, IMHO. Saya sarankan Anda mencetak lembar contekan dan memaksakan diri Anda untuk menggunakannya setiap hari.

switchmode
sumber
Ada sebuah cerita dalam bahasa Cina yang mengatakan seseorang belajar dari seorang guru cara membantai naga. Begitu dia lulus dari sekolah, dia tidak akan pernah bisa menemukan naga nyata untuk dibantai. Saya tidak mengatakan vi, tetapi moral dari cerita ini yang terkadang mempelajari sesuatu hanya membuang-buang waktu.
Earth Engine
2

Vim jelas layak dipelajari untuk meringkas sebagian yang telah dinyatakan sebelumnya di sini adalah alasan utama:

  • Vi / Vim dapat ditemukan di sebagian besar sistem unix.
  • Vim memungkinkan Anda untuk dengan mudah membuat kode tanpa melepaskan tangan dari keyboard.
  • Jika Anda berencana mengonfigurasi apa pun dalam sistem berbasis unix, kemungkinan Anda akan mengedit beberapa file konfigurasi dengan adil, karena itu Anda ingin mempelajari editor berbasis terminal, yang vim adalah salah satu yang terbaik (maaf emacs).
  • Vim mengkompilasi / memiliki binari yang telah dikompilasi untuk hampir setiap OS di luar sana. Tidak perlu memposting "Saya membutuhkan alternatif textmate untuk [masukkan OS]", Anda akan memiliki Vim!
  • Ada banyak plugin bagus di luar sana untuk menambahkan banyak fungsionalitas, seperti in-editor cvs diffs, meskipun beberapa di antaranya memerlukan banyak penyesuaian.

Juga pada catatan jika Anda menemukan Anda menyukai binding kunci Vim, ada juga IDE yang menyertakan vim binding dalam editor mereka untuk perintah sederhana, misalnya Edit Komodo .

Untuk bantuan dalam belajar Vim, coba ketikkan 'vimtutor' ke terminal Anda dan ikuti instruksi. Ada juga buku yang sangat bagus Hacking Vim

Jamie
sumber
2

Tidak. Belajar vim lebih berharga daripada usaha.

ojblass
sumber