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.
Jawaban:
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 )
sumber
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
sudo
edit:$ sudo vi
Selain itu, GMail menggunakan perintah vi-ish untuk memilih & memindahkan email!
Anda tidak harus menjadi master.
Baru belajar
Dasar:
:w
Enter(tulis):q!
Enter:wq
EnterDari sana sisanya hanya akan membuat Anda lebih cepat.
sumber
Berlari melalui vimtutor hanya membutuhkan waktu 30 menit, yang cukup untuk mengenal vim. Layak setiap detiknya.
sumber
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!
sumber
<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.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:
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
:Ini bukan setengah dari upaya yang Anda pikir akan terjadi. Jalankan melalui tutor Vim sekali (
vimtutor
di 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 menggunakannyaVim
di tempat kerja tanpa mengurangi produktivitas yang terlihat dalam waktu makan siang kurang dari satu minggu.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
:Ini membuat ketagihan, dan Anda akan mendapati diri Anda berharap dapat menggunakan
Vim
perintah di semua komputasi Anda, dan mengutuk kapan pun Anda tidak bisa. Untungnya, setidaknya untuk beberapa situasi, ada cara untuk mengatasi ini .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 membuatVim
pengalaman Anda lebih baik, dan membaca tag Vim di Stack Overflow.sumber
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.
sumber
Anda bisa mendapatkan fungsi keluar yang baik dari vim dengan mempelajari arti dari hanya 16 kunci:
ijkdbw9:q!%s/nN
Esc. Anda bisa melakukan tulang telanjang hanya dengani:wq
Esc.Dua tombol pertama yang perlu Anda ketahui adalah: Escmembawa Anda ke mode perintah (mode yang Anda mulai), dan
i
membawa Anda ke mode memasukkan (pengetikan normal).Untuk menghemat Anda perlu
:
w
kemudianEnterUntuk menyimpan dan berhenti, Anda harus melakukannya
:
wq
kemudianEnterUntuk tidak menyimpan dan memaksa berhenti, Anda harus melakukannya
:
q!
kemudianEnterUntuk mempelajari lebih lanjut, Anda dapat menjalankan
vimtutor
di baris perintah. Ini pelajaran menengah dan terstruktur dengan baik.Melampaui
i
dan Esc: Anda dapat meniru atau melampaui beberapa fungsionalitas MS Word hanya denganjkwbd3:%s/nN
.b
membawamu kembali kata ( Ctrl+ ←)w
membawa Anda meneruskan kata ( Ctrl+ →)9w
membawa Anda maju sembilan katadb
menghapus kata sebelumnya ( Ctrl+ Backspace)d3b
menghapus tiga kata sebelumnya9j
bergerak turun 9 barisornithopter
Entermembawa Anda ke contoh berikutnya dari kata "ornithopter", kemudiann
danN
ke kejadian "ornithopter" berikutnya dan sebelumnya.%s/confounded/dangfangled/
Entermengganti setiap "bingung" dengan "dangfangled" (sepertifind and replace all
dalam MS Word)Semua itu harus dijalankan dalam mode "command" ( Esc), bukan mode insert (
i
).sumber
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
sumber
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.
sumber
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.
:)
sumber
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.
sumber
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.
sumber
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/
sumber
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
sumber
nano
yang jauh lebih mudah digunakan daripada vim, dan hampir tersebar luas.Dua keuntungan vi / vim:
ini sangat ringan
itu diinstal pada hampir setiap sistem * NIX
sumber
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.
sumber
Saya belajar Vim. Itu tidak terlalu banyak usaha. Sekarang saya benar-benar mencintai ci "ci (cw V: s / dari / ke / g
sumber
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.
sumber
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.
sumber
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 ;-)
sumber
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.
sumber
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.
sumber
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.
sumber
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 ...)
sumber
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.
sumber
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.
sumber
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.
sumber
Mempelajari sesuatu yang baru selalu sepadan dengan usaha, IMHO. Saya sarankan Anda mencetak lembar contekan dan memaksakan diri Anda untuk menggunakannya setiap hari.
sumber
Vim jelas layak dipelajari untuk meringkas sebagian yang telah dinyatakan sebelumnya di sini adalah alasan utama:
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
sumber
Tidak. Belajar vim lebih berharga daripada usaha.
sumber