Wer auf einem Linux-Server den Midnight Commander (MC) öffnet und mit F4 eine Datei bearbeiten will, landet unter Debian und Ubuntu oft im vim statt im mcedit. Zwei Einstellungen lösen das Problem dauerhaft.
mcedit über update-alternatives setzen
Debian verwaltet den Standard-Editor über das Alternatives-System. Als root oder per sudo folgenden Befehl ausführen:
sudo update-alternatives --config editor
Es erscheint eine nummerierte Liste aller installierten Editoren. Den Eintrag /usr/bin/mcedit auswählen und mit Enter bestätigen. Technisch passiert dabei nur eins: Der Symlink /etc/alternatives/editor wird auf /usr/bin/mcedit umgebogen.

Diese Einstellung reicht bei manchen Distributionen bereits aus. Unter Debian Squeeze und neueren Versionen war ein zusätzlicher Schritt nötig.
EDITOR-Variable in der .bashrc setzen
Falls der MC trotz update-alternatives weiterhin vim oder nano öffnet, liegt das an der Umgebungsvariable $EDITOR. Diese hat Vorrang und muss in der .bashrc gesetzt werden:
mcedit /root/.bashrc
Am Ende der Datei diese Zeile einfügen:
export EDITOR='mcedit'
Falls eine .bash_profile existiert, dort nach einem konkurrierenden EDITOR-Eintrag suchen und diesen auskommentieren (mit # am Zeilenanfang). Danach die Konsole schließen und neu anmelden, damit die Änderung greift. Alternativ die Datei mit source ~/.bashrc direkt neu laden.
Sichtbare Leerzeichen und Tabulatoren abschalten
Standardmäßig zeigt der mcedit Leerzeichen und Tabulatoren als sichtbare Zeichen an. Das stört besonders beim Kopieren von Konfigurationsblöcken per Copy & Paste. Die Einstellung liegt in der ini-Datei des Midnight Commander:
nano ~/.config/mc/ini
Bei älteren Versionen liegt die Datei unter ~/.mc/ini. Dort diese beiden Werte auf 0 setzen:
editor_visible_tabs=0
editor_visible_spaces=0
Die ini-Datei des MC lässt sich nicht mit dem mcedit selbst bearbeiten, da der Editor seine eigene Konfigurationsdatei mit einem Schreib-Lock schützt. Deshalb hier nano oder vi verwenden. Mit Strg+X speichern und bestätigen.

Arbeiten mehrere Benutzer auf dem Server, muss die Änderung in jeder benutzerspezifischen ini-Datei vorgenommen werden. Diese liegen in den jeweiligen Home-Verzeichnissen unter ~/.config/mc/ini.
Zusammenfassung der Befehle
| Schritt | Befehl |
|---|---|
| Editor systemweit setzen | sudo update-alternatives --config editor |
| EDITOR-Variable setzen | echo "export EDITOR='mcedit'" >> ~/.bashrc |
| Änderung sofort laden | source ~/.bashrc |
| Sichtbare Tabs abschalten | nano ~/.config/mc/ini |
Häufig gestellte Fragen
Warum öffnet F4 im Midnight Commander vim statt mcedit?
Debian setzt vim als Standard-Editor. Der MC nutzt die Umgebungsvariable $EDITOR und das Alternatives-System, um zu entscheiden, welcher Editor bei F4 startet. Beides muss auf mcedit zeigen.
Gilt die Änderung für alle Benutzer?
Die update-alternatives-Einstellung gilt systemweit. Die .bashrc-Anpassung gilt nur für den jeweiligen Benutzer. Wer den mcedit für alle Accounts setzen will, trägt die EDITOR-Variable in /etc/environment ein.
Funktioniert das auch unter Ubuntu?
Ja. Ubuntu basiert auf Debian und verwendet dasselbe Alternatives-System. Der Befehl update-alternatives --config editor funktioniert identisch. Der MC muss installiert sein: sudo apt install mc.
Kommentararchiv 2
Leser bestätigten, dass die Anleitung unter Debian Squeeze und Wheezy funktioniert. Ein Kommentar wies darauf hin, dass die .bashrc-Anpassung erst nach erneutem Login greift.