I nearly exclusively use VIm and any other editor I use has a VIm mode plugin installed. I pretty much can't work productively in anything else.
I can tell you that I haven't used Esc in ages. I have Caps Lock mapped to Ctrl (as it is a vastly more useful a key than Esc and Caps Lock is a much better position for it and is just as an extraneous as Esc is). I use Ctrl-C or Ctrl-[ to exit insert mode and it works just fine. In fact I understand that most experienced VIm users do this.
Esc is, by and large a useless key. Even if it wasn't you can remap keys as you like so feel free to map Esc to Caps Lock if you want. Taken alone the lack of Esc and Fn keys is not an argument against the design of the new MBP for developers.
Also... the F1 keys are like super important for debugging. Sure, you can click with the damn mouse in the button for step in, over, run, etc, but the thing is faster with F keys.
Even if mac apps come mapped to other keys, many peaplo still runs windows with bootcamp, virtual box etc and wine programs in apple computers, making things even harder.
And about external keyboards? Apple keyboards comes with F keys... they are going to be uselles now?
This is really just a war of opinions now, but the F1 keys are indispensable to me. My fingers rest on the hotkeys for "step into", "step over", "run to breakpoint" and I can keep my eyes glued to the watch list, inspecting the variables at each step. Some times you want to quickly step into functions, other times step over, and it's just really handy to have it mapped to keys.
I'm not even a power emacs user or something (IntelliJ is my preferred IDE). YMMV of course, but I find the hotkeys super useful.
But what if your IDE simply adds the debugger buttons to the touch strip instead? They could even have the correct icons and update state as you debug. Seems even better to me.
It's really odd when people say "I need one function key for some application specific operation", when those kinds of things are pretty much exactly what an adaptable, customizable touch row is perfect for. If apple could have read the touch bar complaints before, they probably would have been convinced to put a touch bar in earlier.
Main point for touch strip is changing icons/state. But that's absurd because not even my mother blind types.
This is clearly another fancy thing that removes functionality.
I have a blank keyboard, I never look at it, when I use for debugging I'm extremely fast as I don't have to look back and forth on keyboard and screen or use mouse (who uses mouse that much anyway?), I'd miss F keys if I bought the new macbook pro.
There will be one, they've shown it in some of the promotional imagery. I think everybody is just up in arms about the physical key being gone.
I'm a heavy vim user and use the ESC key all the time. If I get the new MacBook Pro I'll probably see how the touch key works, and then rebind if it's necessary. It's not the end of the world.
> I use Ctrl-C or Ctrl-[ to exit insert mode and it works just fine. In fact I understand that most experienced VIm users do this.
That's pretty uncommon to imply it's generalizable. Most vim users, I feel comfortable in saying, actually use 'Esc', or a key mapped to the same. Speaking for myself, I can't see why I'd want to use two keys when one would do.
Well having to stretch your little finger all the way to the corner of the keyboard gets pretty annoying when you have to do it all the time, as you do with Vim. Much easier to remap another key close to the home row, and since caps-lock is so redundant, it is the obvious candidate.
So whether you map it directly to Esc or to a modifier, the parent's point stands: Vim users don't need the Esc key and are probably better off without it.
classic apple fanboy huh? I've a shortcut for my F1 key which toggles terminal on full screen. What there? You don't expect me to map one key for that as well, do you? I'd still prefer a physical button.
- can you give me some details on your remap setup on macOS? if you have dotfiles somewhere that'd be great.
- as a vim user who only uses vim as an editor, I challenge the assumption that touch Esc is a horrible thing. Esc is a very special key and it may turn out to be ok for it to _be_ different, and _feel_ different.
I'm a vim user as well, and I'm actually shocked at how many users apparently still use the ESC key. I actually didn't know any regular vim users did that, because to me, it seems super inefficient. I don't say that as a put-down or anything like that. But if you use vim, I'd highly recommend remapping caps lock to Esc. I think you will get used to it within a day and will never go back.
I'm a long-time vim user, and I use the esc for two reasons. First, because it's critical muscle memory, and if I go to a machine that is not my own don't want to be crippled. I would still consider remapping caps lock (as opposed to .vimrc remapping) since that would work when ssh'ed into arbitrary machines, but the problem there is I'm already using it for control, and because the control key is resized on the laptop keyboard I can't develop normal muscle memory when moving between different apple keyboards.
Personally I think people make way too big a deal about the escape key being difficult to hit. It's right there in the corner, never been a problem for me.
I've tried ctrl-c, ctrl-[, and ESC. The one that stuck for me was ESC. The others usually don't work in other programs that use vim keybindings.
Many people already map capslock to ctrl. You could map ctrl to ESC, but then it gets uncomfortable when switching computers, and it goes against 10+ years of muscle memory.
I tried remapping capslock once, but it got too confusing when switching computers.
I am a developer who writes code while in tmux and vim. I have remapped my Caps Lock key so it's Ctrl when presses with another key and Escape when pressed on it's own.
The other anecdote is I've been using vim for about 15 years, and use esc daily. I am constantly in multiple vim environments - different servers, different clients, different OS, etc. I don't have the luxury of saying "I'm going to install all my default vim keybindings and plugins on every vim installation I ever use". Walking someone else over the phone who has to do vim - I need to count on some standard defaults being there, and 'esc' is one.
So yeah - some of you "power users" - fine - you've never touched ESC in 20 years - good for you. You're in the minority.
I've been using vi for over 20 years, but not a power user or anything (emacs for code, vi for quick edits), and have no idea how to use it without esc. Did vim change something? How do you switch modes?
Ctrl-[ == Esc. I had to learn Ctrl-[ three years or so back due to bluetooth keyboard paired with tablet and insufficient time to troubleshoot why Esc wasn't working, and then discovered that it's actually easier on my wrists to use Ctrl-[ and never went back.
I use vim, I just assumed that when you open Terminal, a virtual escape key would appear in the touch bar. It'd still be in the corner, so fitts law would still apply, and it'd be easy to find.
I'm not even a power user, & after 25 years, I just know the basic few commands that you need to do anything - insert, delete, search/replace, save, & quit.
ESC is the key that (roughly) takes you back to normal mode from insert mode, visual mode, etc. If you aren't using it, then you're either using one of the other ways to get back to normal mode (like CTRL-[), or you are using Vi in a very non-standard way.
Are you talking about the same editor? From a 1996 vi man page [0]:
There are commands that switch you into input mode.
There is only one key that takes you out of input mode,
and that is the <escape> key. (Key names are written
using less-than and greater-than signs, e.g. <escape>
means the ``escape'' key, usually labeled ``esc'' on
your terminal's keyboard.) If you're ever confused
as to which mode you're in, keep entering the <escape>
key until vi beeps at you.
Which is fine if you do everything locally (because you control that configuration), but not having escape really sucks when you are on servers a lot and you can't necessarily go changing vim settings around.
I don't know why that would be anyone's preference given that if you used telnet to connect to a remote shell, ^] is the default escape character. So using ^[ to exit input mode is dangerously close to popping you out of your telnet session. Someone who claims to have used vi for 25+ years (get off my lawn, ssh didn't exist back then) would have likely used telnet and been bitten by that more than once.
I love jk, been using that one for at least 8 years. I even got in the habit of tapping it a few times while thinking, sort of like how you might sometimes shake your leg or whatever. I trained myself off of that though when I had to use Eclipse more and more -- edits or undoes to a file can bring Eclipse to its knees....
Yeah, I'm not sure I'd even call it a command - but it is pretty fundamental to vi usage, unless you're using some alternative like ^C or the "remap typing 'jk' to Esc" trick. When you're saying you've never used the Esc key, you mean you only use the Esc key to take you out of insert mode, I guess?
I can tell you that I haven't used Esc in ages. I have Caps Lock mapped to Ctrl (as it is a vastly more useful a key than Esc and Caps Lock is a much better position for it and is just as an extraneous as Esc is). I use Ctrl-C or Ctrl-[ to exit insert mode and it works just fine. In fact I understand that most experienced VIm users do this.
Esc is, by and large a useless key. Even if it wasn't you can remap keys as you like so feel free to map Esc to Caps Lock if you want. Taken alone the lack of Esc and Fn keys is not an argument against the design of the new MBP for developers.