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 6 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 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
il y a 5 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. - Sort by file name, modification time, size, file 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 (needs mediainfo/exiftool)
  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. | mediainfo / exiftool | if needed | multimedia file details |
  102. | sshfs, fusermount(3) | if needed | mount, unmount over SSHFS |
  103. | trash-cli | optional | trash files (default action: delete) |
  104. | vlock (Linux), bashlock (macOS), lock(1) (BSD) | optional | terminal locker (fallback: [cmatrix](https://github.com/abishekvashok/cmatrix)) |
  105. | advcpmv (Linux) ([integration](https://github.com/jarun/nnn/wiki/Advanced-use-cases#show-cp-mv-progress)) | optional | copy, move progress |
  106. | `$VISUAL` (else `$EDITOR`), `$PAGER`, `$SHELL` | optional | fallback vi, less, sh |
  107. #### From a package manager
  108. `nnn` may be available in the default repos of your distro already. Find a list of known packagers below.
  109. <details><summary>Expand</summary>
  110. <p>
  111. <br>
  112. ● <a href="https://pkgs.alpinelinux.org/packages?name=nnn">Alpine Linux</a> (<code>apk add nnn</code>)<br>
  113. ● <a href="https://www.archlinux.org/packages/community/x86_64/nnn/">Arch Linux</a> (<code>pacman -S nnn</code>)<br>
  114. ● CentOS (<code>yum --enablerepo=epel install nnn</code>)<br>
  115. ● <a href="https://crux.nu/portdb/?a=search&q=nnn">CRUX</a> (<code>prt-get depinst nnn</code>)<br>
  116. ● <a href="https://packages.debian.org/search?keywords=nnn&searchon=names&exact=1">Debian</a> (<code>apt-get install nnn</code>)<br>
  117. ● <a href="https://github.com/DragonFlyBSD/DPorts/tree/master/misc/nnn">DPorts</a> (<code>pkg install nnn</code>)<br>
  118. ● <a href="https://apps.fedoraproject.org/packages/nnn">Fedora</a> (<code>dnf install nnn</code>)<br>
  119. ● <a href="https://svnweb.freebsd.org/ports/head/misc/nnn/">FreeBDS</a> (<code>pkg install nnn</code>)<br>
  120. ● <a href="https://packages.gentoo.org/packages/app-misc/nnn">Gentoo</a> (<code>emerge nnn</code>)<br>
  121. ● <a href="http://formulae.brew.sh/formula/nnn">macOS/Homebrew</a> (<code>brew install nnn</code>)<br>
  122. ● <a href="https://www.macports.org/ports.php?by=name&substr=nnn">MacPorts</a> (<code>port install nnn</code>)<br>
  123. ● <a href="https://notabug.org/milislinux/milis/src/master/talimatname/genel/n/nnn/talimat">Milis Linux</a> (<code>mps kur nnn</code>)<br>
  124. ● <a href="https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/misc/nnn">nixpkgs</a> (<code>nix-env -i nnn</code>)<br>
  125. ● <a href="https://www.nutyx.org/en/?type=pkg&branch=rolling&arch=x86_64&searchpkg=nnn">NuTyX</a> (<code>cards install nnn</code>)<br>
  126. ● <a href="https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/sysutils/nnn/">OpenBSD</a> (<code>pkg_add nnn</code>)<br>
  127. ● <a href="https://software.opensuse.org/package/nnn">openSUSE (and packages for several other distros)</a> (<code>zypper in nnn</code>)<br>
  128. ● <a href="http://pkgsrc.se/sysutils/nnn">pkgsrc</a> (<code>pkg_add nnn</code>)<br>
  129. ● <a href="https://archive.raspbian.org/raspbian/pool/main/n/nnn/">Raspbian Testing</a> (<code>apt-get install nnn</code>)<br>
  130. ● <a href="http://slackbuilds.org/repository/14.2/system/nnn/">Slackware</a> (<code>slackpkg install nnn</code>)<br>
  131. ● <a href="http://cook.slitaz.org/index.cgi?pkg=nnn">SliTaz Cooking</a> (<code>cooker pkg nnn</code>)<br>
  132. ● <a href="https://packages.getsol.us/shannon/n/nnn/">Solus</a> (<code>eopkg install nnn</code>)<br>
  133. ● <a href="http://codex.sourcemage.org/test/shell-term-fm/nnn/">Source Mage</a> (<code>cast nnn</code>)<br>
  134. ● <a href="https://github.com/termux/termux-packages/tree/master/packages/nnn">Termux</a> (<code>pkg in nnn</code>)<br>
  135. ● <a href="https://packages.ubuntu.com/search?keywords=nnn&searchon=names&exact=1">Ubuntu</a> (<code>apt-get install nnn</code>)<br>
  136. ● <a href="https://github.com/void-linux/void-packages/tree/master/srcpkgs/nnn">Void Linux</a> (<code>xbps-install -S nnn</code>)<br>
  137. </p>
  138. </details>
  139. #### Release packages
  140. Packages for Arch Linux, CentOS, Debian, Fedora and Ubuntu are available with the [latest stable release](https://github.com/jarun/nnn/releases/latest).
  141. #### From source
  142. 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):
  143. $ sudo apt-get install pkg-config libncursesw5-dev libreadline6-dev
  144. $ make
  145. $ sudo make strip install
  146. `PREFIX` is supported, in case you want to install to a different location.
  147. - Compilation notes on [Raspberry Pi](https://github.com/jarun/nnn/wiki/Developer-guides#compile-for-pi)
  148. - Instructions for [Cygwin](https://github.com/jarun/nnn/wiki/Developer-guides#compile-on-cygwin)
  149. #### Shell completion
  150. 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.
  151. ## Usage
  152. #### Configuration
  153. `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/`.
  154. | Example `export` | Description |
  155. | --- | --- |
  156. | `NNN_BMS='d:~/Documents;D:~/Docs archive/'` | key-bookmark pairs [max 10] |
  157. | `NNN_PLUG='o:fzy-open;p:mocplay;m:nmount;t:thumb'` | key-plugin pairs (<kbd>x-key</kbd> to run) [max 10] |
  158. | `NNN_USE_EDITOR=1` | open text files in `$VISUAL` (else `$EDITOR`, fallback vi) |
  159. | `NNN_CONTEXT_COLORS='1234'` | specify per context color [default: '4444' (all blue)] |
  160. | `NNN_SSHFS_OPTS='sshfs -o reconnect,idmap=user'` | specify SSHFS options |
  161. | `NNN_NOTE='/home/user/Dropbox/notes'` | absolute path to note file [default: none] |
  162. | `NNN_OPENER=mimeopen` | custom file opener |
  163. | `NNN_IDLE_TIMEOUT=300` | idle seconds to lock terminal [default: disabled] |
  164. | `NNN_COPIER=copier` | clipboard copier script [default: none] |
  165. | `NNN_TRASH=1` | trash files to the desktop Trash [default: delete] |
  166. #### Cmdline options
  167. ```
  168. usage: nnn [-b key] [-d] [-e] [-H] [-i] [-n] [-o]
  169. [-p file] [-r] [-s] [-S] [-t] [-v] [-h] [PATH]
  170. The missing terminal file manager for X.
  171. positional args:
  172. PATH start dir [default: current dir]
  173. optional args:
  174. -b key open bookmark key
  175. -d detail mode
  176. -e use exiftool for media info
  177. -H show hidden files
  178. -i nav-as-you-type mode
  179. -n version sort
  180. -o press Enter to open files
  181. -p file selection file (stdout if '-')
  182. -r show cp, mv progress on Linux
  183. -s string filters [default: regex]
  184. -S du mode
  185. -t disable dir auto-select
  186. -v show version
  187. -h show help
  188. ```
  189. #### Keyboard and mouse
  190. Press <kbd>?</kbd> in `nnn` to see the list anytime.
  191. ```
  192. NAVIGATION
  193. ↑ k Up PgUp ^U Scroll up
  194. ↓ j Down PgDn ^D Scroll down
  195. ← h Parent dir ~ ` @ - HOME, /, start, last
  196. ↵ → l Open file/dir . Toggle show hidden
  197. g ^A First entry G ^E Last entry
  198. b Pin current dir ^B Go to pinned dir
  199. Tab ^I Next context d Toggle detail view
  200. , ^/ Lead key N LeadN Context N
  201. / Filter/Lead Ins ^T Toggle nav-as-you-type
  202. Esc Exit prompt ^L F5 Redraw/clear prompt
  203. q Quit context Lead' First file
  204. Q ^Q Quit ^G QuitCD ? Help, config
  205. FILES
  206. ^O Open with... n Create new/link
  207. D File detail ^R F2 Rename/duplicate
  208. ⎵ ^K / Y Select entry/all r Batch rename
  209. K ^Y Toggle selection y List selection
  210. P Copy selection X Delete selection
  211. V Move selection ^X Delete entry
  212. f Create archive m M Brief/full mediainfo
  213. ^F Extract archive F List archive
  214. e Edit in EDITOR p Open in PAGER
  215. ORDER TOGGLES
  216. ^J du S Apparent du
  217. s Size E Extn t Time modified
  218. MISC
  219. ! ^] Shell L Lock C Execute entry
  220. R ^V Pick plugin xK Run plugin key K
  221. c SSHFS mount u Unmount
  222. ^P Prompt ^N Note = Launcher
  223. ```
  224. Note: Help & settings, file details, media info and archive listing are shown in the PAGER. Use the PAGER-specific keys in these screens.
  225. | Mouse click | Function |
  226. |---| --- |
  227. | Left single on context number | Visit context |
  228. | Left single on top row after context numbers | Visit parent |
  229. | Left single/double on last 2 rows | Toggle nav-as-you-type |
  230. | Left single | Select context or entry |
  231. | Left double | Select context or open entry |
  232. ##### Leader key
  233. The Leader/Lead key provides a powerful multi-functional navigation mechanism. It is case-sensitive and understands contexts, bookmarks and location shortcuts.
  234. | Key | Function |
  235. |:---:| --- |
  236. | <kbd>1-4</kbd> | Go to/create selected context |
  237. | <kbd>></kbd>, <kbd>.</kbd> | Go to next active context |
  238. | <kbd><</kbd>, <kbd>,</kbd> | Go to previous active context |
  239. | key | Go to bookmarked location |
  240. | <kbd>'</kbd> | Go to first file in directory |
  241. | <kbd>~</kbd> <kbd>`</kbd> <kbd>@</kbd> <kbd>-</kbd> | Go to HOME, `/`, start, last visited dir |
  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/324).