# Three months with XVim

DevFeed: [Three months with XVim](<https://devfeed.tech/articles/three-months-with-xvim-21608.md>)

Original publisher: [Read original article](<http://miqu.me/blog/2015/11/19/three-months-with-xvim/>)

Author: Miguel Angel Quiñones

Published: 2015-11-19T22:19:24Z

Content type: article

Language: en

Sources: [Miguel Quinones](<https://devfeed.tech/sources/miguel-quinones.md>)

Topics: [Xcode](<https://devfeed.tech/topics/xcode.md>), [Vim](<https://devfeed.tech/topics/vim.md>), [ide](<https://devfeed.tech/topics/ide.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Learning](<https://devfeed.tech/topics/learning.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [code](<https://devfeed.tech/tags/code.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [developers](<https://devfeed.tech/tags/developers.md>), [ide](<https://devfeed.tech/tags/ide.md>), [learning](<https://devfeed.tech/tags/learning.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [search](<https://devfeed.tech/tags/search.md>), [shortcuts](<https://devfeed.tech/tags/shortcuts.md>), [vim](<https://devfeed.tech/tags/vim.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

## AI overview

The article reflects on learning Vim and using XVim in Xcode to apply consistent keyboard-driven workflows. It discusses the time investment involved in becoming productive with an IDE and using command-line tools for navigation, search, refactoring, and editing.

## Source excerpt

'Know your key shortcuts' is the mantra of the productive programmer. I've chosen to try using the same keybindings everywhere, investing time and learning Vim. And using xvim in Xcode. In this article I'm going to try to explain why I did this, and I'll share my experience of the process. Knowing your IDE and being productive in it, is one of the best investments you can do as a programmer. We need to write code, and sometimes we do repetitive tasks if we are involved in bigger projects: Navigation and search, refactoring, some formatting and changing existing code. Vi(m) vi is a command-line text editor. Vim is an extended version of the same editor. The main difference from 'more modern' editors, is that it has two modes, and it's designed for proficiency in a kind of command language where the user specifies where he wants to navigate and what he wants to achieve. It was also designed to be completely controlled with the keyboard. Many people still use it nowadays, which is surprising given that it looks rather old-fashioned, and that the proliferation of different text editing modes has been massive. If you're interested but not familiar with the editor, you'll find that learning how to use it will be a significant time commitment. There's countless of sources of developers explaining why or why not they'd use such editor; you'll find them easily. The sources that inspired me and I go back to from time to time are: Why, by Jon Beltran de Heredia: Very old source but explanatory for somebody not familiar with the editor. Daniel Miessler's intro: Very well written examples and thinking mode that goes with the editor. Investments Getting familiar and productive with your IDE is a time investment. It can take you from weeks to years, and it's very recommended you do so, because it's rather useful to produce code with less time to have time for other interesting tasks (or coffee!). If you become fast enough, your thoughts will convert to code almost instantly, delay