No difference between "cutwordleft" and "cutbigwordleft"
From the discussion: https://github.com/nushell/nushell/discussions/8859
I'm trying to remove the last part of the long_token_separated_by_underscores. For this purpose I tried binding the actions in question:
{
name: delete_word
modifier: control
keycode: char_g
mode: emacs
event: { edit: cutwordleft }
}
The same for cutbigwordleft.
Expected result:
cutwordleftremoves text to the previous underscore and/or a capital lettercutbigwordleftremoves the whole token
Actual result:
- both behave the same and remove the whole token
Underscores (U+005F/"Low line") are considered part of a word according to the Unicode recommendations and the default behavior of vim, thus we followed that precedent.
I agree that with longer identifiers that can feel a bit excessive, which is why bash's readline and according to your discussion also zle seem to follow a different pattern.
I think for vi mode we should still follow the convention that a valid identifier is a word but I think we would welcome an additional move/cut/delete set for the more granular word definition.