Skip to content
Spencer Heywood edited this page Aug 29, 2017 · 3 revisions

Source

JumpFm

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.

__ About

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.

Jumping

__ Jumping

Press j to jump directly to your favorites folders. No manual bookmarking is needed, JumpFm will learn where you want to go.

Git Awareness

__ Git Awareness

Files are displayed according to their git status.

plugins

__ Plugins

Powerful plugin system based on NPM.

Jumping

__ Filtering

Press f to quickly find the files you are looking for.

Flat Mode

__ Flat Mode

Press r and all directories are gone. Press it again to bring them back.

Gist

__ Instant Gist

Press ctrl + g to create instant gist from selected files.

__ Before You Jump

__

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.

__ Key Bindings

The default keybindings can be configured by editing the keybinding file. Not all keybindings are available in filter mode.

Default Bindings

Navigation

| ----- |

| 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 |
| alt + left | go to previous directory |
| alt + right | go to next directory |

  • Holding the shift key while navigating also triggers file selection.
Selection

| ----- |

| space | Toggle selection |
| ctrl + a | Select all |
| esc | Clear selection |

File Operations

| ----- |

| fn + 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 |

Panels

| ----- |

| tab | Switch panel |
| s | Swap panels |

Filters

| ----- |

| f | Enter filter mode |
| l | Use selected files extension as a filter |
| h | Toggle hidden mode |
| r | Toggle flat mode |

Miscellaneous

| ----- |

| ctrl + g | Create a public gist from selected files |
| ctrl + 0 | Reset font size |

__ Settings

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.

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

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.

Builtin plugins:

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

__ Feature Request

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)
}