Skip to content

psprint/n-commodore

Repository files navigation

paypal

Table of Contents generated with DocToc

N-Commodore – a novel file manager/shell/command-line

A new approach to the command line:

  • it’s a merge of Midnight Commander and command line,
  • … because everything is panelized, greppable and remembered,
  • you enter commands like ls, mv, cp, cat and have their output captured, always,
  • then you can save the output via Ctrl-X (to a GDBM database) and visit it back with Ctrl-Shift-Left/Right,
  • the screen save includes complete state like: current working directory, grep keywords, cursor position, etc.

I’m hoping that it’ll gain some attention, because by accident I might have discovered a fully novel, unprecedented approach to file managers/command line.

Pressing ENTER on any line will open $VISUAL / $EDITOR / $PAGER scrolled to that line (if in file preview, otherwise, if poiting to the file, it will just open the file in editor).

Any view can be greped – n-commodore starts with search prompt active, so you can enter the search-keyword to have either files, file preview, or previous com mands (views F1, F2, F3) filtered with it. Multiple keywords are allowed.

More in-depth explanation

Basically it's about 3 factors:

  • panelize everything,
  • grep everything,
  • save everything.

Panelization is known from Midnight Commander - it means to capture command output into a list that can be browsed. Grepping is known from fzf. Screen saving is a new paradigm

You basically have new screen (a greppable panel) for each new command, which is saved to the disk (GDBM), and which can be fetched/navigated to, having also PWD dir and position in panel restored.

Asciicast

asciicast

Installation

NEW: AppImages are available.

Clone the repo and symlink $PWD/bin/n-c (full path) to a directory in your $PATH, like /usr/local/bin, After this, run n-c for the file manager.

… or, if using Zsh, load the plugin file n-commdore.plugin.zsh either directly (source …) or via a plugin manager, like zinit (zinit for psprint/n-commodore). This creates a nc alias which you can use to start the file manager. You can define a variable NC_NO_NICKNAME_CMD=1 to skip alias creation.