mirror of
https://github.com/jarun/nnn.git
synced 2024-11-28 05:41:31 +00:00
Update docs
This commit is contained in:
parent
ede3e0830e
commit
642af4667c
72
README.md
72
README.md
|
@ -36,7 +36,7 @@ It runs on Linux, OS X, Raspberry Pi, Cygwin, Linux subsystem for Windows and Te
|
||||||
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RMLTQ76JSXJ4Q"><img src="https://img.shields.io/badge/PayPal-donate-green.svg" alt="Donate via PayPal!" /></a>
|
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RMLTQ76JSXJ4Q"><img src="https://img.shields.io/badge/PayPal-donate-green.svg" alt="Donate via PayPal!" /></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
### Table of Contents
|
#### TABLE OF CONTENTS
|
||||||
|
|
||||||
- [Features](#features)
|
- [Features](#features)
|
||||||
- [Performance](#performance)
|
- [Performance](#performance)
|
||||||
|
@ -71,48 +71,49 @@ It runs on Linux, OS X, Raspberry Pi, Cygwin, Linux subsystem for Windows and Te
|
||||||
- [work faster at rename prompt](#work-faster-at-rename-prompt)
|
- [work faster at rename prompt](#work-faster-at-rename-prompt)
|
||||||
- [set idle timeout](#set-idle-timeout)
|
- [set idle timeout](#set-idle-timeout)
|
||||||
- [show hot plugged drives](#show-hot-plugged-drives)
|
- [show hot plugged drives](#show-hot-plugged-drives)
|
||||||
- [tmux config](#tmux-config)
|
- [tmux configuration](#tmux-configuration)
|
||||||
- [Why fork?](#why-fork)
|
- [Why fork?](#why-fork)
|
||||||
- [Mentions](#mentions)
|
- [Mentions](#mentions)
|
||||||
- [Developers](#developers)
|
- [Developers](#developers)
|
||||||
|
|
||||||
### Features
|
#### FEATURES
|
||||||
|
|
||||||
- Modes - basic, detail (default), disk usage analyzer (du)
|
- Modes
|
||||||
|
- Basic, detail (default), disk usage analyzer (du)
|
||||||
- Navigation
|
- Navigation
|
||||||
- Familiar, easy shortcuts (arrows, `~`, `-`, `&`)
|
- Familiar, easy shortcuts (arrows, `~`, `-`, `&`)
|
||||||
- *Navigate-as-you-type* mode with dir auto-select for the maverick
|
- *Navigate-as-you-type* with auto-select directory
|
||||||
- Handy bookmarks, start at bookmark, pin and visit directory
|
- Contexts (_aka_ tabs _aka_ workspaces)
|
||||||
- Multiple contexts
|
- Bookmarks, pin and visit directory
|
||||||
- Roll-over at edges, page through entries
|
|
||||||
- Show directories in custom color (default: enabled in blue)
|
|
||||||
- Sorting
|
- Sorting
|
||||||
- Directories always listed on top
|
- Directories always listed on top
|
||||||
- Sort by file name, modification time, size
|
- Sort by file name, modification time, size
|
||||||
- Numeric order (1, 2, ... 10, 11, ...) for numeric names
|
- Numeric order for numeric names (visit _/proc_)
|
||||||
- Search
|
- Search
|
||||||
- Superfast directory content filtering with *search-as-you-type*
|
- Instant filtering with *search-as-you-type*
|
||||||
- Mimes
|
- Mimes
|
||||||
- Open with desktop opener (default) or specify a custom app
|
- Open with desktop opener or specify a custom app
|
||||||
- Create, list and extract archives (needs atool/patool)
|
- Create, list, extract archives (needs (p)atool)
|
||||||
- Optionally open text files in EDITOR (fallback vi)
|
- Open all text files in EDITOR (optional)
|
||||||
- Information
|
- Information
|
||||||
- Detailed stat-like file information
|
- Detailed stat-like file information
|
||||||
- Media information (needs mediainfo or exiftool, if specified)
|
- Media information (needs mediainfo/exiftool)
|
||||||
- Convenience
|
- Convenience
|
||||||
- Copy, move, delete multiple files by selection
|
|
||||||
- Create, rename files and directories
|
- Create, rename files and directories
|
||||||
- Batch rename/move/delete current directory entries in vidir (from moreutils)
|
- Select multiple files; copy, move, delete selection
|
||||||
- Spawn SHELL (fallback sh) in the current directory
|
- Batch rename/move/delete (needs vidir)
|
||||||
|
- Show directories in custom color (default: blue)
|
||||||
|
- Spawn SHELL in the current directory
|
||||||
- Run custom scripts in the current directory
|
- Run custom scripts in the current directory
|
||||||
- Change directory at exit (*easy* shell integration)
|
- Change directory at exit (*easy* shell integration)
|
||||||
- Open any file in EDITOR (fallback vi) or PAGER (fallback less)
|
- Edit file in EDITOR or open in PAGER
|
||||||
- GUI app launcher (maximum 2 space-separated arguments)
|
- GUI app launcher (up to 2 space-separated args)
|
||||||
- Terminal screensaver/locker integration
|
- Terminal locker integration
|
||||||
- Unicode support
|
- Unicode support
|
||||||
- Highly optimized code, minimal resource usage
|
- Highly optimized code, minimal resource usage
|
||||||
|
- Available on many distros
|
||||||
|
|
||||||
### Performance
|
#### PERFORMANCE
|
||||||
|
|
||||||
`nnn` vs. ncdu memory usage in disk usage analyzer mode (400K files on disk):
|
`nnn` vs. ncdu memory usage in disk usage analyzer mode (400K files on disk):
|
||||||
|
|
||||||
|
@ -133,7 +134,7 @@ It runs on Linux, OS X, Raspberry Pi, Cygwin, Linux subsystem for Windows and Te
|
||||||
|
|
||||||
Intrigued? Find out [HOW](https://github.com/jarun/nnn/wiki/performance-factors).
|
Intrigued? Find out [HOW](https://github.com/jarun/nnn/wiki/performance-factors).
|
||||||
|
|
||||||
### Installation
|
#### INSTALLATION
|
||||||
|
|
||||||
#### Dependencies
|
#### Dependencies
|
||||||
|
|
||||||
|
@ -172,11 +173,11 @@ To cook yourself, download the [latest stable release](https://github.com/jarun/
|
||||||
|
|
||||||
`PREFIX` is supported, in case you want to install to a different location.
|
`PREFIX` is supported, in case you want to install to a different location.
|
||||||
|
|
||||||
### Shell completion
|
#### SHELL COMPLETION
|
||||||
|
|
||||||
Search keyword and option completion scripts for Bash, Fish and Zsh can be found in respective subdirectories of [`scripts/auto-completion/`](scripts/auto-completion). Please refer to your shell's manual for installation instructions.
|
Search keyword and option completion scripts for Bash, Fish and Zsh can be found in respective subdirectories of [`scripts/auto-completion/`](scripts/auto-completion). Please refer to your shell's manual for installation instructions.
|
||||||
|
|
||||||
### Usage
|
#### USAGE
|
||||||
|
|
||||||
#### Cmdline options
|
#### Cmdline options
|
||||||
|
|
||||||
|
@ -260,7 +261,7 @@ If all the configured bookmark keys are single character, the prompt is not show
|
||||||
|
|
||||||
#### Contexts
|
#### Contexts
|
||||||
|
|
||||||
Contexts (aka _tabs_ aka _workspaces_) serve the purpose of exploring multiple directories simultaneously. 4 contexts are available. The status of the contexts are shown in the top left corner:
|
Contexts serve the purpose of exploring multiple directories simultaneously. 4 contexts are available. The status of the contexts are shown in the top left corner:
|
||||||
|
|
||||||
- the current context is in reverse
|
- the current context is in reverse
|
||||||
- other used contexts are underlined
|
- other used contexts are underlined
|
||||||
|
@ -314,9 +315,10 @@ The following indicators are used in the detail view:
|
||||||
| External dependency | Operation |
|
| External dependency | Operation |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| xdg-open (Linux), open(1) (OS X), cygstart (Cygwin) | desktop opener |
|
| xdg-open (Linux), open(1) (OS X), cygstart (Cygwin) | desktop opener |
|
||||||
|
| cp, mv, rm | copy, move and remove files |
|
||||||
| mediainfo, exiftool | multimedia file details |
|
| mediainfo, exiftool | multimedia file details |
|
||||||
| atool, patool ([integration](#integrate-patool)) | create, list and extract archives |
|
| atool, patool ([integration](#integrate-patool)) | create, list and extract archives |
|
||||||
| vidir from moreutils | batch rename, move, delete dir entries |
|
| vidir (from moreutils) | batch rename, move, delete dir entries |
|
||||||
| vlock (Linux), bashlock (OS X), lock(1) (BSD) | terminal locker |
|
| vlock (Linux), bashlock (OS X), lock(1) (BSD) | terminal locker |
|
||||||
| $EDITOR (overridden by $VISUAL, if defined) | edit files (fallback vi) |
|
| $EDITOR (overridden by $VISUAL, if defined) | edit files (fallback vi) |
|
||||||
| $PAGER | page through files (fallback less) |
|
| $PAGER | page through files (fallback less) |
|
||||||
|
@ -332,7 +334,7 @@ The following indicators are used in the detail view:
|
||||||
$ man nnn
|
$ man nnn
|
||||||
To lookup keyboard shortcuts at runtime, press <kbd>?</kbd>.
|
To lookup keyboard shortcuts at runtime, press <kbd>?</kbd>.
|
||||||
|
|
||||||
### Quickstart
|
#### QUICKSTART
|
||||||
|
|
||||||
1. Install the [utilities required](#file-handling) for your regular activities.
|
1. Install the [utilities required](#file-handling) for your regular activities.
|
||||||
2. Configure [cd on quit](#cd-on-quit).
|
2. Configure [cd on quit](#cd-on-quit).
|
||||||
|
@ -343,7 +345,7 @@ To lookup keyboard shortcuts at runtime, press <kbd>?</kbd>.
|
||||||
5. Press <kbd>?</kbd> for help on keyboard shortcuts anytime.
|
5. Press <kbd>?</kbd> for help on keyboard shortcuts anytime.
|
||||||
6. For additional functionality [setup custom scripts](#run-custom-scripts).
|
6. For additional functionality [setup custom scripts](#run-custom-scripts).
|
||||||
|
|
||||||
### How to
|
#### HOW TO
|
||||||
|
|
||||||
#### add bookmarks
|
#### add bookmarks
|
||||||
|
|
||||||
|
@ -484,30 +486,30 @@ The rename prompt supports some bash-like command-line shortcuts - <kbd>^A</kbd>
|
||||||
|
|
||||||
#### set idle timeout
|
#### set idle timeout
|
||||||
|
|
||||||
The terminal screensaver is disabled by default. To set the wait time in seconds, use environment variable `NNN_IDLE_TIMEOUT`.
|
The terminal locker is disabled by default. To set the wait time in seconds, use environment variable `NNN_IDLE_TIMEOUT`.
|
||||||
|
|
||||||
#### show hot plugged drives
|
#### show hot plugged drives
|
||||||
|
|
||||||
Enable volume management in your DE file manager and set removable drives or media to be auto-mounted when inserted. Then visit the usual mount point location (`/mnt` or `/media/user`) in `nnn`.
|
Enable volume management in your DE file manager and set removable drives or media to be auto-mounted when inserted. Then visit the usual mount point location (`/mnt` or `/media/user`) in `nnn`.
|
||||||
|
|
||||||
#### tmux config
|
#### tmux configuration
|
||||||
|
|
||||||
`nnn` might not handle keypresses correctly when used with tmux (see issue #104 for more details). Set `TERM=xterm-256color` to address it.
|
`nnn` might not handle keypresses correctly when used with tmux (see issue #104 for more details). Set `TERM=xterm-256color` to address it.
|
||||||
|
|
||||||
### Why fork?
|
#### WHY FORK?
|
||||||
|
|
||||||
`nnn` was initially forked from [noice](http://git.2f30.org/noice/) but is significantly [different](https://github.com/jarun/nnn/wiki/nnn-vs.-noice) today. I chose to fork because:
|
`nnn` was initially forked from [noice](http://git.2f30.org/noice/) but is significantly [different](https://github.com/jarun/nnn/wiki/nnn-vs.-noice) today. I chose to fork because:
|
||||||
- one can argue my approach deviates from the goal of the original project - keep the utility `suckless`. In my opinion evolution is the taste of time.
|
- one can argue my approach deviates from the goal of the original project - keep the utility `suckless`. `noice` was rudimentary. In my opinion evolution is the taste of time.
|
||||||
- I would like to have a bit of control on what features are added in the name of desktop integration. A feature-bloat is the last thing in my mind. Check out [nnn design considerations](https://github.com/jarun/nnn/wiki/nnn-design-considerations) for more details.
|
- I would like to have a bit of control on what features are added in the name of desktop integration. A feature-bloat is the last thing in my mind. Check out [nnn design considerations](https://github.com/jarun/nnn/wiki/nnn-design-considerations) for more details.
|
||||||
|
|
||||||
### Mentions
|
#### MENTIONS
|
||||||
|
|
||||||
- [FOSSMint](https://www.fossmint.com/nnn-linux-terminal-file-browser/)
|
- [FOSSMint](https://www.fossmint.com/nnn-linux-terminal-file-browser/)
|
||||||
- [It's FOSS](https://itsfoss.com/nnn-file-browser-linux/)
|
- [It's FOSS](https://itsfoss.com/nnn-file-browser-linux/)
|
||||||
- [LinuxLinks](https://www.linuxlinks.com/nnn-fast-and-flexible-file-manager/)
|
- [LinuxLinks](https://www.linuxlinks.com/nnn-fast-and-flexible-file-manager/)
|
||||||
- [Ubuntu Full Circle Magazine - Issue 135](https://fullcirclemagazine.org/issue-135/)
|
- [Ubuntu Full Circle Magazine - Issue 135](https://fullcirclemagazine.org/issue-135/)
|
||||||
|
|
||||||
### Developers
|
#### DEVELOPERS
|
||||||
|
|
||||||
1. Copyright © 2014-2016 Lazaros Koromilas
|
1. Copyright © 2014-2016 Lazaros Koromilas
|
||||||
2. Copyright © 2014-2016 Dimitris Papastamos
|
2. Copyright © 2014-2016 Dimitris Papastamos
|
||||||
|
|
3
nnn.1
3
nnn.1
|
@ -273,8 +273,7 @@ files.
|
||||||
export NNN_USE_EDITOR=1
|
export NNN_USE_EDITOR=1
|
||||||
.Ed
|
.Ed
|
||||||
.Pp
|
.Pp
|
||||||
\fBNNN_IDLE_TIMEOUT:\fR set idle timeout (in seconds) to invoke terminal
|
\fBNNN_IDLE_TIMEOUT:\fR set idle timeout (in seconds) to invoke terminal locker.
|
||||||
screensaver.
|
|
||||||
.Pp
|
.Pp
|
||||||
\fBNNN_COPIER:\fR set to a clipboard copier script. For example, on Linux:
|
\fBNNN_COPIER:\fR set to a clipboard copier script. For example, on Linux:
|
||||||
.Bd -literal
|
.Bd -literal
|
||||||
|
|
|
@ -72,8 +72,8 @@ elif [ "$2" == "search" ]; then
|
||||||
bg=(">/dev/null 2>&1 &"
|
bg=(">/dev/null 2>&1 &"
|
||||||
">/dev/null 2>&1 &")
|
">/dev/null 2>&1 &")
|
||||||
|
|
||||||
#--------------- SCREENSAVER ----------------
|
#------------------ LOCKER ------------------
|
||||||
elif [ "$2" == "screensaver" ]; then
|
elif [ "$2" == "locker" ]; then
|
||||||
app=("vlock"
|
app=("vlock"
|
||||||
"bashlock"
|
"bashlock"
|
||||||
"lock")
|
"lock")
|
||||||
|
|
|
@ -22,14 +22,14 @@ supports the following options:
|
||||||
The first argument can be the file or path to pass as an argument to the app. It can also be an empty string e.g., while locking the terminal.
|
The first argument can be the file or path to pass as an argument to the app. It can also be an empty string e.g., while locking the terminal.
|
||||||
.Pp
|
.Pp
|
||||||
"type/action"
|
"type/action"
|
||||||
This can be any of the strings \fItext\fR, \fIsearch\fR, \fIscript\fR or \fI screensaver\fR.
|
This can be any of the strings \fItext\fR, \fIsearch\fR, \fIscript\fR or \fIlocker\fR.
|
||||||
.Sh USAGE
|
.Sh USAGE
|
||||||
.Pp
|
.Pp
|
||||||
.Bd -literal
|
.Bd -literal
|
||||||
$ nlay info.txt text
|
$ nlay info.txt text
|
||||||
$ nlay . search
|
$ nlay . search
|
||||||
$ nlay ~/script.sh script
|
$ nlay ~/script.sh script
|
||||||
$ nlay "" screensaver
|
$ nlay "" locker
|
||||||
.Ed
|
.Ed
|
||||||
.Sh AUTHOR
|
.Sh AUTHOR
|
||||||
.An Arun Prakash Jana Aq Mt engineerarun@gmail.com .
|
.An Arun Prakash Jana Aq Mt engineerarun@gmail.com .
|
||||||
|
|
|
@ -3503,7 +3503,7 @@ int main(int argc, char *argv[])
|
||||||
editor = xgetenv("EDITOR", "vi");
|
editor = xgetenv("EDITOR", "vi");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get screensaver wait time, if set; copier used as tmp var */
|
/* Get locker wait time, if set; copier used as tmp var */
|
||||||
copier = getenv("NNN_IDLE_TIMEOUT");
|
copier = getenv("NNN_IDLE_TIMEOUT");
|
||||||
if (copier) {
|
if (copier) {
|
||||||
opt = atoi(copier);
|
opt = atoi(copier);
|
||||||
|
|
Loading…
Reference in a new issue