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