Skip to content

Revert alt-backspace behaviour on non-macOS systems #12122

Description

@ndrew222

EDIT for visibility:

alt-backspace deletes entire tokens now.
Bindings for deleting words are

  • ctrl-backspace (backward-kill-word)
  • ctrl-w (backward-kill-path-component)
  • alt-b alt-d (backward-word kill-word)

See here for the full set of bindings that were changed.


As of Fish 4.1.0, the default behaviour of alt-backspace is to delete entire arguments1

On non-macOS systems, alt-left, alt-right, alt-backspace and alt-delete no longer operate on punctuation-delimited words but on whole arguments, possibly including special characters like / and quoted spaces. On macOS, the corresponding ctrl- prefixed keys operate on whole arguments. Word operations are still available via the other respective modifier, just like in most web browsers.

I would argue that the macOS behaviour is the desired behaviour as

  1. It has been the behaviour before this change, and many users would be used to it
  2. You can still have the convenience of deleting entire arguments via use of the ctrl-backspace keybinding
  3. It is really irritating to context-switch between something that uses readline-style/Emacs-style alt-backspace and fish now. Back when the behaviour was consistent, there was no friction switching between these.

I hope that the case I have made for the reversion will be considered. I very much enjoy using fish, save for this one change.

Footnotes

  1. https://fishshell.com/docs/current/relnotes.html#new-or-improved-bindings

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions