「Nnn」の版間の差分
(リンク切れ修正) |
(→設定: 英語版に追従) |
||
3行目: | 3行目: | ||
[[Category:コンソールアプリケーション]] |
[[Category:コンソールアプリケーション]] |
||
[[en:nnn]] |
[[en:nnn]] |
||
+ | [[ru:Nnn]] |
||
{{Related articles start}} |
{{Related articles start}} |
||
{{Related|ファイルマネージャの機能}} |
{{Related|ファイルマネージャの機能}} |
||
10行目: | 11行目: | ||
{{Related articles end}} |
{{Related articles end}} |
||
− | [https://github.com/jarun/nnn nnn] は C で書かれたポータブルなターミナルファイルマネージャです。プラグインシステムで簡単に拡張することができ、自分でスクリプトを追加したり既存のプラグインを利用できます。[https://github.com/mcchrish/nnn.vim (neo)vim] プラグインも利用可能です。 |
+ | [https://github.com/jarun/nnn nnn] (もしくは n³) は C で書かれたポータブルなターミナルファイルマネージャです。プラグインシステムで簡単に拡張することができ、自分でスクリプトを追加したり既存のプラグインを利用できます。[https://github.com/mcchrish/nnn.vim (neo)vim] プラグインも利用可能です。 |
ファイルマネージャであるのに加えて、nnn はディスクの使用量を解析したり、アプリを起動したり、ファイルの名前変更をバッチ処理することもできます。 |
ファイルマネージャであるのに加えて、nnn はディスクの使用量を解析したり、アプリを起動したり、ファイルの名前変更をバッチ処理することもできます。 |
||
28行目: | 29行目: | ||
== 設定 == |
== 設定 == |
||
− | nnn は環境変数で設定します。{{ic|~/.bashrc}} を編集してください。設定について詳しくはマニュアルページの {{ |
+ | nnn は[[環境変数]]で設定します。{{ic|~/.bashrc}} を編集してください。設定について詳しくはマニュアルページの {{man|1|nnn}} や nnn wiki の [https://github.com/jarun/nnn/wiki 設定ページ] に詳しく書かれています。 |
以下は {{ic|~/.bashrc}} に追加する設定例です: |
以下は {{ic|~/.bashrc}} に追加する設定例です: |
||
34行目: | 35行目: | ||
{{hc|head=~/.bashrc|output= |
{{hc|head=~/.bashrc|output= |
||
export NNN_BMS='d:~/Documents;u:/home/user/Cam Uploads;D:~/Downloads/' |
export NNN_BMS='d:~/Documents;u:/home/user/Cam Uploads;D:~/Downloads/' |
||
+ | |||
− | export NNN_USE_EDITOR=1 # use the $EDITOR when opening text files |
||
export NNN_NO_AUTOSELECT=1 # do not auto select in navigate-as-you-type-mode |
export NNN_NO_AUTOSELECT=1 # do not auto select in navigate-as-you-type-mode |
||
export NNN_NOTE="$HOME/mynotes" # if you already have your own notebook, |
export NNN_NOTE="$HOME/mynotes" # if you already have your own notebook, |
||
− | export NNN_OPS_PROG=1 # if you have installed advcp from the AUR. Giving you progress bars for mv and cp |
||
export NNN_SSHFS_OPTS="sshfs -o follow_symlinks" # make sshfs follow symlinks on the remote |
export NNN_SSHFS_OPTS="sshfs -o follow_symlinks" # make sshfs follow symlinks on the remote |
||
+ | export NNN_TRASH=1 # trash (needs trash-cli) instead of delete |
||
+ | export NNN_COLORS="2136" # use a different color for each context |
||
}} |
}} |
||
+ | {{Note|ディスプレイマネージャを使っている場合、nnn を {{ic|nnn.desktop}} から起動させるときに {{ic|.bashrc}} が読み込まれないことがあります。[[https://github.com/jarun/nnn/wiki/Advanced-use-cases#desktop-integration Advanced Use Cases#Desktop Integration]] にしたがって設定してください。 |
||
− | 最も重要な設定は {{ic|NNN_BMS}} 変数で、ブックマークしたディレクトリに簡単にジャンプするショートカットを選択します。デフォルトでは {{ic|,}} (カンマ) に設定されている {{ic|<leader-key>}} で呼び出せます。上記の例の場合 {{ic|,D}} とキーを押すことで nnn は {{ic|~/Downloads}} に移動します。 |
||
+ | {{ic|NNN_BMS}} 変数で、ブックマークしたディレクトリに簡単にジャンプするショートカットを選択します。デフォルトでは {{ic|b}} に設定されている {{ic|<leader-key>}} で呼び出せます。上記の例の場合 {{ic|bD}} とキーを押すことで nnn は {{ic|~/Downloads}} に移動します。 |
||
=== ターミナルでファイルを選択 === |
=== ターミナルでファイルを選択 === |
||
48行目: | 51行目: | ||
{{hc|head=~/.bashrc|output= |
{{hc|head=~/.bashrc|output= |
||
− | <nowiki>alias ncp="cat ${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection | tr '\0' '\n'"</nowiki> |
+ | <nowiki>alias ncp="cat ${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection} | tr '\0' '\n'"</nowiki> |
}} |
}} |
||
2020年6月30日 (火) 08:23時点における版
nnn (もしくは n³) は C で書かれたポータブルなターミナルファイルマネージャです。プラグインシステムで簡単に拡張することができ、自分でスクリプトを追加したり既存のプラグインを利用できます。(neo)vim プラグインも利用可能です。
ファイルマネージャであるのに加えて、nnn はディスクの使用量を解析したり、アプリを起動したり、ファイルの名前変更をバッチ処理することもできます。
nnn は正規表現 (あるいは通常の文字列) フィルタによるインスタントな search-as-you-type、およびディレクトリを自動選択してフィルタモードで操作できる navigate-as-you-type モードをサポートしています。他にもコンテキスト・ブックマーク・マルチソートオプション・SSHFS・バッチ操作などなど。
豊富な機能だけでなく、nnn は簡単に使いやすく設計されています。
目次
インストール
使用方法
nnn は vim ライクな hjkl
の文字、あるいは方向キーで制御できます。キーを覚える必要はありません。方向キーと /
と q
で十分です。?
を押すことでキーボードショートカットのヘルプをいつでも表示できます。
設定
nnn は環境変数で設定します。~/.bashrc
を編集してください。設定について詳しくはマニュアルページの nnn(1) や nnn wiki の 設定ページ に詳しく書かれています。
以下は ~/.bashrc
に追加する設定例です:
~/.bashrc
export NNN_BMS='d:~/Documents;u:/home/user/Cam Uploads;D:~/Downloads/' export NNN_NO_AUTOSELECT=1 # do not auto select in navigate-as-you-type-mode export NNN_NOTE="$HOME/mynotes" # if you already have your own notebook, export NNN_SSHFS_OPTS="sshfs -o follow_symlinks" # make sshfs follow symlinks on the remote export NNN_TRASH=1 # trash (needs trash-cli) instead of delete export NNN_COLORS="2136" # use a different color for each context
{{Note|ディスプレイマネージャを使っている場合、nnn を nnn.desktop
から起動させるときに .bashrc
が読み込まれないことがあります。[Advanced Use Cases#Desktop Integration] にしたがって設定してください。
NNN_BMS
変数で、ブックマークしたディレクトリに簡単にジャンプするショートカットを選択します。デフォルトでは b
に設定されている <leader-key>
で呼び出せます。上記の例の場合 bD
とキーを押すことで nnn は ~/Downloads
に移動します。
ターミナルでファイルを選択
nnn
で選択したファイルのリストを取得するには以下のエイリアスを作成します:
~/.bashrc
alias ncp="cat ${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection} | tr '\0' '\n'"
他のツールに選択したファイルをパイプで渡すことができます。
nnn シェルで深度レベルを指定
!
を使ってカレントディレクトリでシェルを開く場合、以下を追加すると良いでしょう:
~/.bashrc
[ -n "$NNNLVL" ] && PS1="N$NNNLVL $PS1"
#終了時に cd (CTRL-G) と組み合わせることで強力なコンビになります。
終了時に cd (CTRL-G)
nnn を終了して作業ディレクトリに移動するには、以下を ~/.bashrc
に追加します:
~/.bashrc
n() { export NNN_TMPFILE=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd nnn "$@" if [ -f $NNN_TMPFILE ]; then . $NNN_TMPFILE rm -f $NNN_TMPFILE > /dev/null fi }
そして他のターミナルを起動するか以下のコマンドを実行してください:
source ~/.bashrc
上記のコマンドでシェルは ~/.bashrc
をリロードします。
nnn を以下のコマンドで起動できます:
$ n
nnn の終了時に CTRL-G が正しく処理されます。
自分のプラグインを追加
${XDG_CONFIG_HOME:-$HOME/.config}/nnn/plugins
に追加することでプラグインを実行できます。例えば実行シェルスクリプトを作成:
${XDG_CONFIG_HOME:-$HOME/.config}/nnn/plugins/git-changes
#!/usr/bin/env sh git log -p -- "$@"
R
を押してから git-changes
を選択することで起動でき、特定のファイルの git ログとコードが表示されます。