コンテンツにスキップ

「Midnight Commander」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
ページの作成:「Category:ファイルマネージャ en:Midnight Commander fr:Midnight Commander ru:Midnight Commander {{Related articles start}} {{Related|ファイル...」
 
同期
16行目: 16行目:
[[公式リポジトリ]]から {{Pkg|mc}} を[[インストール]]してください。開発版は [[AUR]] の {{Aur|mc-git}} でインストールできます。
[[公式リポジトリ]]から {{Pkg|mc}} を[[インストール]]してください。開発版は [[AUR]] の {{Aur|mc-git}} でインストールできます。


=== 追加テーマ ===
=== スキン ===


* {{App|mc-solarized-git|Midnight Commander の Solarized カラースキーム|https://github.com/nkulikov/mc-solarized-skin|{{Aur|mc-solarized-git}}}}
* {{App|mc-solarized-git|Midnight Commander の Solarized カラースキーム|https://github.com/nkulikov/mc-solarized-skin|{{Aur|mc-solarized-git}}}}
* {{App|mc-skin-modarin-debian|modarin テーマのシンプルバージョン|https://launchpad.net/debian/+source/mc/3:4.8.13-3|{{AUR|mc-skin-modarin-debian}}}}
* {{app|mc-skin-candy|Candy カラースキーム (256color)|https://github.com/izmntuk/archiso/blob/master/configs/alter/root-image/usr/share/mc/skins/candy.ini}}
* {{app|mc-skin-candy|Candy カラースキーム (256color)|[https://raw.githubusercontent.com/izmntuk/archiso/testing/configs/alter/airootfs/usr/share/mc/skins/candy256.ini candy256.ini]|}}


{{ic|man mc}} の {{ic|'''Skins'''}} も参照。
== Tips and tricks ==


== 使用方法 ==
=== キーバインディングの変更 ===


以下のセクションでは Midnight Commander の簡単な使い方を説明しています。{{ic|man mc}} やヘルプ ({{ic|F1}}) への参照は {{ic|'''Section'''}} で表します。
デフォルトのキーバインドのユーザーコピーを作成してください:


{{Tip|全てのヒントは {{ic|/usr/share/mc/hints/}} で見ることができます。}}
cp /etc/mc/mc.keymap ~/.config/mc/


=== インターフェイス ===
そして設定を編集してください。{{ic|MC_KEYMAP}} [[環境変数]]で {{ic|/etc/mc/mc.emacs.keymap}} などの他のキーマップを使うように設定することもできます:


プロミネントビューでは2つの縦ペインが存在します。ディレクトリの中身や、プレーンテキストのプレビュー、ファイルの詳細、あるいはディレクトリツリーを表示することが可能です ({{ic|'''Directory Tree'''}} を参照)。ファンクションキーやマウスを使うことでファイルの操作ができます。ダイナミックユーザーメニュー ({{ic|F2}}) やオプションメニュー ({{ic|F9}}) には他のオプションも表示されます。{{ic|F12}} 以上のメニュー ({{ic|F13}} から {{ic|F20}} まで) は {{ic|Shift}} で使うことができます。メニューやダイアログのオプションは一文字だけハイライトされ、その文字を押すことで (あるいはテキストエントリで {{ic|Alt+''Letter''}} を押下)、直接オプションを実行します。
export MC_KEYMAP=/etc/mc/mc.emacs.keymap


下には、サブシェルに接続されたコマンドラインが表示されます。''mc'' を起動するのに使ったシェルと同じタイプのシェルで、自由に切り替えることが可能です ({{ic|Ctrl-O}})。{{ic|'''The subshell support'''}} を参照。このコマンドラインでは、''cd'' は Midnight Commander によって解釈され、シェルには渡されません。従って、([[Zsh]] のような) 特殊な補完 (such as from [[Zsh]]) は使えません。ペインのファイルはコマンドラインで操作することができます。例えば、{{ic|Alt+Enter}} で(選択された)ファイルの名前をコマンドラインにコピーします。
詳しくは {{ic|man 1 mc}} の ''Redefine hotkey bindings'' を見てください。


キーバインドは [[GNU Emacs]] と似ています。さらに、厳格な emacs のキーマップを有効にすることも可能です ({{ic|'''Redefine hotkey bindings'''}} を参照)。新規ユーザー向けの Lynx ライクな (方向キーを使用する) キーバインドを使ったり ({{ic|F9 > Options > Panel options}} で有効化)、あるいはマウスで操作することもできます。
=== Lynx のようなモーションを有効化 ===


=== モジュール ===
To browse folders using the cursor keys, go to Options ({{ic|F9}}, {{ic|o}}) → Panel Options ({{ic|p}}), set Lynx-like motion checkbox in Navigation group ({{ic|y}}) and press OK ({{ic|o}}).

以下のモジュールは ''mc'' のインターフェイスから呼び出すことができ ({{ic|F9 > Options > Configuration}} の ''Use internal'' を有効化)、または ''mc'' バイナリのシンボリックリンクとして独立しています。

* ''mcedit'' - テキスト・バイナリファイルエディタ。正規表現による置換、シンタックスハイライト、マクロ、シェルパイプなどに対応。{{ic|man mcedit}} を参照。
* ''mcview'' - goto マークや regex 検索ができるテキスト・ヘックスビューア。
* ''mcdiff'' - 2つのファイルを一度に比較・編集する ({{ic|C-x d}})。

一つの {{ic|mc}} インスタンスで、複数のモジュールを同時に起動することができます ({{ic|Ctrl-`}})。{{ic|'''Screen selector'''}} を参照してください。外部エディタを使うこともでき、パラメータを設定します。

== 設定 ==

ほとんどの Midnight Commander の設定はメニューから変更できます。ただし、クリップボードのコマンドやコードセットの検知、外部エディタのパラメータなどは {{ic|~/.config/mc/ini}} でしか設定を変更できません。利用可能なオプションの説明は {{ic|'''Special Settings'''}}を参照してください。

さらに、以下の環境変数を使うことができます:
{{ic|MC_SKIN}}, {{ic|MC_KEYMAP}}, {{ic|MC_XDG_OPEN}}, {{ic|MC_COLOR_TABLE}}, {{ic|MC_DATADIR}}, {{ic|MC_HOME}}, {{ic|KEYBOARD_KEY_TIMEOUT_US}}, {{ic|PAGER}}, {{ic|EDITOR}}, {{ic|VIEWER}}。

{{ic|'''Files'''}} を見てください。

=== extfs ===

extfs を利用することで簡単に mc 用に仮想ファイルシステムを作成することができます。詳しくは {{ic|/usr/lib/mc/extfs.d/README}} を参照。

== Tips and tricks ==


=== メニューから起動 ===
=== メニューから起動 ===


[[デスクトップエントリ]]を使うことでメニューから Midnight commander を起動することができます。例:
[[デスクトップエントリ]]を使うことでメニューから Midnight Commander を起動することができます。例:


[Desktop Entry]
[Desktop Entry]
60行目: 84行目:
==== libtrash を使う ====
==== libtrash を使う ====


[[AUR]] から {{Aur|libtrash}} をインストールしてシェルの初期設定ファイル (例: {{ic|~/.bashrc}} または {{ic|~/.zshrc}}) に ''mc'' エイリアスを作ってください:
{{Aur|libtrash}} をインストールしてシェルの初期設定ファイル (例: {{ic|~/.bashrc}} または {{ic|~/.zshrc}}) に ''mc'' エイリアスを作ってください:


alias mc='LD_PRELOAD=/usr/lib/libtrash.so.3.3 mc'
alias mc='LD_PRELOAD=/usr/lib/libtrash.so.3.3 mc'
71行目: 95行目:
INTERCEPT_RENAME = NO
INTERCEPT_RENAME = NO
IGNORE_EXTENSIONS= o;exe;com
IGNORE_EXTENSIONS= o;exe;com
UNCOVER_DIRS=/dev


これで (''mc'' で起動した) Midnight Commander によって削除されたファイルは {{ic|~/.Trash}} ディレクトリに移動します。
これで (''mc'' で起動した) Midnight Commander によって削除されたファイルは {{ic|~/.Trash}} ディレクトリに移動します。
83行目: 108行目:
== トラブルシューティング ==
== トラブルシューティング ==


=== 終了したときにカレントディレクトリが移動する ===
=== Exit to the current directory ===


終了時、最後に使用したディレクトリではなく、Midnight Commander が起動したときに開いていたディレクトリにシェルが戻ります。{{ic|~/.bashrc}} や {{ic|~/.zshrc}} に以下の行を追加することで利用することができる、ラッパースクリプトが存在します:
On exit, the shell returns to the directory Midnight Commander was started from instead of the last selected directory. A simple workaround is to hide the interface (instead of quit) with {{ic|Ctrl+o}}.

source /usr/lib/mc/mc.sh

上記の設定で {{ic|mc}} がラッパースクリプトにエイリアスされます。

サブシェルを使用するという方法もあります ({{ic|Ctrl+o}})。ただし、他のターミナルアプリケーションと干渉する可能性があります。


=== 画面が化ける ===
=== 画面が化ける ===


{{ic|Ctrl+l}} を押して画面を再描写してください。再描写を行うだけでファイルリストの更新 ({{ic|Ctrl+r}}) は行われません。
{{ic|Ctrl+l}} を押して画面を再描写してください。再描写を行うだけでファイルリストの更新 ({{ic|Ctrl+r}}) は行われません。

=== ファイルを開く ===

''mc'' はファイルを開くときに {{ic|MC_XDG_OPEN}} [[環境変数]]を使います。デフォルトでは [[xdg-open]] になっています [https://github.com/MidnightCommander/mc/blob/master/misc/ext.d/misc.sh.in]。

作成されたプロセスが終了するまで ''mc'' がブロックされたり、mc と一緒にプロセスが終了してしまう場合、''nohup &'' を使ってください:

{{hc|~/bin/nohup-open|
#!/bin/bash
nohup xdg-open "$@" &
}}

そして {{ic|MC_XDG_OPEN}} を以下のように設定します:

export MC_XDG_OPEN=~/bin/nohup-open

{{Tip|[[#libtrash を使う|libtrash を使う]]場合、''xdg-open'' の前に {{ic|unset LD_PRELOAD}} を追加してください。}}

=== ファイル検索で何も表示されない ===

''Find file'' ダイアログ ({{ic|Alt+?}}) で結果が表示されない場合、カレントディレクトリに存在するシンボリックリンクを確認してください。ファイル検索ではシンボリックリンクを処理できないため、代わりにバインドマウントを使用してください ({{ic|man mount}} を参照)。あるいは ''External panelize'' コマンドを使ってください。

=== Shift+F6 が動作しない ===

{{ic|Shift+F6}} キーの組み合わせが {{ic|1=TERM=screen}} や {{ic|1=TERM=screen-256color}} で使えない場合、tmux から、以下のコマンドを実行してください:
infocmp > screen (または screen-256color)

テキストエディタでファイルを開いて、ファイルの末尾に以下を追加します:
kf16=\E[29~,

それから {{ic|tic}} ファイルをコンパイルしてください。それでキーが機能するようになるはずです。


== 参照 ==
== 参照 ==
* [http://linux.die.net/man/1/mc man mc(1)]
* [http://www.tldp.org/LDP/LG/issue23/wkndmech_dec97/mc_article.html An Introduction to the Midnight Commander]
* [https://www.midnight-commander.org/wiki/doc Draft of documentation]
* [http://sunhe.jinr.ru/docs/mc/mc.html GNU Midnight Commander User's Guide]
* [http://www.nawaz.org/media/docs/mc/mc.html Midnight Commander Guide]
* [http://www.trembath.co.za/mctutorial.html MC Tutorial]
* [http://www.softpanorama.info/OFM/MC/cheetsheet.shtml Cheatsheet for Midnight Commander]

2016年5月21日 (土) 16:36時点における版

Midnight Commander はビジュアルファイルマネージャです。ファイルやディレクトリー全体のコピー・移動・削除や、ファイルの検索、サブシェルでのコマンドの実行ができます。ビューアやエディタも内蔵しています。

Ncurses や S-Lang のような汎用のテキストインターフェイスを使っているため、通常のコンソール、X Window ターミナル、または SSH 接続を介してリモートシェルでも動作します。

インストール

公式リポジトリから mcインストールしてください。開発版は AURmc-gitAUR でインストールできます。

スキン

  • mc-solarized-git — Midnight Commander の Solarized カラースキーム
https://github.com/nkulikov/mc-solarized-skin || mc-solarized-gitAUR
  • mc-skin-modarin-debian — modarin テーマのシンプルバージョン
https://launchpad.net/debian/+source/mc/3:4.8.13-3 || mc-skin-modarin-debianAUR
  • mc-skin-candy — Candy カラースキーム (256color)
candy256.ini ||

man mcSkins も参照。

使用方法

以下のセクションでは Midnight Commander の簡単な使い方を説明しています。man mc やヘルプ (F1) への参照は Section で表します。

ヒント 全てのヒントは /usr/share/mc/hints/ で見ることができます。

インターフェイス

プロミネントビューでは2つの縦ペインが存在します。ディレクトリの中身や、プレーンテキストのプレビュー、ファイルの詳細、あるいはディレクトリツリーを表示することが可能です (Directory Tree を参照)。ファンクションキーやマウスを使うことでファイルの操作ができます。ダイナミックユーザーメニュー (F2) やオプションメニュー (F9) には他のオプションも表示されます。F12 以上のメニュー (F13 から F20 まで) は Shift で使うことができます。メニューやダイアログのオプションは一文字だけハイライトされ、その文字を押すことで (あるいはテキストエントリで Alt+Letter を押下)、直接オプションを実行します。

下には、サブシェルに接続されたコマンドラインが表示されます。mc を起動するのに使ったシェルと同じタイプのシェルで、自由に切り替えることが可能です (Ctrl-O)。The subshell support を参照。このコマンドラインでは、cd は Midnight Commander によって解釈され、シェルには渡されません。従って、(Zsh のような) 特殊な補完 (such as from Zsh) は使えません。ペインのファイルはコマンドラインで操作することができます。例えば、Alt+Enter で(選択された)ファイルの名前をコマンドラインにコピーします。

キーバインドは GNU Emacs と似ています。さらに、厳格な emacs のキーマップを有効にすることも可能です (Redefine hotkey bindings を参照)。新規ユーザー向けの Lynx ライクな (方向キーを使用する) キーバインドを使ったり (F9 > Options > Panel options で有効化)、あるいはマウスで操作することもできます。

モジュール

以下のモジュールは mc のインターフェイスから呼び出すことができ (F9 > Options > ConfigurationUse internal を有効化)、または mc バイナリのシンボリックリンクとして独立しています。

  • mcedit - テキスト・バイナリファイルエディタ。正規表現による置換、シンタックスハイライト、マクロ、シェルパイプなどに対応。man mcedit を参照。
  • mcview - goto マークや regex 検索ができるテキスト・ヘックスビューア。
  • mcdiff - 2つのファイルを一度に比較・編集する (C-x d)。

一つの mc インスタンスで、複数のモジュールを同時に起動することができます (Ctrl-`)。Screen selector を参照してください。外部エディタを使うこともでき、パラメータを設定します。

設定

ほとんどの Midnight Commander の設定はメニューから変更できます。ただし、クリップボードのコマンドやコードセットの検知、外部エディタのパラメータなどは ~/.config/mc/ini でしか設定を変更できません。利用可能なオプションの説明は Special Settingsを参照してください。

さらに、以下の環境変数を使うことができます: MC_SKIN, MC_KEYMAP, MC_XDG_OPEN, MC_COLOR_TABLE, MC_DATADIR, MC_HOME, KEYBOARD_KEY_TIMEOUT_US, PAGER, EDITOR, VIEWER

Files を見てください。

extfs

extfs を利用することで簡単に mc 用に仮想ファイルシステムを作成することができます。詳しくは /usr/lib/mc/extfs.d/README を参照。

Tips and tricks

メニューから起動

デスクトップエントリを使うことでメニューから Midnight Commander を起動することができます。例:

[Desktop Entry]
Type=Application
Version=1.0
Name=Midnight Commander
Comment=Visual file manager
Exec=mc
Icon=folder
MimeType=inode/directory
Terminal=true
Categories=Utility;

ゴミ箱のサポート

デフォルトでは Midnight Commander はゴミ箱を サポートしていません

libtrash を使う

libtrashAUR をインストールしてシェルの初期設定ファイル (例: ~/.bashrc または ~/.zshrc) に mc エイリアスを作ってください:

alias mc='LD_PRELOAD=/usr/lib/libtrash.so.3.3 mc'

変更を適用するには、シェルのセッションを再起動するかシェルの設定ファイルを source してください。

デフォルト設定は /etc/libtrash.conf.sys に定義されています。~/.libtrash を使ってユーザーごとに設定を上書きすることができます。例:

TRASH_CAN = .Trash
INTERCEPT_RENAME = NO
IGNORE_EXTENSIONS= o;exe;com
UNCOVER_DIRS=/dev

これで (mc で起動した) Midnight Commander によって削除されたファイルは ~/.Trash ディレクトリに移動します。

警告
  • Applications launched from mc inherit LD_PRELOAD, which may cause problems with some applications. [1]
  • With GLOBAL_PROTECTION = YES set (default), files deleted outside the home directory are moved to the trash, even if they are on a different partition. Depending on the file, this may cause a significant delay.

[2] も参照。

トラブルシューティング

終了したときにカレントディレクトリが移動する

終了時、最後に使用したディレクトリではなく、Midnight Commander が起動したときに開いていたディレクトリにシェルが戻ります。~/.bashrc~/.zshrc に以下の行を追加することで利用することができる、ラッパースクリプトが存在します:

source /usr/lib/mc/mc.sh

上記の設定で mc がラッパースクリプトにエイリアスされます。

サブシェルを使用するという方法もあります (Ctrl+o)。ただし、他のターミナルアプリケーションと干渉する可能性があります。

画面が化ける

Ctrl+l を押して画面を再描写してください。再描写を行うだけでファイルリストの更新 (Ctrl+r) は行われません。

ファイルを開く

mc はファイルを開くときに MC_XDG_OPEN 環境変数を使います。デフォルトでは xdg-open になっています [3]

作成されたプロセスが終了するまで mc がブロックされたり、mc と一緒にプロセスが終了してしまう場合、nohup & を使ってください:

~/bin/nohup-open
#!/bin/bash
nohup xdg-open "$@" &

そして MC_XDG_OPEN を以下のように設定します:

export MC_XDG_OPEN=~/bin/nohup-open
ヒント libtrash を使う場合、xdg-open の前に unset LD_PRELOAD を追加してください。

ファイル検索で何も表示されない

Find file ダイアログ (Alt+?) で結果が表示されない場合、カレントディレクトリに存在するシンボリックリンクを確認してください。ファイル検索ではシンボリックリンクを処理できないため、代わりにバインドマウントを使用してください (man mount を参照)。あるいは External panelize コマンドを使ってください。

Shift+F6 が動作しない

Shift+F6 キーの組み合わせが TERM=screenTERM=screen-256color で使えない場合、tmux から、以下のコマンドを実行してください:

infocmp > screen (または screen-256color)

テキストエディタでファイルを開いて、ファイルの末尾に以下を追加します:

kf16=\E[29~,

それから tic ファイルをコンパイルしてください。それでキーが機能するようになるはずです。

参照