Slide presentasi "Membuat Lompatan Kuantum Produktivitas dengan Neovim"
(docs.google.com)Video rekaman: https://www.youtube.com/watch?v=XYQnyJVGk-4&t=1s
Lampiran: https://kodingwarrior.github.io/wiki/appendix/excelcon-2nd/
Pada 2023-06-03, saya pernah membawakan presentasi dengan tema "Membuat Lompatan Kuantum Produktivitas dengan Neovim" di ExcelCon ke-2, dan meski agak terlambat, saya bagikan juga di sini.
Ringkasan isi presentasi
Bagaimana produktivitas bisa meningkat hanya dengan menggunakan Neovim?
- Saat beralih-ganti menggunakan VSCode, Notion, RoamResearch, GitKraken, dan lainnya, lalu mengintegrasikannya ke Neovim, beban kognitif yang tidak perlu pun berkurang
- Meski saya bergantian menggunakan macOS dan archilinux, saya tetap bisa mempertahankan lingkungan pengembangan yang konsisten di mana pun (dotfiles)
- Saya tidak perlu lagi khawatir soal performa perangkat
- Before: Saat bekerja sambil membuka banyak aplikasi seperti AndroidStudio, VSCode, RoamResearch, dan lain-lain, thrashing sering terjadi. Bahkan mengetik source code pun terasa lambat / After: Bahkan suara seperti pesawat lepas landas pun sudah tidak terdengar. Penggunaan memorinya juga sangat rendah.
3 langkah untuk meningkatkan produktivitas
- Peningkatan produktivitas harus dimulai dari kesadaran metakognitif untuk menganalisis pada aktivitas apa saya membuang waktu secara tidak perlu.
- Pertama, biasakan diri dengan alat yang saya gunakan.
- Perhatikan pekerjaan apa yang saya lakukan berulang kali, lalu cari apakah ada cara pemanfaatan yang bisa mengurangi waktu untuk pekerjaan berulang tersebut. (mis. template, plugin, macro, snippet, …)
- Dari proses pada langkah 2, pilih yang paling cocok untuk diri sendiri lalu internalisasikan.
Hal-hal yang tidak sempat dijelaskan karena keterbatasan panjang materi saya rangkum sebagai lampiran di blog.
- Starter kit untuk pemula Neovim, termasuk AstroNvim dan LazyNvim
- Plugin tree-sitter khusus Neovim
nvim-cmpyang menyediakan fitur pelengkapan otomatis
Saya juga mengelola komunitas Discord (vim.kr) untuk orang-orang yang ingin mahir menggunakan Vim, jadi mohon dukungannya :)
11 komentar
https://github.com/github/copilot.vim
Saya sangat terbantu menggunakan VS Code Copilot, lalu setelah mencari-cari ternyata ada juga plugin Copilot untuk Neovim. Saya sempat mempertimbangkan untuk mencobanya, jadi sepertinya saya harus mencoba Neovim sekali.
Di perusahaan pertama tempat saya pindah kerja, mereka melakukan pengembangan dengan terhubung secara remote ke server Linux berbasis vim + tmux.
Saya terkesan karena di lingkungan ini remote pair programming dimungkinkan. (perubahan kode langsung tercermin, dan terminal juga dibagikan)
Dari dotfiles(.vimrc, .bashrc) yang ada di server remote, saya pun mulai benar-benar mendalami vim.
Karena waktu itu ada contoh sehingga saya bisa mulai dengan lebih tenang, saya jadi sangat relate dengan pembahasan dotfile di artikel ini hehe
Saya juga pindah dari NVim ke vscode, tetapi setelah melihat tulisan ini jadi ingin pindah lagi. haha
Senang sekali membahas text editor. Pada akhirnya, jika kita menerima bahwa semua ini adalah pekerjaan yang berkaitan dengan teks, maka memberi perhatian pada lingkungan teks saya sendiri tidak terasa membebani. Saya mulai memakai Emacs sejak tahun lalu, dan ternyata benar-benar hampir semuanya bisa dilakukan dengan keyboard. Seperti yang Anda sampaikan di poin 0, saya jadi bisa mengurangi banyak waktu yang tidak perlu. Semoga vim.kr makin sukses!!
Saya ingin bertanya karena mungkin saya melewatkannya di video. Saat Anda mengatakan bahwa Notion digantikan dengan neovim, apakah maksudnya Anda membangun sistem wiki di neovim lalu menggunakannya, atau ada library untuk mengoperasikan Notion dari neovim? Tujuan pertanyaan saya adalah, saya ingin tahu apakah Notion yang digunakan di perusahaan juga bisa dioperasikan dari neovim.
Tentu saja saya tidak sampai mengoperasikan Notion atau semacamnya.
Jika Notion mendukung API, secara teori sepertinya memang memungkinkan untuk mengoperasikannya dari neovim, tetapi sejauh ini saya belum pernah melihat percobaan seperti itu.
Sulit untuk memastikan apakah notion yang digunakan di perusahaan bisa dioperasikan dari neovim, karena sepertinya akan ada persoalan kebijakan.
Meskipun Notion menyediakan API, secara realistis saya terpikir ada berbagai keterbatasan sehingga implementasinya sempat berhenti. Saya jadi penasaran apakah ada solusi yang bagus. Terima kasih atas jawabannya :D
Ini lebih mendekati membangun sistem wiki. Ada plugin bernama telekasten.nvim yang memenuhi kebutuhan saya lebih dari 100%, dan sudah punya hampir semua fitur yang dibutuhkan.
Fitur templatenya juga cukup bagus. Fitur untuk mengelola dokumen internal juga memadai.
Salah satu fitur yang secara pribadi saya sukai, yaitu visualisasi graf, juga saya buat sendiri menggunakan library force-graph.
Sepertinya bisa jadi referensi, jadi saya sertakan juga tautan source code terkait.
https://github.com/kodingwarrior/kodingwarrior.github.io/… -- menghasilkan data simpul (dokumen)/sisi (tautan internal) yang diperlukan untuk visualisasi graf
https://github.com/kodingwarrior/kodingwarrior.github.io/… -- visualisasi berbasis force-graph
Saya juga memakai neovim dan serasa menemukan dunia baru. Jadi saya sempat bilang ke para developer di sekitar saya untuk coba memakainya, tapi tidak ada satu pun yang ikut beralih. Sambil memakai neovim, saya jadi lebih paham secara detail hal-hal yang diperlukan untuk membangun lingkungan pengembangan. Saya juga baru tahu ternyata ada komunitas Vim Korea. Saya akan coba mampir, senang sekali!
Tergantung perusahaan dan tim... tapi ternyata cukup banyak orang yang tidak terlalu tertarik pada pengaturan lingkungan pengembangan..
Kalau mau jago pakai Vim, sepertinya pada akhirnya memang harus pakai zsh dan tmux juga.
Beda dengan Emacs, untungnya tidak perlu punya janggut.