How to use IntelliJ's keymap for SublimeText 3 - intellij-idea

I'm very used to IntelliJ IDEA's family keybinding (PyCharm, WebStorm, RubyMine...).
How can I configure Sumblime Text 3 to use those shortcuts?
I've been googling and I can't find anything! But I don't think I'm the only one needing this. Thank you :)

Sublime Text 3 - User Key Bindings (IntelliJ IDEA Style) - Windows
[
{ "keys": ["ctrl+y"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Line.sublime-macro"} },
{ "keys": ["ctrl+d"], "command": "duplicate_line" },
{ "keys": ["shift+alt+up"], "command": "swap_line_up" },
{ "keys": ["shift+alt+down"], "command": "swap_line_down" }
]
found the answer here.

Related

How to prevent JupyterLab from overwriting my settings?

My JupyterLab version is 3.5.0. I want the shortcuts to be similar with vscode, and customize them at the following path (on Mac)
~/.jupyter/lab/user-settings/#jupyterlab/shortcuts-extension/shortcuts.jupyterlab-settings
but each time reopen JupyterLab, this file shortcuts.jupyterlab-settings will be overwritten, and the disabled shortcuts will be added back automatically.
For example, the disabled key
"command": "notebook:change-cell-to-markdown",
"keys": [
"M"
],
"selector": ".jp-Notebook:focus",
"disabled": true
},
will be replaced by
{
"args": {},
"command": "notebook:change-cell-to-markdown",
"keys": [
"M"
],
"selector": ".jp-Notebook:focus"
},
The following screenshot shows the differences: the LHS is my settings, and the RHS is the file shortcuts.jupyterlab-settings overwritten by JupyterLab.
How to prevent this behaviour?

Why doesn't custom shortcut (to clear output in Jupyter Lab) work?

Following the instruction to create custom shortcuts in Jupyter Lab, I've got the hide and show work but not the one to clear cell output (the first command entry). Does anyone know what the issue is? Thank you!
{
"shortcuts": [
{
"command": "notebook:clear-cell-outputs",
"keys": [
"Ctrl L"
],
"selector": ".jp-Notebook:focus"
},
{
"command": "notebook:hide-cell-outputs",
"keys": [
"O"
],
"selector": ".jp-Notebook:focus"
},
{
"command": "notebook:show-cell-outputs",
"keys": [
"Shift O"
],
"selector": ".jp-Notebook:focus"
}
]
}
The correct command to use is notebook:clear-cell-output (no "s" at the end). The complete command list can be found here.

Visual Studio Code Multiline select

VS studio's shortcut is Alt+Click. But my Alt button doesnt work
How can i switch that shortcut to Ctrl+Click?
I didnt find that shortcut in settings, maybe there is one more way to do it?
No, there is no way to reconfigure this, though it was being discussed on this github issue.
However, there are other ways to add multiple cursors (which is what alt+click does in Visual Studio Code), though they aren't exactly what you are looking for. These are the default keybindings for the commands that add cursors:
{ "key": "ctrl+alt+up", "command": "editor.action.insertCursorAbove",
"when": "editorTextFocus" },
{ "key": "shift+alt+i", "command": "editor.action.insertCursorAtEndOfEachLineSelected",
"when": "editorTextFocus" },
{ "key": "ctrl+alt+down", "command": "editor.action.insertCursorBelow",
"when": "editorTextFocus" },

Sublimetext custom key binding to Apple "cmd" button?

What is the keyword to specify the "command" button for mac?
I want to be able to press "command+t" to open a new tab, for instance.
What do I type into the keybindings file?
This doesn't work.
[
{ "keys": ["command+t"], "command": "new_tab" },
]
The proper key designation for the ⌘ key in OS X as well as the Windows key on other keyboards is super. So,
[ { "keys": ["super+t"], "command": "new_tab" }, ]
would be your key binding.
You can find the key binding reference here.

Sublime Text - Remove plugin's keymap shortcuts

In ST3, I want to keep the default key-map for super+alt+v, which is the paste history menu.
However, a plugin that I would like to use overrides those keys in it's default keymap. Can I remove the plugin's shortcut for super+alt+v or the keymap entirely?
This is what I want to keep (from the 'Default (OSX).sublime-keymap')
{ "keys": ["super+option+v"], "command": "paste_from_history" }
The is the perpetrator:
{ "keys": ["super+alt+v"], "command": "text_pastry_insert_text", "args": { "clipboard": true, "separator": "\n" } },
Turns out the Plugin's User settings will override the Plugin's Default.
So I copied { "keys": ["super+option+v"], "command": "paste_from_history" } from the original Default Sublime keymap into Text Pastry/User keymap and it's back. Thanks #Martin for talking it out with me.