Hi, folks

We are using Angular Latest to refactor Zeppelin's front-end(ZEPPELIN-4321
<https://issues.apache.org/jira/browse/ZEPPELIN-4321>). When implementing
the features of the shortcuts, we found that the current shortcuts are
somewhat complicated and did not distinguish the Command/Ctrl key between
Mac and Windows.

So we compared the following applications:

   - Jupyter <https://github.com/jupyter/notebook>
   - JupyterLab <https://github.com/jupyterlab/jupyterlab>
   - Google Colaboratory <https://colab.research.google.com/>

They can distinguish between edit-mode and command-mode, which will
simplify the shortcuts complexity. Meanwhile, we use the Monaco editor
<https://github.com/microsoft/monaco-editor> in the refactor version, it is
the core library of VSCode <https://github.com/microsoft/vscode>. We think
it is a good choice to use its shortcuts design.

Therefore, for the above reasons, we proposed to redesign Zeppelin's
shortcuts according to the table following.
ActionsModeMacWindows / LinuxOld(Mac)
Command mode Edit ESC ESC -
Edit mode Command Enter Enter -
Run - ⇧ + Enter ⇧ + Enter ⇧ + Enter
Run all below - ⇧ + ⌘ + Enter ⇧ + Ctrl + Enter ⇧ + Ctrl + Enter
Run all above - ⇧ + ⌥ + Enter ⇧ + Alt + Enter ⇧ + Ctrl + Enter
Cancel - ⇧ + ⌘ + C ⇧ + Ctrl + C ⌥ + Ctrl + C
Switch all line number - ⇧ + ⌘ + L ⇧ + Ctrl + L -
Show / Hide all output - ⇧ + ⌘ + O ⇧ + Ctrl + O -
Show / Hide all title - ⇧ + ⌘ + T ⇧ + Ctrl + T -
Clear output - ⌘ + ⌥ + L Ctrl + Alt + L ⌥ + Ctrl + L
Enable/Disable - ⌘ + ⌥ + R Ctrl + Alt + R ⌥ + Ctrl + R
Reduce width - ⌘ + ⌥ + + Ctrl + Alt + - ⇧ + Ctrl + -
Increase width - ⌘ + ⌥ + - Ctrl + Alt + + ⇧ + Ctrl + +
Delete Command D, D D, D ⌥ + Ctrl + D
Move to up Command ⌘ + K / Up Ctrl + K / Up ⌥ + Ctrl + K
Move to down Command ⌘ + J / Down Ctrl + J / Down ⌥ + Ctrl + J
Select above Command K / Up K / Up -
Select below Command J / Down J / Down -
Switch line number Command L L ⌥ + Ctrl + M
Show / Hide title Command T T ⌥ + Ctrl + T
Show / Hide output Command O O ⌥ + Ctrl + O
Show / Hide editor Command E E ⌥ + Ctrl + E
Insert above Command A A ⌥ + Ctrl + A
Insert below Command B B ⌥ + Ctrl + B
Search Edit ⌘ + F Ctrl + F ⌥ + Ctrl + F
Increase Indent Edit Tab Tab -
Decrease Indent Edit ⇧ + Tab ⇧ + Tab -
Comment Out / In Edit ⌘ + / Ctrl + / Ctrl + /
Undo Edit ⌘ + Z Ctrl + Z Ctrl + Z
Redo Edit ⇧ + ⌘ + Z Ctrl + Y -
Increase font size Edit ⌘ + . Ctrl + . -
Decrease font size Edit ⌘ + , Ctrl + , -
Decrease Indent Edit ⌘ + [ Ctrl + [ -
Increase Indent Edit ⌘ + ] Ctrl + ] -
Move the line down Edit ⌥ + Down Alt + Down ⌥ + Down
Move the line up Edit ⌥ + Up Alt + Up ⌥ + Down
Replace Edit ⌘ + ⌥ + F Ctrl + F -
Select all Edit ⌘ + A Ctrl + A ⌘ + A
Select downward Edit ⇧ + Down ⇧ + Down ⇧ + Down
Select right Edit ⇧ + Right ⇧ + Right ⇧ + Right
Select left Edit ⇧ + Left ⇧ + Left ⇧ + Left
Select upward Edit ⇧ + Up ⇧ + Up ⇧ + Up
Select to the end Edit ⌘ + ⇧ + Right Alt + ⇧ + Right ⌘ + ⇧ + Right
Select to the start Edit ⌘ + ⇧ + Left Alt + ⇧ + Left ⌘ + ⇧ + Left
Align text right Edit ⌥ + Right Ctrl + ⇧ + Right ⌥ + Right
Align text left Edit ⌥ + Left Ctrl + ⇧ + Left ⌥ + Left
Add multi-cursor above Edit ⌘ + ⌥ + Up Ctrl + Alt + Up -
Add multi-cursor below Edit ⌘ + ⌥ + Down Ctrl + Alt + Down -
Move multi-cursor from current line to the line above Edit ⌘ + ⌥ + ⇧ + Up Ctrl
+ Alt + ⇧ + Up -
Move multi-cursor from current line to the line below Edit ⌘ + ⌥ + ⇧ +
Down Ctrl
+ Alt + ⇧ + Down -

Reply via email to