📝 https://daisuzu.hatenablog.com • Job ◦ Server side software engineer ◦ Experienced in large-scale refactorings exceeding +/- 10,000 lines of code changes using Vim • VimConf ◦ 2017: How ordinary Vim user contributed to Vim ◦ 2018: Migrating plugins to standard features ◦ 2019: Usage and manipulation of the tag stack • gorilla.vim ◦ Frequently found at the reception desk
targets. • Often overlooked or considered legacy due to its non-interactive nature • Actually a powerful and versatile feature ◦ Useful for task management ◦ Invaluable for large-scale refactoring Vim's True Strength: • ❌ Writing new code (LLMs excel here nowadays) • ✅ Editing efficiency (Edit at the speed of thought) The thrill of lightning-fast editing makes Vim addictive !
the quickfix window if there are entries, and close if none Jumping: • :cbelow / :cabove - Jump to the entry below/above the current line • :cafter / :cbefore - Jump to the entry after/before the current position(line/column) • :cnfile / :cpfile - Jump to the entry in next/previous file • :cfirst (:crewind) / :clast - Jump to first/last entry
◦ :set makeprg=staticcheck • :set grepprg - Customize the grep program ◦ :set grepprg=git\ grep\ -n\ --no-color • :set errorformat - Specifies a list of formats to parse ◦ :set errorformat=%f\|%l\ col\ %c-%k\|\ %m ▪ %f - file name ▪ %l - line number ▪ %c - column number ▪ %k - end column number ▪ %m - error message
a few key aspects: • Quickfix: ◦ Global list for errors or search results across multiple files ◦ Commands use 'c' prefix (e.g., :copen, :cnext, :Cfilter) • Location list: ◦ Local list for errors or search results within each individual window ▪ Multiple location lists can be open simultaneously in different windows ◦ Commands use 'l' prefix (e.g., :lopen, :lnext, :Lfilter) Buffer #1 Buffer #2 Quickfix Buffer #1 Buffer #2 Location list #1 Location list #2
Vim commands and editing at the speed of thought. To achieve this, focus on these key points: 1. Break down actions into “motion” and “object” 2. Expand your vocabulary for moving around 3. Turn complex actions into simple commands 4. Be aware of repeatable actions By practicing these principles continuously, you can truly master Vim.
of locations in your code ◦ It excels in non-interactive, reproducible workflows ◦ Plugins like Cfilter and qfreplace enhance quickfix functionality • Combining quickfix with macros enables complex, automated text processing ◦ Mastering quickfix can significantly boost your productivity in Vim • Striving for efficient editing leads to mastering Vim