VimBindings.jl
VimBindings.jl copied to clipboard
Key bind requests thread
Key Bind Request Thread
This thread exists to track key bind requests. Because of limited development time and resources, it is unlikely that VimBindings.jl will ever be a full implementation.
It is helpful to know what users of VimBindings.jl feel is most lacking in order to improve the library for the most amount of users.
If there is a keybinding that you'd like to be added to VimBindings.jl, first check to see if it is already in this thread. Add a :+1: if it exists, otherwise write a comment with the key bind request. Keys or commands which are complex enough can be filed as a separate issue.
Comments with key bind requests that have been completed may be hidden.
Requests
- [x] Text movements like
ciw,ci" - [x]
0to go to beginning of line - [x]
$,0- jump to end of line, jump to start of line - [x]
fandFfor text movements - [x]
Sto clear the line from anywhere and enter insert mode - [x]
sto delete the current character and enter insert mode - [x]
rto replace current character - [ ]
vv- open current line in your $EDITOR (perhaps this could be implemented with the @edit macro) - [ ]
RReplace mode - [x]
u,C-r- undo, redo - [x]
oandOto create a new line below or above the current one and go into insert mode. - [ ]
;and,#79 - [ ]
.repeat last change - [ ]
C-aandC-xto increment and decrement numbers - [ ]
~to switch a character's case
0 to go to beginning of line
S to clear the line from anywhere
(per https://github.com/caleb-allen/VimBindings.jl/issues/14#issuecomment-1009199314)
r to replace current character would be nice instead of deleting then adding.
Of the binding requests, I miss 0 and r most, followed by S to clear the line and enter insert mode, in case I decide that editing the current line is more hassle than typing anew.
Hi,
here is a list of key binds I often use when working with zsh and with vi mode enabled (set -o vi, also works with bash):
vv- open current line in your$EDITOR(perhaps this could be implemented with the@editmacro)r, R- replace, overwrite- various text movements (
f, F, t, T) and manipulations likeciw, ci"etc. u, C-r- undo, redo$, 0- jump to end of line, jump to start of line
Here is also a link to the default vi mode bindings enabled in zle as an inspiration or implementation reference: https://zsh.sourceforge.io/Doc/Release/Zsh-Line-Editor.html#Standard-Widgets
I think the text movements f and F would be very useful (also posted by @fatteneder; I re-posted here so people could 👍 on just these alone)
0 to go to beginning of line solved by #26. Thanks @MilesCranmer!
$ has also been fixed (among many others).
Both are in master and will be available in the next version, 0.2.0
f and F for text movements is complete! #22
o and O to create a new line below or above the current one and go into insert mode.
@fatteneder undo and redo with u and C-r are now implemented in #58 and are available in 0.3.4
Wow, I had already forgotten about this package. I just tested it and its amazing :) Keep up the great work!
s to delete the current character and enter insert mode
ci" and ci( to change string contents or function arguments.
ciw works as expected, but ci" not yet
Clipboard integration with y, p, and P has been added in 0.3.8. It is disabled by default, but can be enabled by running VimBindings.Config.system_clipboard!(true). See the docs for more details.
It's disabled by default because I haven't been able to test it across platforms. My development machine runs linux and had some unpredictable issues. My guess is that it is more consistent and stable on other operating systems.
For anybody willing to try it out, feel free to give feedback on #7
v