

Some time ago, I wondered if I can mix the merits of Vim into VS Code, so spent my time on test driving several extensions. To name a few, simplicity, great performance, rich set of commands, diverse extensions and support for various languages are among the top revered characteristics of VS Code.
VIM SHORTCUTS MAC CODE
However, I use VS Code in my daily work and am too satisfied with it. Maybe that’s a bit exaggerated, but still the effort surely pays off. Once you’ve mastered its brilliant way of cursor navigation and get used to some basic keyboard shortcuts, you’ll uncover a significant improvement in your coding time productivity. See the following screen capture to get a feeling of what to expect. Using them lets your hands to just stay in the Main Focus Area in the figure below. Happy hacking! Written on September 8, 2019.🎉 You can simply have a number of useful Vim-like navigation shortcuts (of course, without Vim’s command-based environment difficulties), by installing the VS Code Semi-Vim Shortcuts extension on VS Code. But in exchange for less readability, it does unlock more potential keybindings – for example, you could re-bind ⌘← to 0x01 to move the cursor to the beginning of your terminal prompt, or ⌘→ to 0x05 to jump to the end. Sadly, there's no hex representation for the command key, so this doesn't help us with our original problem. So, to emulate Ctrl-P via a hex code, we'd map ⌘P to 0x10. For that, we'd have to use a program like xxd to inspect the hex codes for different keys on the keyboard. Unlike the Vim bindings, though, it can be difficult see at-a-glance how we'd adapt this to other keys. This approach involves asking iTerm to sending the hex codes for a different pair of keys to the shell, as if we'd hit those buttons on the keyboard instead. (That's actually how I stumbled upon the "Vim Special Characters" option!)
VIM SHORTCUTS MAC HOW TO
While I was researching how to do this, I came across this StackOverflow answer which suggested using the "Send Hex Code" action. Don't forget the leading backslash – otherwise it'll just print literally.Īnd that's it! When you press ⌘P, iTerm will now interpret it as Ctrl-P.


Then, simply type the Vim binding you want to map this key to, like \ or \. Then, choose the "Send Text with 'Vim' Special Characters" option from the "Action" dropdown. Click the "+" button to add a new mapping:Ĭlick the box next to "Keyboard Shortcut" and then press ⌘P – you should see it appear in the box. Open Preferences and head to Profiles → Keys. ITerm allows us to add custom key bindings in our profile. The best we can do is tell iTerm, a modern graphical application, to intercept our ⌘P keystroke and turn it into another key combination that the terminal can understand, like Ctrl-P. " This removes the Cmd-P binding from 'Print':Īlas, the terminal doesn't know about the Command key and so that doesn't help us when using classic Vim. And that's where that newly acquired muscle memory betrayed me – as all my attempts to quickly open files ended up mired in iTerm's "Print" dialogue! No good! Re-mapping ⌘P to Ctrl-P in MacVimĪccording to the Vim documentation, you can theoretically map the "command" key using the :CtrlP map :CtrlP " In ~/.gvimrc: if has( 'gui_macvim') However, I still use Vim to make quick edits to files here and there. It took a long while to rebuild my Ctrl-P muscle memory to ⌘P, but I finally did it!

After years of faithful Vim usage, I've started using Visual Studio Code more and more for my everyday work.
