nnn - Arch Linux 中文维基

跳至內容

# nnn

出自 Arch Linux 中文维基

相關文章

- 文件管理器功能
- lf
- Midnight Commander
- ranger
- Vifm

翻譯狀態：

- 本文（或部分內容）譯自 Nnn，最近一次同步於 2024-08-25，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

nnn（也被樣式化為 n³）是一個用 C 語言編寫的可攜式終端文件管理器。它可以通過扁平文本插件系統輕鬆擴展，在已有插件（包括 (neo)vim 插件）的基礎上添加自己的語言腳本。

nnn features native archiving/decompression to and from commonly installed formats such as xz, disk usage analysis and a fuzzy app launcher, a batch file renamer and a file picker through its plugin architecture. nnn supports instant search-as-you-type with regex (or simple string) filters and a navigate-as-you-type mode for continuous navigation in filter mode with directory auto-select. Also supported are contexts, bookmarks, multiple sorting options, SSHFS, batch operations on selections (a group of selected files) and a lot more.

儘管 nnn 功能強大，但其設計簡單易用，可通過環境變量進行配置，無需使用配置文件。

## 安裝

安裝 nnn包 軟體包，或 安裝 nnn-gitAUR 以獲取開發版本。

### 用法

nnn 可以用類 vi 按鍵 `hjkl` 或 `arrow keys` 控制。請勿記憶按鍵：箭頭、`/` 和 `q` 即可。請隨時按 `?` 獲取鍵盤快捷鍵幫助。

### 配置

nnn 通過環境變量進行配置。有關這些設置的詳細信息，請參閱 nnn(1) 以及 nnn wiki。

    NNN_BMS='d:~/Documents;u:/home/user/Cam Uploads;D:~/Downloads/'
    NNN_SSHFS="sshfs -o follow_symlinks"        # make sshfs follow symlinks on the remote
    NNN_COLORS="2136"                           # use a different color for each context
    NNN_TRASH=1                                 # trash (needs trash-cli) instead of delete

注意：If you start nnn via `nnn.desktop` from a desktop environment started from a display manager, `.bashrc` may not be sourced. In this case, see the upstream instructions for desktop integration.

`NNN_BMS` 變量是比較有用的設置之一，它可以讓你選擇快捷方式快速跳轉到書籤目錄。您可以使用 `b` 後跟一個您指定的字母。在示例配置中，點擊`bD`將導致 nnn 跳轉到`~/Downloads`。但所有這些都是可選的，nnn 在所有機器上的表現都是一樣的。

#### 在終端中獲取選定文件

要獲取在 nnn 中選擇的文件列表，可以創建以下別名：

    ~/.bashrc

    alias ncp="cat ${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection} | tr '\0' '\n'"

隨後可將所選文件導入其他工具。

#### Indicate depth level within nnn shells

If you use `!` to spawn a shell in the current directory, it could be nice to add:

    ~/.bashrc

    [ -n "$NNNLVL" ] && PS1="N$NNNLVL $PS1"

To have your prompt indicate that you are within a shell that will return you to nnn when you are done.

This together with #cd on quit (Ctrl-G) becomes a powerful combination.

#### cd on quit (Ctrl-G)

Add the following to your `.bashrc`/`.zshrc`

    ~/.bashrc or ~/.zshrc

    if [ -f /usr/share/nnn/quitcd/quitcd.bash_sh_zsh ]; then
        source /usr/share/nnn/quitcd/quitcd.bash_sh_zsh
    fi

And run the `n` command instead of `nnn` (more precisely the n bash function).

另請參閱 nnn wiki。

#### 添加自己的插件

您可以將插件放入 `${XDG_CONFIG_HOME:-$HOME/.config}/nnn/plugins` 中，以運行自己的插件。例如，您可以創建一個可執行的 shell 腳本

    ${XDG_CONFIG_HOME:-$HOME/.config}/nnn/plugins/git-changes

    #!/usr/bin/env sh
    git log -p -- "$@"

設置環境變量 `NNN_PLUG='R:git-changes'`，然後按 `;R` 鍵並選擇 `git-changes` 來觸發它，這樣就能方便地顯示特定文件的 git 更改日誌以及代碼，以便快速輕鬆地查看。

## 參見

- nnn's 官方倉庫
- nnn 的附加配置指南
- nnnn 視頻簡介

分類：​

- 文件管理器
- 終端應用程式

nnn
新增話題