This is a list what I believe is required for me to actually use an editor without wanting to switch back to what I've used in the past.
Ctrl-z to undo, some way to redo Ctrl-y or ctrl-Shift-z is fine Shift and arrow keys to select text Home and End to jump cursors to start and end of line Ctrl, and Home and End to jump cursor to start and end of file Ctrl, and left and right arrow keys to jump cursor past words Ctrl, and up and down arrow keys to swap the current line with the one above it. Ctrl-x to cut Ctrl-c to copy Ctrl-v to paste Ctrl-Shift-v to list several previous things on the clipboard so I can select them and paste again (if I can trigger an external program with this shortcut I guess I could live with that.) ctrl-f to find in current file, optionally with regex. ctrl-Shift-f to find either in all open files or in current project (implies multiple files can be open at once) ctrl-r to replace in current file, optionally with regex. ctrl-Shift-r to replace either in all open files or in current project ctrl-g Go to line number Mouse selection of text Double-click on a word to highlight it within the whole file
Dark theme Ctrl-d selects the current word, and then subsequent presses select the next word in addition so I can edit them all at once. (implies multiple cursors) Ctrl-e comments and uncomments selected code A way to adjust a single cursor without disturbing other cursors, similar to https://atom.io/packages/multi-cursor-plus but exact duplication is not needed Rustfmt can be made to work with it. (triggering things on save) F1 to delete the current line Word completion. If not code aware ten at least every word that is in the currently opened files
Ctrl-Shift and up and down arrow keys to jump cursor non-empty lines (maybe swap shortcut with line swapping)