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 13 KiB

il y a 4 ans
il y a 8 ans
il y a 7 ans
il y a 5 ans
il y a 5 ans
il y a 4 ans
il y a 7 ans
il y a 5 ans
il y a 8 ans
il y a 5 ans
il y a 5 ans
il y a 4 ans
il y a 5 ans
il y a 4 ans
il y a 4 ans
il y a 5 ans
il y a 5 ans
il y a 4 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 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 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 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 4 ans
il y a 4 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 7 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 4 ans
il y a 5 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 8 ans
il y a 5 ans
il y a 5 ans
il y a 5 ans
il y a 4 ans
il y a 4 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 4 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 7 ans
il y a 4 ans
il y a 5 ans
il y a 6 ans
il y a 5 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 4 ans
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  1. <h1 align="center">nnn - <i>type less, do more, wayyy 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="https://repology.org/metapackage/nnn"><img src="https://repology.org/badge/tiny-repos/nnn.svg" alt="Availability"></a>
  5. <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>
  6. <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>
  7. <a href="https://en.wikipedia.org/wiki/Privacy-invasive_software"><img src="https://img.shields.io/badge/privacy-aware-crimson" alt="Privacy Awareness" /></a>
  8. <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>
  9. </p>
  10. <p align="center"><a href="https://www.youtube.com/watch?v=U2n5aGqou9E"><img src="https://i.imgur.com/MPWpmos.png" /></a></p>
  11. <p align="center"><i>navigate-as-you-type & du (click to see demo video)</i></p>
  12. ## Introduction
  13. `nnn` is a full-featured terminal file manager. It's tiny and nearly 0-config with an [incredible performance](https://github.com/jarun/nnn/wiki/Performance).
  14. `nnn` is also a du analyzer, a fuzzy app launcher, a batch renamer and a file picker. The [plugin repository](https://github.com/jarun/nnn/tree/master/plugins#nnn-plugins) has tons of plugins and documentation to extend the capabilities further. You can _plug_ new functionality _and play_ with a custom keybind instantly. There's an independent [(neo)vim plugin](https://github.com/mcchrish/nnn.vim).
  15. It runs smoothly on the Raspberry Pi, Termux [on Android](https://www.youtube.com/watch?v=AbaauM7gUJw), Linux, macOS, BSD, Cygwin, WSL and works seamlessly with DEs and GUI utilities.
  16. Add to that an awesome [Wiki](https://github.com/jarun/nnn/wiki)!
  17. *Love smart and efficient utilities? Explore [my repositories](https://github.com/jarun?tab=repositories). Buy me a cup of coffee if they help you.*
  18. <p align="center">
  19. <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>
  20. ## Features
  21. - Modes
  22. - Light (default), detail
  23. - Disk usage analyzer (block/apparent)
  24. - File picker, (neo)vim plugin
  25. - Navigation
  26. - *Navigate-as-you-type* with dir auto-select
  27. - Contexts (_aka_ tabs/workspaces) with custom colors
  28. - Sessions, bookmarks; pin and visit a dir
  29. - Remote mounts (needs sshfs, rclone)
  30. - Familiar shortcuts (arrows, <kbd>~</kbd>, <kbd>-</kbd>, <kbd>@</kbd>), quick reference
  31. - CD on quit (*easy* shell integration)
  32. - Sorting
  33. - Ordered pure numeric names by default (visit _/proc_)
  34. - Case-insensitive version (_aka_ natural) sort
  35. - By file name, modification/access time, size, extension
  36. - Search
  37. - Instant filtering with *search-as-you-type*
  38. - Regex and substring match
  39. - Subtree search to open or edit files (using plugin)
  40. - Mimes
  41. - Open with desktop opener or specify a custom app
  42. - Create, list, extract, mount (FUSE based) archives
  43. - Option to open all text files in EDITOR
  44. - Information
  45. - Detailed file information
  46. - Media information (using plugin)
  47. - Convenience
  48. - Run plugins and commands with custom keybinds
  49. - FreeDesktop compliant trash (needs trash-cli)
  50. - Cross-dir file/all/range selection
  51. - Batch rename selection or dir entries
  52. - Copy (as), move (as), delete, archive, link selection
  53. - Create (with parents), rename, duplicate (anywhere) files and dirs
  54. - Spawn a shell, run apps, run commands, execute file
  55. - Hovered file set as `$nnn` at prompt and spawned shell
  56. - Lock terminal (needs a locker)
  57. - Privacy-aware (no unconfirmed user data collection)
  58. - Minimal deps, minimal config (with sensible defaults)
  59. - Widely available
  60. - Unicode support
  61. - Follows Linux kernel coding style
  62. - Highly optimized, static analysis integrated code
  63. ## Quickstart
  64. 1. Install the [utilities you may need](https://github.com/jarun/nnn#utility-dependencies) based on your regular workflows.
  65. 2. Configure [cd on quit](https://github.com/jarun/nnn/wiki/Basic-use-cases#configure-cd-on-quit).
  66. 3. Optionally open all text files in `$EDITOR` (fallback vi): `export NNN_USE_EDITOR=1`.
  67. 4. For additional functionality [install plugins](https://github.com/jarun/nnn/tree/master/plugins#installing-plugins) and the GUI app launcher [`nlaunch`](https://github.com/jarun/nnn/tree/master/misc/nlaunch).
  68. Notes:
  69. 1. Don't memorize keys. Arrows, <kbd>/</kbd> and <kbd>q</kbd> suffice. Press <kbd>?</kbd> for help on keyboard shortcuts anytime.
  70. 2. To set `nnn` as the default file manager, follow these [instructions](https://github.com/jarun/nnn/wiki/Advanced-use-cases#configure-as-default-fm).
  71. ## Installation
  72. #### Library dependencies
  73. A curses library with wide char support (e.g. ncursesw), libreadline (`make O_NORL=1` to drop) and standard libc.
  74. #### Utility dependencies
  75. | Dependency | Installation | Operation |
  76. | --- | --- | --- |
  77. | xdg-open (Linux), open(1) (macOS), cygstart (Cygwin) | base | desktop opener |
  78. | file, coreutils (cp, mv, rm), xargs | base | file type, copy, move and remove |
  79. | tar, (un)zip [atool/bsdtar for more formats] | base | create, list, extract tar, gzip, bzip2, zip |
  80. | archivemount, fusermount(3) | optional | mount, unmount archives |
  81. | sshfs, [rclone](https://rclone.org/), fusermount(3) | optional | mount, unmount remotes |
  82. | trash-cli | optional | trash files (default action: rm) |
  83. | vlock (Linux), bashlock (macOS), lock(1) (BSD) | optional | terminal locker (fallback: [cmatrix](https://github.com/abishekvashok/cmatrix)) |
  84. | advcpmv (Linux) ([integration](https://github.com/jarun/nnn/wiki/Advanced-use-cases#show-cp-mv-progress)) | optional | copy, move progress |
  85. | `$VISUAL` (else `$EDITOR`), `$PAGER`, `$SHELL` | optional | fallback vi, less, sh |
  86. #### From a package manager
  87. Install `nnn` from your package manager. If the version available is dated try an alternative installation method.
  88. <details><summary>Packaging status (expand)</summary>
  89. <p>
  90. <br>
  91. <a href="https://repology.org/metapackage/nnn/versions"><img src="https://repology.org/badge/vertical-allrepos/nnn.svg" alt="Packaging status"></a>
  92. </p>
  93. Unlisted distros:
  94. <p>
  95. <br>
  96. ● CentOS (<code>yum --enablerepo=epel install nnn</code>)<br>
  97. ● <a href="https://notabug.org/milislinux/milis/src/master/talimatname/genel/n/nnn/talimat">Milis Linux</a> (<code>mps kur nnn</code>)<br>
  98. ● <a href="https://www.nutyx.org/en/?type=pkg&branch=rolling&arch=x86_64&searchpkg=nnn">NuTyX</a> (<code>cards install nnn</code>)<br>
  99. ● <a href="http://codex.sourcemage.org/test/shell-term-fm/nnn/">Source Mage</a> (<code>cast nnn</code>)<br>
  100. </p>
  101. </details>
  102. #### Release packages
  103. Packages for Arch Linux, CentOS, Debian, Fedora and Ubuntu are auto-generated with the [latest stable release](https://github.com/jarun/nnn/releases/latest).
  104. #### From source
  105. Download the latest stable release or clone this repository (*risky*), install deps and compile. On Ubuntu 18.04:
  106. $ sudo apt-get install pkg-config libncursesw5-dev libreadline-dev
  107. $ make
  108. $ sudo make strip install
  109. `PREFIX` is supported, in case you want to install to a different location.
  110. Visit the [developer guides](https://github.com/jarun/nnn/wiki/Developer-guides) for compilation notes on the Pi, Cygwin and other compilation modes.
  111. #### Shell completion
  112. Completion scripts for Bash, Fish and Zsh are [available](misc/auto-completion). Refer to your shell's manual for installation instructions.
  113. ## Usage
  114. #### Configuration
  115. There is no config file. Associated files are stored under `${XDG_CONFIG_HOME:-$HOME/.config}/nnn/`.
  116. `nnn` supports the following optional (set if you need) environment variables.
  117. | Example `export` | Description |
  118. | --- | --- |
  119. | `NNN_OPENER=mimeopen` | custom file opener |
  120. | `NNN_BMS='d:~/Documents;D:~/Docs archive/'` | key-bookmark pairs [max 10] |
  121. | `NNN_PLUG='o:fzopen;m:nmount;x:_chmod +x $nnn'` | key-plugin (or cmd) pairs (<kbd>:key</kbd> to run) [max 15] |
  122. | `NNN_USE_EDITOR=1` | open text files in `$VISUAL` (else `$EDITOR`, fallback vi) |
  123. | `NNN_CONTEXT_COLORS='1234'` | specify per context color [default: '4444' (all blue)] |
  124. | `NNN_SSHFS_OPTS='sshfs -o reconnect,idmap=user'` | specify SSHFS options |
  125. | `NNN_RCLONE_OPTS='rclone mount --read-only'` | specify rclone options |
  126. | `NNN_IDLE_TIMEOUT=300` | idle seconds to lock terminal [default: disabled] |
  127. | `NNN_COPIER=copier` | clipboard copier script [default: none] |
  128. | `NNN_TRASH=1` | trash files to the desktop Trash [default: delete] |
  129. #### Cmdline options
  130. ```
  131. usage: nnn [OPTIONS] [PATH]
  132. The missing terminal file manager for X.
  133. positional args:
  134. PATH start dir [default: .]
  135. optional args:
  136. -a use access time
  137. -b key open bookmark key
  138. -c cli-only opener
  139. -d detail mode
  140. -e name load session by name
  141. -E use EDITOR for undetached edits
  142. -f run filter as cmd on prompt key
  143. -H show hidden files
  144. -i nav-as-you-type mode
  145. -K detect key collision
  146. -n version sort
  147. -o open files on Enter
  148. -p file selection file [stdout if '-']
  149. -r use advcpmv patched cp, mv
  150. -R disable rollover at edges
  151. -s string filters [default: regex]
  152. -S du mode
  153. -t disable dir auto-select
  154. -v show version
  155. -h show help
  156. ```
  157. #### Keyboard and mouse
  158. The list below is from the **dev branch**. Press <kbd>?</kbd> in `nnn` to see the keybinds in your installed version.
  159. ```
  160. NAVIGATION
  161. Up k Up PgUp ^U Scroll up
  162. Down j Down PgDn ^D Scroll down
  163. Left h Parent ~ ` @ - HOME, /, start, last
  164. Ret Right l Open . Toggle show hidden
  165. g ^A First entry G ^E Last entry
  166. b Pin current dir ^B Go to pinned dir
  167. (Sh)Tab Cycle context d Toggle detail view
  168. , ^/ Lead key N LeadN Context N
  169. / Filter/Lead Ins ^N Toggle nav-as-you-type
  170. Esc Exit prompt ^L F5 Redraw/clear prompt
  171. ? Help, conf ' Lead' First file
  172. Q ^Q Quit ^G QuitCD q Quit context
  173. FILES
  174. ^O Open with... n Create new/link
  175. D File details ^R F2 Rename/duplicate
  176. Space ^J/a Sel toggle/all r Batch rename
  177. m ^K Sel range, clear M List selection
  178. P Copy selection K Edit, flush sel
  179. V Move selection w Copy/move sel as
  180. X Del selection ^X Del entry
  181. f Create archive T Mount archive
  182. ^F Extract archive F List archive
  183. e Edit in EDITOR p Open in PAGER
  184. ORDER TOGGLES
  185. A Apparent du S du
  186. z Size E Extn t Time
  187. MISC
  188. ! ^] Shell ;K :K xK Execute plugin K
  189. C Execute entry R ^V Pick plugin
  190. U Manage session = Launch
  191. c Remote mount u Unmount
  192. ] ^P Prompt/run cmd L Lock
  193. ```
  194. Notes:
  195. 1. Help & settings, file details and archive listing are shown in the `$PAGER`.
  196. 2. To change shortcuts modify key bindings in `nnn.h` and compile.
  197. | Mouse click | Function |
  198. |---| --- |
  199. | Left single on context number | Visit context |
  200. | Left single on top row after context numbers | Visit parent |
  201. | Left single/double on last 2 rows | Toggle nav-as-you-type |
  202. | Left single | Select context or entry |
  203. | Left double | Select context or open entry |
  204. #### Lead key
  205. The Lead/Leader key provides a powerful multi-functional navigation mechanism. It is case-sensitive and understands contexts, bookmarks and location shortcuts.
  206. | Follower key | Function |
  207. |:---:| --- |
  208. | <kbd>1-4</kbd> | Go to/create selected context |
  209. | key | Go to bookmarked location |
  210. | <kbd>'</kbd> | Go to first file in directory |
  211. | <kbd>~</kbd> <kbd>`</kbd> <kbd>@</kbd> <kbd>-</kbd> | Visit HOME, `/`, start, last visited dir |
  212. | <kbd>.</kbd> | Toggle show hidden files |
  213. When the filter is on, <kbd>/</kbd> works as an additional Lead key.
  214. #### Help
  215. $ nnn -h
  216. $ man nnn
  217. To lookup keyboard shortcuts at runtime, press <kbd>?</kbd>.
  218. ## Elsewhere
  219. - [Wikipedia](https://en.wikipedia.org/wiki/Nnn_(file_manager))
  220. - [ArchWiki](https://wiki.archlinux.org/index.php/Nnn)
  221. - [FOSSMint](https://www.fossmint.com/nnn-linux-terminal-file-browser/)
  222. - [gHacks Tech News](https://www.ghacks.net/2019/11/01/nnn-is-an-excellent-command-line-based-file-manager-for-linux-macos-and-bsds/)
  223. - Hacker News [[1](https://news.ycombinator.com/item?id=18520898)] [[2](https://news.ycombinator.com/item?id=19850656)]
  224. - [It's FOSS](https://itsfoss.com/nnn-file-browser-linux/)
  225. - LinuxLinks [[1](https://www.linuxlinks.com/nnn-fast-and-flexible-file-manager/)] [[2](https://www.linuxlinks.com/bestconsolefilemanagers/)]
  226. - [Suckless Rocks](https://suckless.org/rocks/)
  227. - [Ubuntu Full Circle Magazine - Issue 135](https://fullcirclemagazine.org/issue-135/)
  228. ## Developers
  229. - [Arun Prakash Jana](https://github.com/jarun) (Copyright © 2016-2019)
  230. - [0xACE](https://github.com/0xACE)
  231. - [Anna Arad](https://github.com/annagrram)
  232. - [KlzXS](https://github.com/KlzXS)
  233. - [Sijmen J. Mulder](https://github.com/sjmulder)
  234. - and other contributors
  235. `nnn` is actively developed. Visit the to the [ToDo list](https://github.com/jarun/nnn/issues/386) to contribute or see the features in progress.