Saya sangat terkesan dengan kekuatan vi sejak setengah jam pertama saya menggunakannya. Saya kemudian menemukan bahwa di beberapa lingkungan kerja, ada banyak orang (teknisi, dan bahkan administrator sistem!) Yang menghindarinya sebagai "terlalu rumit" tanpa pernah menjalankan vimtutor, dan masih ada orang lain yang menggunakan vi hanya dalam mode insert dan melewatkan seluruh poin pengeditan modal.
Bagaimana saya dapat menunjukkan kekuatan vi / Vim kepada orang lain sedemikian rupa untuk menginspirasi mereka untuk mempelajarinya dan menggunakannya?
Saya terutama tertarik pada sejarah aktual apa pun yang telah berhasil membuat orang lain (atau diri Anda sendiri) belajar dan menggunakan Vim.
Jawaban:
Meskipun saya telah menginvestasikan beberapa upaya dalam Vim dan ekosistemnya, saya tidak secara aktif mencoba untuk mengkonversi orang lain. Sebagian besar orang yang bekerja sama dengan saya tidak menginvestasikan banyak waktu sama sekali untuk meningkatkan alur kerja dan perangkat mereka karena mereka puas dengan apa yang mereka miliki. Saya menemukan itu baik-baik saja ... dan saya akan benci untuk menjadi target dakwah yang berhubungan dengan editor terus menerus sehingga saya tidak memaksakan hal itu kepada orang lain.
Namun, kadang-kadang, seorang rekan kerja mungkin tergelitik dengan jawaban saya dan mengajukan beberapa pertanyaan kepada saya. Ketika peristiwa langka itu terjadi, saya lebih dari senang untuk membahas subjek, mendemonstrasikan trik keren, dan mengarahkannya ke sumber daya yang bermanfaat.
Di pekerjaan terakhir saya, seorang rekan kerja sangat tertarik oleh Vim dan tahu dasar-dasarnya cukup baik (
vimtutor
). Sudah cukup baginya untuk dapat melakukan pengeditan cepat tetapi ia tidak memiliki kepercayaan diri dan pengetahuan untuk benar-benar beralih ke Vim (sesuatu yang sebenarnya ia inginkan). Pada satu titik, ia harus melakukan serangkaian pengeditan berulang pada file JSON besar secara manual. Dia tertekan oleh gagasan membuang-buang waktu melakukan itu dan datang kepada saya mencari solusi yang lebih cepat / lebih pintar. Tentu saja, makro sederhana melakukan pekerjaan dalam waktu kurang dari satu menit (termasuk merekam) yang memungkinkan saya untuk menjelaskan beberapa konsep utama ...Satu masalah yang dihadapi oleh pendatang baru adalah bahwa "Sekarang apa?" saat yang datang tepat setelah
vimtutor
. Vim menyembunyikan kecantikannya dengan sangat baik dan tidak banyak orang yang memiliki keinginan untuk memecahkan cangkang itu tanpa bantuan. Saya dapat memberikan bantuan itu jika diperlukan ... tetapi saya tidak akan pernah memaksa Vim kepada orang lain.sumber
Saya menggunakan Vim untuk semuanya. Maksudku segalanya. Pemrograman, pengolah kata, menulis novel, dll. Semuanya. Saya telah duduk di dealer otomatis menggunakan Surface Pro 3 menjalankan Linux Virtual Box dengan Vim dan meminta orang-orang memulai percakapan dengan saya tentang apa yang saya lakukan.
Cukup gunakan Vim. Orang akan berbondong-bondong ke Anda untuk mencari tahu apa yang Anda lakukan dan mengapa. Saya biasanya menjelaskannya seperti ini -
Saya menggunakan Vim karena memiliki jejak yang sangat kecil. Microsoft Word beberapa gigabyte dan Surface saya hanya memiliki ruang 128 GB. Saya perlu memaksimalkan ruang saya dan Vim membantu saya melakukan itu. Ini juga dapat diperluas dan membantu saya tetap fokus. Di sini, lihat. Demo beberapa plugin saya dan tunjukkan bagaimana Vim di layar penuh pada dasarnya mencakup semuanya sehingga saya bisa berpikir .
Saya sering menunjukkan LaTeX dalam kombinasi dengan Vim. Saya akan membangun file LaTeX dan kemudian mengompilasinya menjadi PDF indah menggunakan templat yang saya miliki. Saya juga memperagakan templat surat dan resume saya. Saya menekankan betapa pentingnya memecah gaya dari konten. Pada titik ini orang tidak lagi tertarik pada apa yang harus saya katakan dan menyesal berbicara kepada saya.
Mereka mencari jalan keluar dari percakapan, dan saya kembali menulis. Vim adalah pengalaman religius lebih dari pengolah kata.
sumber
Tunjukkan kekuatan dot ('.') Dalam mode perintah. Dengan mudah mengulangi pengeditan yang rumit dengan satu tekan tombol umumnya terlihat seperti sulap.
sumber
Sebagai seseorang yang harus mempelajari Vim di pekerjaan terakhir saya, saya akan mengatakan bahwa rintangan terbesar diletakkan di depan instalasi "default" yang tidak memiliki opsi yang ditetapkan. Saya menghabiskan sebagian besar waktu dengan mengatakan, "Mengapa ia bertindak seperti ini ketika semua orang mengharapkannya melakukan yang sebaliknya?"
Ternyata setiap orang sudah menetapkan beberapa standar "kewarasan" . Begitu saya mengetahuinya, saya jauh lebih bahagia, dan "memberinya kesempatan" untuk belajar lebih banyak. Setelah beberapa hari pad nomor tidak berfungsi, tab salah, pencarian tidak berfungsi dengan baik, dll. Saya siap menyerah dan tidak pernah melihat ke belakang.
Jika Anda benar-benar ingin seseorang cukup menyukainya untuk mencoba dan mempelajari lebih banyak fitur-fitur canggih, mulailah dengan kaki kanan dengan file pengaturan yang dioptimalkan untuk jenis pekerjaan yang harus mereka lakukan.
sumber
.vimrc
file dengan banyak default bermanfaat sangat berguna. Saya telah belajar banyak tentang Vim hanya dengan melihat opsi yang ada di github.com/amix/vimrcvim
memberikan blok bangunan dasar dari mana seseorang harus mengkonfigurasi / memprogram editor teks yang selalu diimpikan.Cara terbaik untuk menginspirasi anjing tua untuk menggunakan trik baru adalah dengan mengambil sesuatu yang mereka lakukan dan menunjukkan bagaimana hal itu dapat dengan mudah dilakukan lebih cepat / lebih mudah / lebih baik dengan cara lain.
Pasti ada kurva belajar yang terlibat yang hanya mematikan sebagian orang. Satu lelucon berjalan
sumber
vi
/m
dalam banyak situasi menawarkan saya peningkatan kecepatan dan / atau menghindari membalik di antara perangkat input. Juga, saya melakukan sedikit hal-hal command-prompt (Linux, Cygwin), danvi
selalu ada di sana .Cara terbaik adalah belajar Vim diri sendiri dan menunjukkan kekuatannya kepada orang lain. Bahkan Anda tidak harus (memperagakannya) - mempromosikan diri sendiri. Setelah Anda menggunakannya dengan beberapa warna sintaks yang bagus pada beberapa latar belakang terminal seperti hackish, orang-orang menjadi penasaran dan sering bertanya - apa yang Anda lakukan . Lalu tunjukkan pada mereka.
Ketika Anda melakukan pemrograman berpasangan dan Anda melihat bahwa pengembang lain mulai melakukan beberapa pekerjaan berulang yang terasa seperti tugas Sisyphean (seperti memukul Backspace atau panah ratusan kali), katakan padanya berapa banyak ini mengganggu Anda seperti di Vim , hanya perlu beberapa kali penekanan tombol dalam kurang dari satu detik.
Periksa juga halaman-halaman berikut untuk beberapa trik Vim yang berguna:
sumber
Yang terpenting: jangan mendorong, jangan menginjili. Pastikan benar-benar tentang motivasi Anda. Jika bahkan ada sedikit pekerjaan misionaris, jangan mulai. Sebagian besar orang bereaksi dengan jengkel atau agresif, karena saran belaka untuk memeriksa alur kerja lain membawa arus kecaman. Alur kerja Anda mungkin lebih baik daripada mereka. Yang menutup banyak orang. Sebenarnya, ini adalah prinsip umum yang berfungsi terlepas dari pengaturan (pikirkan vegetarian / pemakan daging, Demokrat / Republik, merek mobil, resep, ...) Mereka semua melakukan apa yang mereka lakukan karena mereka percaya apa yang mereka lakukan adalah cara yang tepat untuk melakukannya.
Sangat mungkin bahwa tidak ada kritik dari pihak Anda yang dimaksudkan di tempat pertama, tetapi ini terjadi di sisi lain dan tidak ada yang dapat Anda lakukan tentang hal itu. Itu manusia untukmu.
Saya sarankan mengangkat subjek ketika tidak ada batas waktu, dalam suasana yang santai. Berbicaralah dari pengalaman Anda , dengan cara bagaimana Anda terkesan dan seberapa efisien yang Anda rasakan sekarang. Jangan pernah membandingkan. Jangan pernah mengatakan "lebih baik", karena itu akan menjadi pernyataan absolut, hanya meminta ditantang. Selalu ikuti "Aku lebih produktif dengan cara ini". Dengan cara ini orang lain tidak dapat mengabaikan bahwa Anda memang lebih produktif dan Anda tidak menekan. Jika yang lain mengangkat topik, bersikap lembut dan mungkin menawarkan untuk membagikan satu atau dua tautan, Vimcasts adalah contoh yang bagus.
Mempelajari Vim adalah tugas yang sangat berat, terutama mengingat banyaknya waktu yang Anda habiskan untuk mendapatkan pengaturan pertama yang benar. Saya memiliki begitu banyak tanda tanya di kepala saya selama waktu itu dan setiap pengaturan detik tampak tidak masuk akal atau bahkan bermusuhan. Ini kebalikan dari intuisi. Entah seseorang tetap dengan itu dan semakin "aha!" saat atau hanya akan menjatuhkannya untuk editor yang lebih seperti Word. Apapun yang berhasil.
Pada akhirnya itu benar-benar tidak layak untuk diperdebatkan: semua orang hanya menggunakan apa yang menyelesaikan pekerjaan. Itulah keindahan kode sumber: itu universal.
sumber
Pertama kali saya menggunakan vi adalah kelas "intro to Unix". Guru itu tidak mengetahuinya dengan baik, dan dia memperkenalkannya dengan cara yang sangat kikuk. Kami harus menghafal cukup untuk berkeliling jika kami pernah terjebak dalam sistem yang tidak memiliki apa pun yang diinstal. Saya tidak melihat kedua setelah semester itu. Itulah mengapa Anda tidak menginjili vi, dan saya pikir adalah bagaimana banyak orang memiliki pengalaman pertama mereka.
Beberapa tahun kemudian, saya berada di kelas pendidikan berkelanjutan perusahaan tentang Perl. Instruktur menggunakan vim dalam demonstrasi dan menawarkan untuk membantu orang-orang dengan itu di samping, meskipun itu bukan tujuan utama kelas.
Moto tidak resmi dari Perl adalah TMTOWTDI (ada lebih dari satu cara untuk melakukannya). Ketika kelas akan mengajukan pertanyaan, instruktur akan melakukan pengeditan untuk menunjukkan alternatif, lebih cepat daripada yang dapat ia jelaskan dalam pengeditan dengan kata-kata . Saya terbiasa bisa membaca kode ketika sedang diedit, tetapi baginya, pengeditan terjadi dalam kesibukan tombol, kemudian penjelasannya mengikuti, dengan kecepatan glasial sebagai perbandingan. Jika dia tidak harus berhenti untuk menjelaskan hasil edit kepada kami, dia pasti sudah pindah ke tugas berikutnya.
Saya memiliki beberapa peluang serupa yang adil untuk menunjukkan vim:
Saya pikir hanya menunjukkan kepada orang-orang potensinya setelah Anda mempelajarinya akan mengilhami mereka untuk melewati kekasaran awal.
sumber
Itu adalah gerakan batin yang membuat mataku berubah menjadi hati yang melayang untuk Vim. Selain
.
pengulangan dan awalan hal-hal dengan jumlah, menunjukkan gerakan dalam biasanya merupakan salah satu hal pertama yang saya tampilkan / bagikan ketika seseorang bertanya kepada saya tentang vim.ci(
ataugUi>
ataudiw
.g;
dang,
untuk melompat-lompat ke tempat-tempat yang telah Anda edit biasanya bagus untuk satu atau dua mata yang melebar.sumber
Meskipun
vi
memiliki silsilah yang dihormati dalam sejarah komputasi, saya akan merekomendasikan fokus padavim
. Ini adalah editor berfitur lengkap dengan kemampuan luar biasa, cocok dengan semua pesaingnya. Satu-satunya kelemahan adalah kurva belajar; memang butuh waktu untuk mendapatkan "pola pikir Vim" dan memori otot. Saya pikir itu sepadan dengan usaha. Ada banyak kekuatan yang Anda inginkan ketika Anda menjadi mahirvim
.vim-airline
, karena semua orang suka UI yang bagus.vi
/vim
diinstal pada semua sistem berbasis Unix; jadi setiap sysdamin profesional harus memiliki pengetahuan tentang hal itu.sumber
Saya suka VIM, tetapi kurva belajarnya curam.
Profesional mana pun yang belum mengadopsi VIM tidak mungkin dibujuk oleh argumen . Hanya karena kebutuhan.
Mendengarkan orang-orang yang mengatakan mereka menggunakan VIM secara teratur, use case terbesar adalah dari admin yang mengelola beberapa mesin * NIX dari jarak jauh dengan CLI via SSH.
VIM secara harfiah diinstal pada hampir setiap mesin * NIX di planet ini.
VIM berusia 25 tahun ke atas dan tidak berubah sejak saya mulai menggunakannya pada tahun 1998.
sumber
Cukup minta siswa untuk menukar dua kata dengan pengolah Word ™ mereka ...
... lalu tunjukkan bagaimana master melakukan ini
vim
. (Ini adalah pemetaan untuk melakukannya; lebih lanjut di sini .)Akhirnya, biarkan murid merenungkan apakah dia benar-benar telah bekerja dengan pengolah kata sejauh ini.
sumber
gvim
. Sekarang, saya ingat dengan baik. Itu bertukar / memindahkan kata-kata dalam kalimat ketika menulis teks bahasa Inggris sebagai penutur asli. Saya menulis pemetaan vimscript saya sendiri untuk melakukan hal itu.Vim juga tentang menilai kembali file teks biasa
Dalam konteks pembuatan dokumen, nilai
vim
tidak hanya dalam keterampilan mengedit kata yang luar biasa. Vim juga merupakan jalan untuk mengembalikan nilai file teks biasa di mana-mana dan jaminan kompatibilitas mundur abadi.Vim juga tentang fokus secara eksklusif pada konten; bukan format
Jika seseorang tidak menyunting halaman web, pemisahan konten dari format mungkin merupakan konsep penghancuran paradigma bagi setiap pekerja kantor biasa. Untuk alasan ini, saya suka pamer
gvim
sebagai editor Markdown dalam kombinasi dengan Pandoc dan mungkin amakefile
.Ini terjadi juga sebagai demonstrasi yang baik dari filosofi Unix atau GNU / Linux untuk menggabungkan dan memipipkan program yang sangat bagus hanya pada satu hal.
Sebagai bonus, Anda akan melihat bahwa
vim
kombinasi tombol dasar digunakan di banyak program GNU / Linux lainnya.sumber
Ergonomi
Dengan pengaturan yang tepat saya dapat bekerja selama berjam-jam tanpa sakit bahu atau punggung.
Setup yang tepat tentu saja berbeda untuk setiap orang, tetapi menggunakan Vim di terminal, pemetaan Escuntuk Capslockdan menonaktifkan mouse dan tombol kursor adalah awal yang baik.
sumber