-
Notifications
You must be signed in to change notification settings - Fork 2
Home
JumpFm V1.0.0 was rewritten from scratch with focus on performance. Unfortunately, this version is not compatible with older versions. If you had older version installed please delete the folder ~/.jumpfm
and restart JumpFm.
JumpFm is a minimalistic dual panel file manager for Linux that lets you navigate your file system very efficiently. It is highly configurable and extendible and it comes with some builtin super-powers.
Press j
to jump directly to your favorites folders. No manual bookmarking is needed, JumpFm will learn where you want to go.
Files are displayed according to their git status.
Powerful plugin system based on NPM.
Press f
to quickly find the files you are looking for.
Press r
and all directories are gone. Press it again to bring them back.
Press ctrl + g
to create instant gist from selected files.
__
Instant gists are public !!! Don't gist your private ssh key or any other private information.
__
There are no confirmation dialogs in JumpFm, whenever you hit the DEL
key a file is gone.
The default keybindings can be configured by editing the keybinding file. Not all keybindings are available in filter mode.
| ----- |
| j | Open the jump dialog |
| down / [ | Down |
| page down / ctrl + [ | Page down |
| up / ] | Up |
| shift + up | up and select |
| page up | page up |
| shift + page up | page up and select |
| home | go to start |
| end | go to end |
| enter | enter folder / open file |
| backspace | up the directory tree |
| ctrl + home | go to home directory |
| ctrl + right | open directory in right panel |
| ctrl + left | open directory in left panel |
| alt + left | go to previous directory |
| alt + right | go to next directory |
- Holding the shift key while navigating also triggers file selection.
| ----- |
| space | Toggle selection |
| ctrl + a | Select all |
| esc | Clear selection |
| ----- |
| del | Delete selected files |
| F4 | Edit file |
| Shift + F4 | New File |
| F7 | New Folder |
| F2 | Rename File |
| z | Zip selected files |
| u | Unzip current file |
| P | Copy full path of active panel |
| p | Copy full path of current file to clipboard |
| F5 | Copy selected files |
| F6 | Move selected files |
| ----- |
| tab | Switch panel |
| s | Swap panels |
| ----- |
| f | Enter filter mode |
| l | Use selected files extension as a filter |
| h | Toggle hidden mode |
| r | Toggle flat mode |
| ----- |
| ctrl + g | Create a public gist from selected files |
| ctrl + = | Increase font size |
| ctrl + - | Decrease font size |
| ctrl + 0 | Reset font size |
All settings files are located under the ~/.jumpfm
directory. You can edit the settings files to make JumpFm your own. You can also safely delete the settings folder and restart JumpFm to restore the default settings.
Key | Default Value | Description |
---|---|---|
timeFormat | HH:mm:ss | Set the time format (e.g. for the clock plugin) |
dateFormat | MM/DD/YYYY | Set the date format (e.g. for the clock plugin) |
flatModeMaxSize | 200 | Set the maximum number of files the flat mode can display |
historyMaxSize | 20 | Set the maximum history stack size |
jumpMaxDbSize | 300 | Set the maximum number of folders that JumpFm index for fast jumping |
jumpDbSaveInterval | 5 | Controls how often JumpFm update the jumps database |
weatherLocation | Haifa, IL | Default weather location |
editor | gedit | Default editor to edit files |
Plugins control every aspect of JumpFm. You can enable/disable them, install new once and also write your own. They are located under ~/.jumpfm/plugins
and are managed with npm/yarn.
Plugin | Enabled | Description | Safely Disable |
---|---|---|---|
jumpfm-version | true | Displays the current version of JumpFm. | yes |
jumpfm-clock | true | Displays the date and time. | yes |
jumpfm-weather | true | Displays local (need to set the weatherLocation value) weather |
yes |
jumpfm-fs | true | List the files in the directory. | no |
jumpfm-key-nav | true | Enable keyboard shortcuts. | no |
jumpfm-file-ops | true | Enable file operations such as renaming, editing, etc... | no |
jumpfm-copy | true | Enable file copying. | no |
jumpfm-jump | true | Enable directory jumping. | yes (but why?) |
jumpfm-history | true | Enable history navigation. | yes (but why?) |
jumpfm-flat-mode | true | Enable flat mode. | yes |
jumpfm-zip | true | Enable zipping and unzipping files. | yes |
jumpfm-git-status | true | Enable git status awareness. Might cause some performance degradation when browsing large git repositories. | yes |
jumpfm-gist | true | Allow sharing files via public gists. If you decide to enable this plugin make sure you know what public means. | yes |
Please feel free to open an issue.
Want to write your own plugin ? great, it is as easy as writing an npm package. Here is the source code of the jumpfm-clock plugin and here is the full API.
import { JumpFm } from 'jumpfm-api'
import * as moment from 'moment'
export const load = (jumpFm: JumpFm) => {
const update = () => {
const m = moment(Date.now())
jumpFm.statusBar.msg('clock')
.setType('info')
.setText(m.format(
jumpFm.settings.getStr('timeFormat', 'HH:mm:ss')
))
.setTooltip(m.format(
jumpFm.settings.getStr('dateFormat', 'MM/DD/YYYY ')
))
}
update()
setInterval(update, 1000)
}