The problem
Most of the shortcuts made in vim are actually made for the English language. And transferring them to a foreign keyboard makes them, well, kind of dumb (my take anyway).
If you’ve ever tried to write code on an Italian keyboard, you know the pain. Want a backslash? That’s AltGr + ù. Curly braces? AltGr + Shift combinations. And the forward slash, which you use constantly in vim for searching, is hiding on Shift + 7. Every single day I was reaching for modifier keys just to type basic programming symbols.
It’s not just Italian either. German keyboards have [ and ] on AltGr, French AZERTY is its own special nightmare, and don’t even get me started on some of the Nordic layouts. The people who designed these layouts clearly weren’t thinking about programmers.
Why US-International specifically
So you might think, “just switch to US keyboard then.” And sure, that works for programming. But then you lose the ability to type accented characters. If you’re writing emails, chatting with colleagues, or literally anything in your native language, you’re stuck.
That’s where US-International comes in. It’s the sweet spot.
You get all the programming symbols exactly where vim expects them. The forward slash is on the key next to right Shift. Curly braces are on Shift + [ and Shift + ]. Backslash gets its own key. Everything is where it should be.
But here’s the clever part: you can still type accented characters using modifier combinations. Want an é? Type ' then e. Need an à? Backtick then a. It uses “dead keys” where certain keys act as accent modifiers when pressed before a letter.
So you get the best of both worlds. Programming symbols in sensible positions, and your native language characters when you need them.
The vim angle
If you use vim or any vim-like editing, this matters even more.
In vim, / is search. : enters command mode. ~ toggles case. These are fundamental operations you do dozens of times per hour. On an Italian keyboard, / is Shift + 7. That means every search requires two keypresses instead of one. It adds up.
Also, if you use tmux or terminal multiplexers, you’re constantly typing commands that rely on these symbols. The | pipe character for chaining commands, ~ for home directory, \ for line continuation in some contexts. Having these on AltGr combinations slows everything down.
How to set it up
On Windows, it’s pretty straightforward. Go to Settings, then Time & Language, then Language. Click “Add a language” and search for “United States-International”. Once installed, you can switch between layouts with Win + Space.
On Linux, it depends on your desktop environment, but it’s usually in the keyboard settings. Look for input sources or keyboard layouts and add “English (US, international with dead keys)”. On GNOME, you can find it under Settings > Keyboard > Input Sources.
On macOS, you’ll find it in System Preferences > Keyboard > Input Sources. Add “U.S. International - PC” (the PC variant matches what you’d expect from other platforms).
The adjustment period takes about 1 to 2 weeks. The first few days feel weird, especially if you’ve been typing on your native layout for years. Your fingers will reach for modifier keys that don’t need to be there anymore. But it clicks faster than you’d expect.
My suggestion is to keep a tab with the US international layout so that you can quickly go peek at your symbols and dead keys for triggering accents.
Personal experience
I switched to US-International about two years ago. At first it felt wrong. I kept typing the wrong characters, especially for punctuation. But after maybe 10 days, something clicked.
Now when I see someone struggling with AltGr combinations on an Italian keyboard, I genuinely feel bad for them. The difference in speed and comfort is that noticeable.
The only thing that took longer to adjust to was the dead key behavior for accents. Sometimes I’d want a literal apostrophe and end up waiting for the system to realize I wasn’t trying to type an accent. You get used to pressing space after the accent key if you want the character by itself.
Conclusion
If you’re a developer outside the US and you haven’t tried US-International, give it a shot. Worst case, you switch back after a week. Best case, you wonder why you didn’t do this years ago.
It’s especially worth it if you use vim, work in the terminal often, or just type a lot of code. The programming symbols being in sensible positions alone is worth the adjustment period.
Your fingers will thank you.