Getting Started
Plugins
- List of plugins
- Installing plugins
- Writing plugins
- Architecture
- Sharing plugins
- Core plugin
- Caveats
- API
Configuration
- macOS
- Data directory
- Shortcuts
- Terminal
- Fonts
- Context menu
- Metrics
Custom keyboard shortcuts
Keyboard shortcuts can be customized in the file
Key Bindings.json
. The
default keyboard settings file
looks as follows:
[ ... { "keys": ["F4"], "command": "open_with_editor" }, { "keys": ["F5"], "command": "copy" }, { "keys": ["Shift+F6"], "command": "rename" }, { "keys": ["F6"], "command": "move" }, { "keys": ["F7"], "command": "create_directory" }, { "keys": ["F8"], "command": "move_to_trash" }, ... ]
To define a keyboard shortcut, go to your
data directory and create
(or edit) the file
Plugins/User/Settings/Key Bindings.json
.
For example, if you want to be able to open files with F3, the file would
look as follows:
[ { "keys": ["F3"], "command": "open" } ]
To apply your changes, open the Command Palette with
Ctrl+Shift+P
(or Cmd+Shift+P
on Mac) and enter
Reload plugins
:
- Reload plugins
A list of all available commands can be found in the
Core plugin. If you see a command MoveCursorDown
there, refer to it in the key bindings as move_cursor_down
.
Note that it is not necessary to repeat all existing keyboard shortcuts. You simply selectively (re-)define the ones you want.
A common surprise is that defining a shortcut does not remove existing
ones. For example: On Mac, Enter
opens the current file.
When you define a new shortcut so Cmd+O
does the same, then
Enter
still works. You can disable it by tying it to the
command none
:
[ { "keys": ["Cmd+O"], "command": "open" }, { "keys": ["Enter"], "command": "none" } ]
Another caveat: If you want to define a shortcut for a key that requires
pressing Shift
, such as for instance :
or
?
, then there's currently a
bug
that requires you to include Shift
as a modifier. For
instance:
{ "keys": ["Shift+:"], "command": "open" }
Further information
fman internally uses the Qt framework to process keystrokes. For a list of more available keys and further information, please see this page from the Qt documentation.
The fact that you write custom settings in
Plugins/User/Settings
hints at fman's plugin system. It is
described in more detail on
another page.