My build of nnn with minor changes
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

README.md 16 KiB

il y a 5 ans
il y a 8 ans
il y a 7 ans
il y a 6 ans
il y a 5 ans
il y a 7 ans
il y a 7 ans
il y a 5 ans
il y a 7 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 8 ans
il y a 5 ans
il y a 7 ans
il y a 7 ans
il y a 6 ans
il y a 6 ans
il y a 7 ans
il y a 5 ans
il y a 7 ans
il y a 5 ans
il y a 7 ans
il y a 8 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 7 ans
il y a 6 ans
il y a 5 ans
il y a 5 ans
il y a 7 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 6 ans
il y a 7 ans
il y a 6 ans
il y a 6 ans
il y a 5 ans
il y a 7 ans
il y a 6 ans
il y a 5 ans
il y a 5 ans
il y a 7 ans
il y a 5 ans
il y a 7 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 6 ans
il y a 6 ans
il y a 5 ans
il y a 7 ans
il y a 5 ans
il y a 7 ans
il y a 6 ans
il y a 8 ans
il y a 6 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 6 ans
il y a 8 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 6 ans
il y a 5 ans
il y a 8 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 7 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 6 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 7 ans
il y a 5 ans
il y a 6 ans
il y a 6 ans
il y a 6 ans
il y a 6 ans
il y a 7 ans
il y a 5 ans
il y a 6 ans
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. <h1 align="center">nnn - <i>type less, do more, way faster</i></h1>
  2. <p align="center">
  3. <a href="https://github.com/jarun/nnn/releases/latest"><img src="https://img.shields.io/github/release/jarun/nnn.svg?maxAge=600" alt="Latest release" /></a>
  4. <a href="http://formulae.brew.sh/formula/nnn"><img src="https://img.shields.io/homebrew/v/nnn.svg?maxAge=600" alt="Homebrew" /></a>
  5. <a href="https://www.archlinux.org/packages/community/x86_64/nnn/"><img src="https://img.shields.io/badge/archlinux-rolling-blue.svg?maxAge=600" alt="Arch Linux" /></a>
  6. <a href="https://packages.debian.org/search?keywords=nnn&searchon=names&exact=1"><img src="https://img.shields.io/badge/debian-10+-blue.svg?maxAge=2592000" alt="Debian Buster+" /></a>
  7. <a href="https://apps.fedoraproject.org/packages/nnn"><img src="https://img.shields.io/badge/fedora-27+-blue.svg?maxAge=2592000" alt="Fedora 27+" /></a>
  8. <a href="https://software.opensuse.org/package/nnn"><img src="https://img.shields.io/badge/opensuse%20leap-15.0+-blue.svg?maxAge=2592000" alt="openSUSE Leap 15.0+" /></a>
  9. <a href="https://packages.ubuntu.com/search?keywords=nnn&searchon=names&exact=1"><img src="https://img.shields.io/badge/ubuntu-17.10+-blue.svg?maxAge=2592000" alt="Ubuntu Artful+" /></a>
  10. </p>
  11. <p align="center">
  12. <a href="https://repology.org/metapackage/nnn"><img src="https://repology.org/badge/tiny-repos/nnn.svg" alt="Availability"></a>
  13. <a href="https://travis-ci.org/jarun/nnn"><img src="https://img.shields.io/travis/jarun/nnn/master.svg?label=travis" alt="Travis Status" /></a>
  14. <a href="https://circleci.com/gh/jarun/workflows/nnn"><img src="https://img.shields.io/circleci/project/github/jarun/nnn.svg?label=circleci" alt="CircleCI Status" /></a>
  15. <a href="https://github.com/jarun/nnn/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-BSD%202--Clause-yellow.svg?maxAge=2592000" alt="License" /></a>
  16. </p>
  17. <p align="center">
  18. <a href="https://www.youtube.com/watch?v=U2n5aGqou9E"><img src="https://i.imgur.com/onpq3vP.png" /></a>
  19. </p>
  20. <p align="center"><i>Modes of nnn (light with filter, detail, du analyzer) with memory usage (click for a demo video)</i></a></p>
  21. <p align="center">
  22. <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-1eb0fc.svg" alt="Donate via PayPal!" /></a>
  23. </p>
  24. ## Index
  25. - [Introduction](#introduction)
  26. - [Features](#features)
  27. - [Installation](#installation)
  28. - [Library dependencies](#library-dependencies)
  29. - [Utility dependencies](#utility-dependencies)
  30. - [From a package manager](#from-a-package-manager)
  31. - [Release packages](#release-packages)
  32. - [From source](#from-source)
  33. - [Shell completion](#shell-completion)
  34. - [Usage](#usage)
  35. - [Configuration](#configuration)
  36. - [Cmdline options](#cmdline-options)
  37. - [Keyboard and mouse](#keyboard-and-mouse)
  38. - [Leader key](#leader-key)
  39. - [Help](#help)
  40. - [Mentions](#mentions)
  41. - [Developers](#developers)
  42. ## Introduction
  43. `nnn` is a full-featured terminal file manager. It's extremely light and fast (**[performance](https://github.com/jarun/nnn/wiki/Performance)**).
  44. `nnn` is also a disk usage analyzer, a fuzzy app launcher, a batch file renamer and a file picker.
  45. It runs smoothly on the Raspberry Pi, Termux on Android ([demo video](https://www.youtube.com/watch?v=AbaauM7gUJw)), Linux, macOS, BSD, Cygwin and Linux subsystem for Windows. `nnn` works seamlessly with DEs and GUI utilities. It's nearly zero-config (with sensible defaults) and can be setup in less than 5 minutes.
  46. **[Plugins](https://github.com/jarun/nnn/tree/master/plugins)** can be run with custom keybinds. There's an independent [(neo)vim plugin](https://github.com/mcchrish/nnn.vim). Custom plugins are easy to add.
  47. Visit the **[Wiki](https://github.com/jarun/nnn/wiki)** for operational concepts, how tos, use cases, chronology and insights.
  48. ## Features
  49. - Modes
  50. - Detail (default), light
  51. - Disk usage analyzer (block/apparent)
  52. - File picker, (neo)vim plugin
  53. - Navigation
  54. - *Navigate-as-you-type* with dir auto-select
  55. - 4 contexts (_aka_ tabs/workspaces)
  56. - Bookmarks; pin and visit a directory
  57. - Familiar, easy shortcuts (arrows, <kbd>~</kbd>, <kbd>-</kbd>, <kbd>@</kbd>)
  58. - Change directory at exit (*easy* shell integration)
  59. - Sorting
  60. - Ordered pure numeric names by default (visit _/proc_)
  61. - Case-insensitive version (_aka_ natural) sort
  62. - By file name, modification/access time, size, extension
  63. - Search
  64. - Instant filtering with *search-as-you-type*
  65. - Regex and substring match
  66. - Subtree search to open or edit files (using plugin)
  67. - Mimes
  68. - Open with desktop opener or specify a custom app
  69. - Create, list, extract archives
  70. - Option to open all text files in EDITOR
  71. - Information
  72. - Detailed file information
  73. - Media information (using plugin)
  74. - Convenience
  75. - Minimal configuration
  76. - Plugin keybinds
  77. - Select files across dirs; all/range selection
  78. - Copy, move, delete, archive, link selection
  79. - Batch rename selection or dir entries
  80. - FreeDesktop compliant trash (needs trash-cli)
  81. - SSHFS mounts (needs sshfs)
  82. - Create, rename, duplicate files and directories
  83. - Per-context directory color (default: blue)
  84. - Spawn a shell, run apps, run commands, execute file
  85. - Take quick notes, lock terminal (needs a locker)
  86. - Shortcut reference a keypress away
  87. - Unicode support
  88. - Follows Linux kernel coding style
  89. - Highly optimized, static analysis integrated code
  90. - Minimal library dependencies
  91. - Widely available
  92. ## Installation
  93. #### Library dependencies
  94. `nnn` needs a curses library with wide character support (like ncursesw), libreadline and standard libc. It's possible to drop libreadline using the Makefile target `norl`.
  95. #### Utility dependencies
  96. | Dependency | Installation | Operation |
  97. | --- | --- | --- |
  98. | xdg-open (Linux), open(1) (macOS), cygstart (Cygwin) | base | desktop opener |
  99. | file, coreutils (cp, mv, rm), findutils (xargs) | base | file type, copy, move and remove |
  100. | tar, (un)zip [atool/bsdtar for more formats] | base | create, list, extract tar, gzip, bzip2, zip |
  101. | sshfs, fusermount(3) | if needed | mount, unmount over SSHFS |
  102. | trash-cli | optional | trash files (default action: delete) |
  103. | vlock (Linux), bashlock (macOS), lock(1) (BSD) | optional | terminal locker (fallback: [cmatrix](https://github.com/abishekvashok/cmatrix)) |
  104. | advcpmv (Linux) ([integration](https://github.com/jarun/nnn/wiki/Advanced-use-cases#show-cp-mv-progress)) | optional | copy, move progress |
  105. | `$VISUAL` (else `$EDITOR`), `$PAGER`, `$SHELL` | optional | fallback vi, less, sh |
  106. #### From a package manager
  107. `nnn` may be available in the default repos of your distro already. Find a list of known packagers below.
  108. <details><summary>Expand</summary>
  109. <p>
  110. <br>
  111. ● <a href="https://pkgs.alpinelinux.org/packages?name=nnn">Alpine Linux</a> (<code>apk add nnn</code>)<br>
  112. ● <a href="https://www.archlinux.org/packages/community/x86_64/nnn/">Arch Linux</a> (<code>pacman -S nnn</code>)<br>
  113. ● CentOS (<code>yum --enablerepo=epel install nnn</code>)<br>
  114. ● <a href="https://crux.nu/portdb/?a=search&q=nnn">CRUX</a> (<code>prt-get depinst nnn</code>)<br>
  115. ● <a href="https://packages.debian.org/search?keywords=nnn&searchon=names&exact=1">Debian</a> (<code>apt-get install nnn</code>)<br>
  116. ● <a href="https://github.com/DragonFlyBSD/DPorts/tree/master/misc/nnn">DPorts</a> (<code>pkg install nnn</code>)<br>
  117. ● <a href="https://apps.fedoraproject.org/packages/nnn">Fedora</a> (<code>dnf install nnn</code>)<br>
  118. ● <a href="https://svnweb.freebsd.org/ports/head/misc/nnn/">FreeBDS</a> (<code>pkg install nnn</code>)<br>
  119. ● <a href="https://packages.gentoo.org/packages/app-misc/nnn">Gentoo</a> (<code>emerge nnn</code>)<br>
  120. ● <a href="http://formulae.brew.sh/formula/nnn">macOS/Homebrew</a> (<code>brew install nnn</code>)<br>
  121. ● <a href="https://www.macports.org/ports.php?by=name&substr=nnn">MacPorts</a> (<code>port install nnn</code>)<br>
  122. ● <a href="https://notabug.org/milislinux/milis/src/master/talimatname/genel/n/nnn/talimat">Milis Linux</a> (<code>mps kur nnn</code>)<br>
  123. ● <a href="https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/misc/nnn">nixpkgs</a> (<code>nix-env -i nnn</code>)<br>
  124. ● <a href="https://www.nutyx.org/en/?type=pkg&branch=rolling&arch=x86_64&searchpkg=nnn">NuTyX</a> (<code>cards install nnn</code>)<br>
  125. ● <a href="https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/sysutils/nnn/">OpenBSD</a> (<code>pkg_add nnn</code>)<br>
  126. ● <a href="https://software.opensuse.org/package/nnn">openSUSE (and packages for several other distros)</a> (<code>zypper in nnn</code>)<br>
  127. ● <a href="http://pkgsrc.se/sysutils/nnn">pkgsrc</a> (<code>pkg_add nnn</code>)<br>
  128. ● <a href="https://archive.raspbian.org/raspbian/pool/main/n/nnn/">Raspbian Testing</a> (<code>apt-get install nnn</code>)<br>
  129. ● <a href="http://slackbuilds.org/repository/14.2/system/nnn/">Slackware</a> (<code>slackpkg install nnn</code>)<br>
  130. ● <a href="http://cook.slitaz.org/index.cgi?pkg=nnn">SliTaz Cooking</a> (<code>cooker pkg nnn</code>)<br>
  131. ● <a href="https://packages.getsol.us/shannon/n/nnn/">Solus</a> (<code>eopkg install nnn</code>)<br>
  132. ● <a href="http://codex.sourcemage.org/test/shell-term-fm/nnn/">Source Mage</a> (<code>cast nnn</code>)<br>
  133. ● <a href="https://github.com/termux/termux-packages/tree/master/packages/nnn">Termux</a> (<code>pkg in nnn</code>)<br>
  134. ● <a href="https://packages.ubuntu.com/search?keywords=nnn&searchon=names&exact=1">Ubuntu</a> (<code>apt-get install nnn</code>)<br>
  135. ● <a href="https://github.com/void-linux/void-packages/tree/master/srcpkgs/nnn">Void Linux</a> (<code>xbps-install -S nnn</code>)<br>
  136. </p>
  137. </details>
  138. #### Release packages
  139. Packages for Arch Linux, CentOS, Debian, Fedora and Ubuntu are available with the [latest stable release](https://github.com/jarun/nnn/releases/latest).
  140. #### From source
  141. To cook yourself, download the [latest stable release](https://github.com/jarun/nnn/releases/latest) or clone this repository (*risky*). Then install the dependencies and compile (e.g. on Ubuntu 16.04):
  142. $ sudo apt-get install pkg-config libncursesw5-dev libreadline6-dev
  143. $ make
  144. $ sudo make strip install
  145. `PREFIX` is supported, in case you want to install to a different location.
  146. - Compilation notes on [Raspberry Pi](https://github.com/jarun/nnn/wiki/Developer-guides#compile-for-pi)
  147. - Instructions for [Cygwin](https://github.com/jarun/nnn/wiki/Developer-guides#compile-on-cygwin)
  148. #### Shell completion
  149. Option completion scripts for Bash, Fish and Zsh can be found in respective subdirectories of [`misc/auto-completion/`](misc/auto-completion). Please refer to your shell's manual for installation instructions.
  150. ## Usage
  151. #### Configuration
  152. `nnn` supports the following environment variables for configuration. All of them are optional (set if you need). There is no config file. Associated files are stored under `${XDG_CONFIG_HOME:-$HOME/.config}/nnn/`.
  153. | Example `export` | Description |
  154. | --- | --- |
  155. | `NNN_BMS='d:~/Documents;D:~/Docs archive/'` | key-bookmark pairs [max 10] |
  156. | `NNN_PLUG='o:fzy-open;p:mocplay;m:nmount;t:thumb'` | key-plugin pairs (<kbd>x-key</kbd> to run) [max 10] |
  157. | `NNN_USE_EDITOR=1` | open text files in `$VISUAL` (else `$EDITOR`, fallback vi) |
  158. | `NNN_CONTEXT_COLORS='1234'` | specify per context color [default: '4444' (all blue)] |
  159. | `NNN_SSHFS_OPTS='sshfs -o reconnect,idmap=user'` | specify SSHFS options |
  160. | `NNN_NOTE='/home/user/Dropbox/notes'` | absolute path to note file [default: none] |
  161. | `NNN_OPENER=mimeopen` | custom file opener |
  162. | `NNN_IDLE_TIMEOUT=300` | idle seconds to lock terminal [default: disabled] |
  163. | `NNN_COPIER=copier` | clipboard copier script [default: none] |
  164. | `NNN_TRASH=1` | trash files to the desktop Trash [default: delete] |
  165. #### Cmdline options
  166. ```
  167. usage: nnn [-a] [-b key] [-d] [-H] [-i] [-n] [-o]
  168. [-p file] [-r] [-s] [-S] [-t] [-v] [-h] [PATH]
  169. The missing terminal file manager for X.
  170. positional args:
  171. PATH start dir [default: current dir]
  172. optional args:
  173. -a use access time
  174. -b key open bookmark key
  175. -d detail mode
  176. -H show hidden files
  177. -i nav-as-you-type mode
  178. -n version sort
  179. -o press Enter to open files
  180. -p file selection file (stdout if '-')
  181. -r show cp, mv progress on Linux
  182. -s string filters [default: regex]
  183. -S du mode
  184. -t disable dir auto-select
  185. -v show version
  186. -h show help
  187. ```
  188. #### Keyboard and mouse
  189. Press <kbd>?</kbd> in `nnn` to see the list anytime.
  190. ```
  191. NAVIGATION
  192. ↑ k Up PgUp ^U Scroll up
  193. ↓ j Down PgDn ^D Scroll down
  194. ← h Parent dir ~ ` @ - HOME, /, start, last
  195. ↵ → l Open file/dir . Toggle show hidden
  196. g ^A First entry G ^E Last entry
  197. b Pin current dir ^B Go to pinned dir
  198. Tab ^I Next context d Toggle detail view
  199. , ^/ Lead key N LeadN Context N
  200. / Filter/Lead Ins ^T Toggle nav-as-you-type
  201. Esc Exit prompt ^L F5 Redraw/clear prompt
  202. q Quit context Lead' First file
  203. Q ^Q Quit ^G QuitCD ? Help, config
  204. FILES
  205. ^O Open with... n Create new/link
  206. D File detail ^R F2 Rename/duplicate
  207. ⎵ ^K / Y Select entry/all r Batch rename
  208. K ^Y Toggle selection y List selection
  209. P Copy selection X Delete selection
  210. V Move selection ^X Delete entry
  211. f Create archive C Execute entry
  212. ^F Extract archive F List archive
  213. e Edit in EDITOR p Open in PAGER
  214. ORDER TOGGLES
  215. ^J du S Apparent du
  216. s Size E Extn t Time modified
  217. MISC
  218. ! ^] Shell ^N Note L Lock
  219. R ^V Pick plugin F12 xK Run plugin key K
  220. c SSHFS mount u Unmount
  221. ^P Prompt = Launcher
  222. ```
  223. Note: Help & settings, file details and archive listing are shown in the PAGER. Use the PAGER-specific keys in these screens.
  224. | Mouse click | Function |
  225. |---| --- |
  226. | Left single on context number | Visit context |
  227. | Left single on top row after context numbers | Visit parent |
  228. | Left single/double on last 2 rows | Toggle nav-as-you-type |
  229. | Left single | Select context or entry |
  230. | Left double | Select context or open entry |
  231. ##### Leader key
  232. The Leader/Lead key provides a powerful multi-functional navigation mechanism. It is case-sensitive and understands contexts, bookmarks and location shortcuts.
  233. | Key | Function |
  234. |:---:| --- |
  235. | <kbd>1-4</kbd> | Go to/create selected context |
  236. | <kbd>]</kbd> | Go to next active context |
  237. | <kbd>[</kbd> | Go to previous active context |
  238. | key | Go to bookmarked location |
  239. | <kbd>'</kbd> | Go to first file in directory |
  240. | <kbd>~</kbd> <kbd>`</kbd> <kbd>@</kbd> <kbd>-</kbd> | Go to HOME, `/`, start, last visited dir |
  241. | <kbd>.</kbd> | Toggle show hidden files |
  242. | <kbd>q</kbd> | Quit context |
  243. When the filter is on, <kbd>/</kbd> works as an additional Leader key.
  244. #### Help
  245. $ nnn -h
  246. $ man nnn
  247. To lookup keyboard shortcuts at runtime, press <kbd>?</kbd>.
  248. ## Mentions
  249. - [FOSSMint](https://www.fossmint.com/nnn-linux-terminal-file-browser/)
  250. - [Hacker News 1](https://news.ycombinator.com/item?id=18520898)
  251. - [Hacker News 2](https://news.ycombinator.com/item?id=19850656)
  252. - [It's FOSS](https://itsfoss.com/nnn-file-browser-linux/)
  253. - [LinuxLinks1](https://www.linuxlinks.com/nnn-fast-and-flexible-file-manager/)
  254. - [LinuxLinks2](https://www.linuxlinks.com/bestconsolefilemanagers/)
  255. - [Suckless Rocks](https://suckless.org/rocks/)
  256. - [Ubuntu Full Circle Magazine - Issue 135](https://fullcirclemagazine.org/issue-135/)
  257. ## Developers
  258. 1. Copyright © 2014-2016 Lazaros Koromilas
  259. 2. Copyright © 2014-2016 Dimitris Papastamos
  260. 3. Copyright © 2016-2019 [Arun Prakash Jana](https://github.com/jarun)
  261. Contributions are welcome. Please visit the [ToDo list](https://github.com/jarun/nnn/issues/329).