Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Global Keybindings #64

Closed
6 tasks done
tangjeff0 opened this issue May 15, 2020 · 3 comments
Closed
6 tasks done

Global Keybindings #64

tangjeff0 opened this issue May 15, 2020 · 3 comments

Comments

@tangjeff0
Copy link
Collaborator

tangjeff0 commented May 15, 2020

Keybindings

  • ctrl-z : undo
  • ctrl-shift-z : redo
  • cmd-k : toggle athena
  • ctrl-g : toggle devtools
  • ctrl-l : toggle left sidebar
  • ctrl-r : toggle right sidebar

06-28-2020

Implementation at time of this update. Mapping have not been thought about deeply. But it shouldn't be too difficult to change/customize.

This update is focused on global keybindings. Most other keybindings require block-level context. Thinking about putting block-level keybindings in the #97 issue, because there are many edge cases based on selection, location of block, location of cursor, etc. Copy and paste require some block-specific context, but they are magical so just acknowledging that.

05-15-2020

Most of Roam's keybindings are not super necessary. The important ones that stand out to me are:

  • backspace - deletes block if empty
  • arrow keys
  • indent and shift-indent
  • ctrl-o: open link
  • ctrl-b: bold
  • cmd-z: undo
  • cmd-shift-z: undo
  • cmd-v: paste (this is its own, lots of magic here)

Do consider how this could fit into a plugin architecture: #63.

Example keybindings

Screen Shot 2020-05-15 at 7 32 54 PM
Screen Shot 2020-05-15 at 7 33 31 PM

@jeroenvandijk
Copy link
Contributor

@tangjeff0 Many of the keybindings depend on the context. E.g. when editing a block you have ENTER and ESC, to save and cancel your change. Might be good to specify the context in the list above. I can think of the following:

indent and shift-indent [the current list item]
ctrl-o: open link [under cursor in sidebar]
ctrl-b: [make selected text] bold

@tangjeff0 tangjeff0 changed the title Implement keybindings Keybindings May 27, 2020
@tangjeff0 tangjeff0 mentioned this issue Jun 16, 2020
17 tasks
@nixsee
Copy link

nixsee commented Jun 29, 2020

If I can make a suggestion, I use OneNote currently and while Tab/Shift+Tab will move a block in/out if at the start of the line, you can use Alt+Shift+Arrow keys to move in/out/up/down with the cursor anywhere in the block. Tab within the block creates table columns, and once in a table, enter will create new lines if at the end of the block/table (like in Excel). It would be great to get a similar block movement functionality (the tables are another issue)

@tangjeff0
Copy link
Collaborator Author

@nixsee those are great suggestions. Make sure to join our chat!

@tangjeff0 tangjeff0 changed the title Keybindings Global Keybindings Jul 4, 2020
@tangjeff0 tangjeff0 mentioned this issue Apr 21, 2021
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants