Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.



Esc is, by and large a useless key

I'm not a Mac User, but I use THE ESC key extensively to cancel out of dialogs.


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?


The F1 keys are not important for debugging. When I'm debugging, I'm not concerned with what's faster. So I use the icons and the mouse.


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.


And/or other keyboard shortcuts. This is not some immutable situation.

I don't know why everyone is unnecessarily freaking out over this non-issue that has so many alternative solutions, some of which will be superior.


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.


Aha, so you prefer the way that your sight just go back and forth between screen and touch bar.....?


If i'm using the F keys, it already is.


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.


Nobody types function keys blindly however


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.


I hear all this talk about no more ESC key, but couldn't they potentially just put one up there on the bar, albeit not a real clickable key?


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.


Command-period on macOS.


I'd expect that if a dialog is focused, the Esc key will be there.


Steve Jobs is smiling from heaven. He hated keys.

But seriously I use esc all the time to come in and out of modes in VIM.

I also use it in VIM mode in RStudio, VS Code and many other text editors.

FUNCTION KEYS - I use them all day with my IDEs. F2 is my go to help files.


Not even a developer key: `escape` is a very convenient UI mechanism for getting out of something modal or otherwise overlayed and open.


Esc is important in Excel too. More users than Vim.


Command-period is the native Mac way to do it, though ESC works as well.


> 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.


So wait for Apple to remove the Caps Lock key in the next generation.


Two things:

- 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.


The first thing that came to my mind was what will Vim users do without an escape key.

When did you switch to the Caps Lock mapping? How long did it take you to get use to it?


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.

I used this software to do this https://pqrs.org/osx/karabiner/


Same. Been using vi as my primary command-line editor for 25+ years, and have never used the ESC key, and just use the default setup.

I don't even know what commands would use the ESC key?


ESC key is the default in vim, most vim users do use it.


Thanks for some sanity.

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.


There are several built-in ways to get from insert mode to normal mode in vim, only one of which has now been removed.

Vim users that use escape to leave insert mode are not exactly a majority of Mac users. Also, many people have been complaining about the location of Escape for such an important command. http://stackoverflow.com/questions/4416512/why-use-esc-in-vi...

Having said that, I use Escape myself in Vim - you know what? I'll adapt.

This has nothing to do with the new MBP being unsuitable for developers. This is about power users being forced to abandon ingrained habits.


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.


You don't need to customize your vim keybindings if you map Caps Lock to ESC at the OS level, which is a builtin preference as of macOS 10.12.1.


I'd have to say that your use case is in the minority too.


just matching anecdote for anecdote...


Isn't ctrl-[ default on vim too ?


No, it's just a property of ASCII that (ctrl [) = (0x9f & 0x5b) = 0x1b = esc.


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.


Yes, this is what I assumed too. Is there any proof that this isn't the case? I'm not sure what the worry is about.


For what commands? I'm trying to look up vim commands that would use the ESC key, and I only see one: https://www.fprintf.net/vimCheatSheet.html#select http://tnerual.eriogerg.free.fr/vimqrc.html

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.

I feel like I'm taking crazy pills!


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.

See, for example: https://en.wikipedia.org/wiki/Vi#Interface


To switch modes from insert back to normal mode. I assumed ESC was the second key any Vim user used, just after `i`.


From the docs: http://vimdoc.sourceforge.net/htmldoc/insert.html#i_%3CEsc%3...

End insert or Replace mode, go back to Normal mode. Finish abbreviation.

Note: If your <Esc> key is hard to hit on your keyboard, train yourself to use CTRL-[.


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.
[0] http://www.sbras.ru/cgi-bin/www/unix_help/unix-man?vi


Ctrl-[ == Esc.

I'm a happy user of http://ex-vi.sf.net/ and can confirm that, since it's the exact same key code, it works -fine-.


That alternative doesn't work in many programs that use vim keybindings. Ctrl-c doesn't usually work as an alternative outside of vim either.


That's only true for a terminal. Programs built on electron don't behave the same way with vim emulation plugins.


Map Caps-Lock to Esc?


What do you use to get out of insert mode? Like, you've just finished typing some text and want to save and quit, what do you press?

EDIT: Thanks for the replies, other people. I personally use ^C, I was curious what 'mozumder specifically used. :)


The usual answer is 'C-[' or 'kj' (having added the appropriate line to your .vimrc).


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.


It's also difficult when using programs that emulate Vim's keybindings, because they tend to only use ESC by default.


C-[ is available by default; it's the actual control sequence sent by escape in many terminals.


CTRL-[ (of course if you're not using a QWERTY keyboard, it may be hard to hit)


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 didn't switch to Ctrl-[ until sufficiently recently that anything I'm running vi-ish things on is over ssh.

I will, however, never forgive Excel for Esc being "abandon edit".


I have `jk` mapped to that in my vimrc. It's far nicer than ESC.


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....


I have 'jj' mapped to ESC.


Ah, I see. I didn't even consider that a function command.

I was expecting more commands to use the ESC key?


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?


Yes. I do use ESC that to exit insert mode. Sorry for any confusion.

I was expecting commands to be anything you did after the typing in colon.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: