46

With iTerm2 1.0.0 on Mac OS X 10.6.8, I'd like to delete from cursor to the next end of word, i.e. deleting one word forward. I tried Alt+d but this types the delta operator symbol and doesn't delete. How to suppress the typing but let it delete?

Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
qazwsx
  • 25,536
  • 30
  • 72
  • 106

9 Answers9

73

PreferencesProfileKeys add the following shortcuts:


Send Escape Sequence Esc+ b

Send Escape Sequence Esc+ f

Send Escape Sequence Esc+ [H

Send Escape Sequence Esc+ [F

←Delete Send Hex Code 0x18 0x7f (add bindkey "^X\\x7f" backward-kill-line to .zshrc if you use zShell)

←Delete Send Hex Code 0x1B 0x08

Del→ Send Hex Code 0x0b

Del→ Send Escape Sequence d

neaumusic
  • 10,027
  • 9
  • 55
  • 83
maxbellec
  • 16,093
  • 10
  • 36
  • 43
36

I don't have a mac handy, but ESC d should in theory do the same thing that ALT-d does.

NOTE: this means hitting ESC, releasing it, then hitting d. Look ma, no key chords.

Aleksandar Dimitrov
  • 9,275
  • 3
  • 41
  • 48
  • Correct; ESC typically acts as the meta key in Mac OS X, since the Alt key (Option) is used for other purposes. – chepner Sep 09 '12 at 02:25
  • Where to see a complete list of such key combinations for editing at command line? – qazwsx Dec 03 '15 at 16:06
  • meh. it works but it ain't so very comfortable on new machines where the ESC is a on the touch bar. seems like manually mapping this to Alt-d is the better choice. – kumetix Nov 10 '19 at 06:07
19

Just to add to Alexsander's answer the easiest way to replicate this behaviour is to select the option "Left option key acts as +Esc" in the Preferences->Profiles-> Keys screen.

Hal
  • 1,125
  • 1
  • 11
  • 11
13

You can add a shortcut for it, go to "Preferences" → "Profiles" → "Keys", and then click on "+" to add a custom shortcut, and add this:

enter image description here

Now you should be able to delete a word forward by clicking + d.

Maroun
  • 94,125
  • 30
  • 188
  • 241
6

You can follow this article to set up the key binding in iterm2. It works for me. The hex codes for...
Deleting a word: 0x17.
Deleting a line: 0x15.

enter image description here

Andy Wong
  • 3,676
  • 1
  • 21
  • 18
4

Even simpler solution is to go to "Preferences" → "Profiles" → "Keys" and in the "Presets..." dropdown, choose "Natural Text Editing"

Suley
  • 41
  • 1
3

Surprised no-one mentions this one, which works for me:

Settings -> Profiles -> Default (or whatever) -> Keys -> General -> Left Option key: switch from Normal to Esc+.

Josh Friedlander
  • 10,870
  • 5
  • 35
  • 75
  • Did this in old one and somehow forgot this for my new mac book. This is simple. Now ALT + back/forward arrow moves word. ALT + d delete word forward , ALT + backspace delete word behind the cursor. – Knight71 Mar 23 '23 at 10:30
1

maxbellec answer was really helpful, I'll just add that:

⌘← Send Escape Sequence Esc+ [H

⌘→ Send Escape Sequence Esc+ [F

did not do the trick for me. First, these shortcuts were already configured in the Preferences -> Keys -> Key Bindings as other actions shortcut (next/previous tab). But changing these shortcuts to other combinations also did not work. So, I've added:

bindkey "^[[F" end-of-line

bindkey "^[[H" beginning-of-line

to the .zshrc, which solved it.

Tom Carmi
  • 385
  • 1
  • 5
  • 18
0

ctrl+d was a forward delete for me in irb and iex in iTerm2. But since I wanted to use the regular del key on the keyboard with the numpad, I looked for something else. And then I found a list of hex codes corresponding to ctrl+something key strokes: 4 is number and the number is 4. iTerm2 Del key mapping

Philip Claren
  • 2,705
  • 3
  • 24
  • 33