Burak describes Vim as both a command-line editor and a set of motions, such as using H, J, K, and L to move around. Vim’s modal approach separates typing from editing commands, which gives different modes their own key bindings. The guests also discuss Neovim, a Vim fork that supports asynchronous extensions and uses Lua as its primary scripting language.
Vim: from zero to hero
Speakers
Callstack developers Jan and Burak, who maintains React Native Paper, and Lucas, a React Native developer working on Expensify, join the React Native Show host for a Coffee Talk about learning and using Vim.
The guests describe different paths into Vim: one began after seeing tutorials, another first used it to code on an Android phone with Termux, and another was drawn to keyboard shortcuts and customization. One speaker started with Vim, returned to VS Code because work slowed down, then practiced with a Vim extension for 15 to 30 minutes a day. The advice is to learn basic motions first and add more as they become familiar.
The guests point to quick startup, low resource use, keyboard-driven editing, and easy access to terminal tools as benefits. They compare Vim motions to musical practice: combinations become faster once they are second nature. They also note the steep learning curve, time needed to configure features such as code navigation, and the loss of VS Code Live Share for collaborative editing.
Lucas says Vim works well for editing Markdown documentation, especially with Markdown tools, and describes using tmux to move between projects. The guests say Vim can run macros and complex regular expressions across many files for bulk changes. They also mention that debugging React Native projects is possible, though setup can be complicated, and discuss language server and debug adapter support.
The guests suggest starting with a Vim plugin in an editor such as VS Code to learn motions, then trying a preconfigured setup such as LunarVim or AstroNvim. For people who want to configure more themselves, they recommend Kickstart.nvim as a basic starting point. Suggested learning resources include Vim’s built-in tutorial and help, Luke Smith, Primeagen, and Vim Adventures.
Takeaways
- Practice basic motions in a familiar editor before switching your daily workflow.
- Build muscle memory with short, regular practice sessions.
- Use Vim’s macros and regular expressions for repetitive changes across many files.
- Consider tmux when you want keyboard-driven switching between terminals and projects.
- Account for setup time and collaboration needs when evaluating Vim for a team.
Mentioned in this talk
Search inside this talk
What was claimed 16
- works atJanek works at Callstack Teamdeveloper
“I’m a developer at Callstack.”
YouTube Unverified1 source· Talk
- role atBurak is maintainer at React Native Paper
“I help maintain the community library called React Native Paper.”
YouTube Unverified1 source· Talk
- works atBurak works at Callstack Teamdeveloper
“I’m also at Callstack”
YouTube Unverified1 source· Talk
- works atLucas works at Expensify appworking on the open-source project
“I’m currently working on the open-source project Expensify.”
YouTube Unverified1 source· Talk
- works atLucas works at Callstack TeamReact Native developer
“a React Native developer at Callstack”
YouTube Unverified1 source· Talk
- featureVim: Command-line text editor
“The Vim program itself is a command-line text editor”
YouTube Unverified1 source· Talk
- builtBram Moolenaar built Vim
“He was the author of Vim”
YouTube Unverified1 source· Talk
- feature
Neovim: Uses Lua as its primary scripting language
“It also uses Lua as its primary scripting language instead of Vimscript.”
YouTube Unverified1 source· Talk






