My build of nnn with minor changes
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

README.md 11 KiB

4 yıl önce
8 yıl önce
7 yıl önce
4 yıl önce
4 yıl önce
4 yıl önce
4 yıl önce
5 yıl önce
8 yıl önce
5 yıl önce
5 yıl önce
4 yıl önce
5 yıl önce
4 yıl önce
4 yıl önce
4 yıl önce
4 yıl önce
4 yıl önce
4 yıl önce
4 yıl önce
4 yıl önce
4 yıl önce
4 yıl önce
5 yıl önce
7 yıl önce
4 yıl önce
4 yıl önce
4 yıl önce
4 yıl önce
4 yıl önce
4 yıl önce
4 yıl önce
4 yıl önce
5 yıl önce
5 yıl önce
5 yıl önce
5 yıl önce
7 yıl önce
5 yıl önce
4 yıl önce
5 yıl önce
5 yıl önce
7 yıl önce
5 yıl önce
5 yıl önce
7 yıl önce
5 yıl önce
7 yıl önce
4 yıl önce
5 yıl önce
5 yıl önce
4 yıl önce
7 yıl önce
5 yıl önce
4 yıl önce
5 yıl önce
4 yıl önce
4 yıl önce
5 yıl önce
4 yıl önce
5 yıl önce
5 yıl önce
7 yıl önce
4 yıl önce
5 yıl önce
4 yıl önce
8 yıl önce
5 yıl önce
5 yıl önce
4 yıl önce
4 yıl önce
4 yıl önce
5 yıl önce
5 yıl önce
8 yıl önce
5 yıl önce
4 yıl önce
4 yıl önce
4 yıl önce
5 yıl önce
5 yıl önce
7 yıl önce
5 yıl önce
7 yıl önce
4 yıl önce
5 yıl önce
6 yıl önce
4 yıl önce
5 yıl önce
6 yıl önce
7 yıl önce
5 yıl önce
5 yıl önce
4 yıl önce
5 yıl önce
4 yıl önce
5 yıl önce
5 yıl önce
4 yıl önce
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. <h1 align="center">nnn - <i>supercharge your productivity!</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/project/nnn/versions"><img src="https://repology.org/badge/tiny-repos/nnn.svg?header=in repos" 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-✓-crimson?maxAge=2592000" 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. <a href="https://github.com/jarun/nnn/wiki"><img src="https://img.shields.io/badge/nnn-Wiki-important?maxAge=2592000" alt="Wiki" /></a>
  10. <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>
  11. </p>
  12. <p align="center"><a href="https://www.youtube.com/watch?v=U2n5aGqou9E"><img src="https://i.imgur.com/MPWpmos.png" /></a></p>
  13. <p align="center"><i>type-to-nav & du (click to see demo video)</i></p>
  14. ## Introduction
  15. `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).
  16. `nnn` is also a du analyzer, an 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 hotkey. There's an independent [(neo)vim plugin](https://github.com/mcchrish/nnn.vim).
  17. It runs smoothly on the Pi, [Termux](https://www.youtube.com/watch?v=AbaauM7gUJw) (Android), Linux, macOS, BSD, Haiku, Cygwin, WSL, across DEs and GUI utilities or a strictly CLI environment.
  18. ## Black magic! :dark_sunglasses:
  19. 1. Load, sort, filter thousands of files instantly
  20. 2. Type to navigate with automatic dir selection
  21. 3. Select files from anywhere (not just a single dir)
  22. 4. Edit and preview markdown, man page, html
  23. 5. Open a file and auto-advance to the next
  24. 6. Export (filtered) list of visible files
  25. 7. Find files by mime-type and list in `nnn`
  26. 8. Unlimited bookmarks, plugins, commands with custom hotkeys
  27. 9. Write a plugin in any language you know
  28. 10. Configure the middle mouse click to do anything
  29. 11. Fuzzy search subtree and open the dir of a file
  30. 12. Load four dirs with custom settings at once
  31. 13. Show notifications on cp, mv completion
  32. 14. Auto-sync selection to system clipboard
  33. 15. Open text files detached in another pane/tab/window
  34. 16. Create files/dirs/duplicates with parents (like `mkdir -p`)
  35. 17. Toggle hidden with <kbd>.</kbd>, visit HOME with <kbd>~</kbd>, last dir with <kbd>-</kbd>
  36. 18. Pin a frequently visited dir at runtime
  37. 19. Mount any cloud storage service in a few keypresses
  38. 20. Mount and modify archives
  39. 21. Filter filtered entries
  40. 22. Sort files by access time and inode change time
  41. 23. Access selection from another instance of `nnn`
  42. 24. Compile out features you don't need
  43. 25. Watch matrix text fly or read fortune messages
  44. 26. Configure in 5 minutes!
  45. Once installed (instructions below), _**read the fine [manual](https://github.com/jarun/nnn/wiki)**_.
  46. ## Features
  47. - Resource sensitive
  48. - Typically needs less than 3.5MB resident memory
  49. - Works with 8-bit colors
  50. - Disk-IO sensitive (few disk reads and writes)
  51. - No FPU usage (all integer maths, even for file size)
  52. - Minimizes screen refresh with fast line redraws
  53. - Tiny binary (typically less than 100KB)
  54. - Portable
  55. - Statically-linked binary available
  56. - Language-agnostic plugins
  57. - Minimal library deps, easy to compile
  58. - Compile in/out features with make variables
  59. - No config file, minimal config with sensible defaults
  60. - Widely available on many packagers
  61. - Unicode support
  62. - Quality
  63. - Privacy-aware (no unconfirmed user data collection)
  64. - POSIX-compliant, follows Linux kernel coding style
  65. - Highly optimized, static analysis integrated code
  66. - Modes
  67. - Light (default), detail
  68. - Disk usage analyzer (block/apparent)
  69. - File picker, (neo)vim plugin
  70. - Navigation
  71. - *Type-to-nav* mode with dir auto-select
  72. - Contexts (_aka_ tabs/workspaces) with custom colors
  73. - Sessions, bookmarks with hotkeys; pin and visit a dir
  74. - Remote mounts (needs sshfs, rclone)
  75. - Familiar shortcuts (arrows, <kbd>~</kbd>, <kbd>-</kbd>, <kbd>@</kbd>), quick reference
  76. - CD on quit (*easy* shell integration)
  77. - Auto-advance on opening files
  78. - Search
  79. - Instant filtering with *search-as-you-type*
  80. - Regex (POSIX/PCRE) and string (default) filters
  81. - Subtree search plugin to open or edit files
  82. - Sort
  83. - Ordered pure numeric names by default (visit _/proc_)
  84. - Case-insensitive version (_aka_ natural) sort
  85. - By file name, access/change/mod (default) time, size, extension
  86. - Reverse sort
  87. - Mimes
  88. - Open with desktop opener or specify a custom app
  89. - Create, list, extract, mount (FUSE based) archives
  90. - Option to open all text files in EDITOR
  91. - Information
  92. - Detailed file information
  93. - Media information plugin
  94. - Convenience
  95. - Run plugins and custom commands with hotkeys
  96. - FreeDesktop compliant trash (needs trash-cli)
  97. - Cross-dir file/all/range selection
  98. - Batch renamer for selection or dir
  99. - Display a list of files from stdin
  100. - Copy (as), move (as), delete, archive, link selection
  101. - Dir updates, notification on cp, mv, rm completion
  102. - Copy file paths to system clipboard on select
  103. - Create (with parents), rename, duplicate (anywhere) files and dirs
  104. - Launch GUI apps, run commands, spawn a shell, toggle executable
  105. - Hovered file set as `$nnn` at prompt and spawned shell
  106. - Lock terminal after configurable idle timeout
  107. ## Quickstart
  108. 1. Install optional [deps](https://github.com/jarun/nnn#utility-dependencies) (if you need any).
  109. 2. Configure [cd on quit](https://github.com/jarun/nnn/wiki/Basic-use-cases#configure-cd-on-quit).
  110. 3. Use option `-e` in your alias to open text files in `$VISUAL`/`$EDITOR`/ vi. [Open detached](https://github.com/jarun/nnn/wiki/Basic-use-cases#detached-text) if you wish.
  111. 4. [Install plugins](https://github.com/jarun/nnn/tree/master/plugins#installing-plugins).
  112. 5. Use option `-x` to copy selected file paths to system clipboard and show notis on cp, mv, rm completion.
  113. 6. For a CLI-only environment, customize and use plugin [`nuke`](https://github.com/jarun/nnn/blob/master/plugins/nuke) with option `-c` (overrides `-e`).
  114. Don't memorize! Arrows (or <kbd>h</kbd> <kbd>j</kbd> <kbd>k</kbd> <kbd>l</kbd>), <kbd>/</kbd>, <kbd>q</kbd> suffice. <kbd>Tab</kbd> creates, cycles contexts. <kbd>?</kbd> lists shortcuts.
  115. ## Installation
  116. No permission to install packages? Get the statically linked binary from the latest release.
  117. #### Library dependencies
  118. A curses library with wide char support (e.g. ncursesw), libreadline (optional) and standard libc.
  119. #### Utility dependencies
  120. | Dependency | Installation | Operation |
  121. | --- | --- | --- |
  122. | xdg-open (Linux), open(1) (macOS), cygstart<br>(Cygwin), open (Haiku) | base | desktop opener |
  123. | file, coreutils (cp, mv, rm), xargs | base | file type, copy, move and remove |
  124. | tar, (un)zip [atool/bsdtar for more formats] | base | create, list, extract bzip2, (g)zip, tar |
  125. | archivemount, fusermount(3)/umount (macOS) | optional | mount, unmount archives |
  126. | sshfs, [rclone](https://rclone.org/), fusermount(3)/umount (macOS) | optional | mount, unmount remotes |
  127. | trash-cli | optional | trash files (default action: rm) |
  128. | vlock (Linux), bashlock (macOS), lock(1) (BSD),<br>peaclock (Haiku) | optional | terminal locker (fallback: [cmatrix](https://github.com/abishekvashok/cmatrix)) |
  129. | advcpmv (Linux) ([integration](https://github.com/jarun/nnn/wiki/Advanced-use-cases#cp-mv-progress)) | optional | copy, move progress |
  130. | fortune | optional | random quotes in help screen |
  131. | `$VISUAL` (else `$EDITOR`), `$PAGER`, `$SHELL` | optional | fallback vi, less, sh |
  132. #### From a package manager
  133. Install `nnn` from your package manager. If the version available is dated try an alternative installation method.
  134. <details><summary>Packaging status (expand)</summary>
  135. <p>
  136. <br>
  137. <a href="https://repology.org/project/nnn/versions"><img src="https://repology.org/badge/vertical-allrepos/nnn.svg" alt="Packaging status"></a>
  138. </p>
  139. Unlisted packagers:
  140. <p>
  141. <br>
  142. ● CentOS (<code>yum --enablerepo=epel install nnn</code>)<br>
  143. ● <a href="https://notabug.org/milislinux/milis/src/master/talimatname/genel/n/nnn/talimat">Milis Linux</a> (<code>mps kur nnn</code>)<br>
  144. ● <a href="https://www.nutyx.org/en/?type=pkg&branch=rolling&arch=x86_64&searchpkg=nnn">NuTyX</a> (<code>cards install nnn</code>)<br>
  145. ● <a href="http://codex.sourcemage.org/test/shell-term-fm/nnn/">Source Mage</a> (<code>cast nnn</code>)<br>
  146. </p>
  147. </details>
  148. #### Release packages
  149. Packages for Arch Linux, CentOS, Debian, Fedora and Ubuntu are auto-generated with the [latest stable release](https://github.com/jarun/nnn/releases/latest).
  150. #### From source
  151. Download the [latest stable release](https://github.com/jarun/nnn/releases/latest) or clone this repository (*risky*), install deps and compile. On Ubuntu 18.04:
  152. ```sh
  153. sudo apt-get install pkg-config libncursesw5-dev libreadline-dev
  154. sudo make strip install
  155. ```
  156. `PREFIX` is supported, in case you want to install to a different location.
  157. See the [developer guides](https://github.com/jarun/nnn/wiki/Developer-guides) for source verification, compilation notes on the Pi, Cygwin and other tips.
  158. #### Shell completion
  159. Completion scripts for Bash, Fish and Zsh are [available](misc/auto-completion). Refer to your shell's manual for installation instructions.
  160. ## Elsewhere
  161. - [Wikipedia](https://en.wikipedia.org/wiki/Nnn_(file_manager))
  162. - [ArchWiki](https://wiki.archlinux.org/index.php/Nnn)
  163. - [FOSSMint](https://www.fossmint.com/nnn-linux-terminal-file-browser/)
  164. - [gHacks Tech News](https://www.ghacks.net/2019/11/01/nnn-is-an-excellent-command-line-based-file-manager-for-linux-macos-and-bsds/)
  165. - Hacker News [[1](https://news.ycombinator.com/item?id=18520898)] [[2](https://news.ycombinator.com/item?id=19850656)]
  166. - [It's FOSS](https://itsfoss.com/nnn-file-browser-linux/)
  167. - LinuxLinks [[1](https://www.linuxlinks.com/nnn-fast-and-flexible-file-manager/)] [[2](https://www.linuxlinks.com/bestconsolefilemanagers/)] [[3](https://www.linuxlinks.com/excellent-system-tools-nnn-portable-terminal-file-manager/)]
  168. - [Suckless Rocks](https://suckless.org/rocks/)
  169. - [Ubuntu Full Circle Magazine - Issue 135](https://fullcirclemagazine.org/issue-135/)
  170. ## Developers
  171. - [Arun Prakash Jana](https://github.com/jarun) (Copyright © 2016-2020)
  172. - [0xACE](https://github.com/0xACE)
  173. - [Anna Arad](https://github.com/annagrram)
  174. - [KlzXS](https://github.com/KlzXS)
  175. - [Maxim Baz](https://github.com/maximbaz)
  176. - and other contributors
  177. `nnn` is actively developed. Visit the to the [ToDo list](https://github.com/jarun/nnn/issues/506) to contribute or see the features in progress.