43 puan yazan kodingwarrior 2023-08-11 | 11 yorum | WhatsApp'ta paylaş

Kayıt videosu: https://www.youtube.com/watch?v=XYQnyJVGk-4&t=1s
Ek: https://kodingwarrior.github.io/wiki/appendix/excelcon-2nd/

2023-06-03 tarihinde 2. ExcelCon'da "Neovim ile üretkenlikte kuantum sıçraması" başlığıyla bir sunum yapmıştım; geç de olsa burada da paylaşıyorum.


Sunum içeriği özeti

Sadece Neovim kullanarak üretkenlik nasıl arttı?

  • VSCode, Notion, RoamResearch, GitKraken gibi araçlar arasında sürekli geçiş yaparken bunları Neovim'de birleştirince gereksiz bilişsel yük azaldı
  • macOS ve archilinux arasında dönüşümlü çalışmama rağmen her yerde tutarlı bir geliştirme ortamını koruyabiliyorum (dotfiles)
  • Cihaz performansı konusunda endişelenmeme gerek kalmadı.
    • Before : AndroidStudio, VSCode, RoamResearch vb. birçok uygulamayı aynı anda açıp çalıştığım için sık sık thrashing yaşanıyordu. Kaynak kodu yazarken bile gecikme oluyordu / After : Uçağın kalkış sesi gibi fan sesi bile duyulmuyor. Bellek kullanımı da oldukça düşük.

Üretkenliği artırmak için 3 adım

  1. Üretkenlik iyileştirmesi, hangi eylemlerde gereksiz yere zaman harcadığımı analiz eden bir meta farkındalıkla başlamalı.
  2. Önce kullandığım araçlara alışırım.
  3. Hangi işleri tekrar tekrar yaptığımı gözden geçirir, bu tekrarlanan işleri yaparken harcadığım süreyi azaltacak kullanım yöntemleri olup olmadığına bakarım. (örn. şablon, eklenti, makro, snippet, …)
    1. adımdaki süreçte bana uyanları seçip içselleştiririm.

Hacim nedeniyle açıklayamadığım içerikleri blogda ek olarak derledim.

  • AstroNvim, LazyNvim dahil Neovim'e yeni başlayanlar için starter kit'ler
  • Neovim'e özel tree-sitter eklentisi
  • Otomatik tamamlama özelliği sunan nvim-cmp

Vim'i daha iyi kullanmak isteyenler için bir Discord topluluğu da işletiyorum (vim.kr), ilginizi beklerim :)

11 yorum

 
kan02134 2023-08-15

https://github.com/github/copilot.vim

Ben VS Code Copilot'ı o kadar iyi kullanıyorum ki araştırınca Neovim Copilot Plugin'in de olduğunu gördüm. Denesem mi diye düşünüyordum ama sanırım bir kez Neovim'i denemem gerekecek.

 
edunga1 2023-08-14

İlk iş değiştirdiğim şirkette geliştirmeyi vim + tmux Linux sunucusuna uzaktan bağlanarak yapıyorlardı.
Bu ortamda uzaktan pair programming yapılabilmesi beni etkilemişti. (kod değişiklikleri anında yansıyor ve terminal de paylaşılıyor)

Uzak sunucudaki dotfiles (.vimrc, .bashrc) sayesinde vim’e gerçekten giriş yapmış oldum.
Elimin altında bir örnek olduğu için rahatça başlayabildiğimi hatırlıyorum; bu yüzden metindeki dotfile hikâyesine katılıyorum haha

 
yoehwan 2023-08-14

Ben de NVIm'den vscode'a geçmiştim ama bu yazıyı görünce tekrar geri dönmek istedim. :)

 
junghan0611 2023-08-14

Metin editörleriyle ilgili bir konu olması gerçekten sevindirici. Sonuçta yaptığımız her işin metinle uğraşmak olduğunu kabul edince, kendi metin ortamıma özen göstermek de yük gibi gelmiyor. Ben de geçen yıldan beri Emacs kullanmaya başladım ve gerçekten her şeyi klavyeyle yapabilir hale geldim. 0. maddede söylediğiniz gibi, gereksiz harcanan zamanı epey azalttım. vim.kr umarım daha da büyür!!

 
roxie 2023-08-12

Videoda benim kaçırdığım bir nokta mı var diye soruyorum. Notion’ı neovim ile değiştirdiğinizi söylemeniz, neovim içinde bir wiki sistemi kurup onu kullandığınız anlamına mı geliyor, yoksa Notion’ı neovim içinde yönetmeye yarayan bir kütüphane olduğu anlamına mı geliyor, merak ediyorum. Sorunun amacı, şirkette kullandığımız Notion’ın da neovim içinden yönetilip yönetilemeyeceğini öğrenmek.

 
kodingwarrior 2023-08-12

Elbette Notion’u doğrudan kontrol etmedim.

Notion API desteği sunarsa teorik olarak neovim içinde kontrol etmek mümkün olabilir, ancak şu ana kadar böyle bir deneme görmedim.

Şirkette kullanılan Notion’un neovim üzerinden kontrol edilip edilemeyeceğini kesin olarak söylemek zor; bunun kurumsal politika açısından bir mesele olabileceğini düşünüyorum.

 
roxie 2023-08-12

Notion API sunuyor, ancak pratikte aklıma gelen çeşitli kısıtlamalar yüzünden uygulama durmuştı; iyi bir çözüm var mı diye merak ediyordum. Yanıtınız için teşekkürler :D

 
kodingwarrior 2023-08-12

Daha çok bir wiki sistemi kurdum demek daha doğru olur. telekasten.nvim adlı eklenti, benim gereksinimlerimi %100'ün de ötesinde karşılayacak düzeyde; akla gelebilecek çoğu özelliği zaten barındırıyor.

Şablon özelliği de oldukça iyi. İç dokümanları yönetme işlevleri de yeterince başarılı.

Kişisel olarak sevdiğim özelliklerden biri olan grafik görselleştirmesini de force-graph adlı bir kütüphaneyle doğrudan kendim işledim.

Faydalı olabilir diye ilgili kaynak kodu bağlantılarını da bırakıyorum.

https://github.com/kodingwarrior/kodingwarrior.github.io/… -- grafik görselleştirmesi için gereken düğüm (belge) / kenar (iç bağlantı) verisini üretme
https://github.com/kodingwarrior/kodingwarrior.github.io/… -- force-graph tabanlı görselleştirme

 
bbulbum 2023-08-11

Ben de neovim kullanıyorum ve bambaşka bir dünyayla tanıştım. Bu yüzden çevremdeki geliştiricilere de bir deneyin diye çok söyledim ama kimse geçiş yapmadı. neovim kullanırken geliştirme ortamı kurmak için gereken şeyleri daha ayrıntılı öğrenmiş oldum. Kore Vim topluluğu olduğunu da bilmiyordum, gidip bakacağım; sizi görmek çok sevindirici!

 
aqqnucs 2023-08-13

Şirkete ve takıma göre değişir ama... şaşırtıcı biçimde geliştirme ortamı kurulumuna ilgi duymayan epey insan var..

 
bus710 2023-08-11

Vim'i iyi kullanmak için sonunda zsh ve tmux'u da birlikte kullanmak gerekiyor gibi görünüyor.
Emacs'tan farklı olarak sakal bırakmak gerekmemesi sevindirici.