Midnight Commander to bez wątpienia jedno z największych osiągnięć ludzkości. W życiu nie spotkałem się z przyjaźniejszym menedżerem plików pod konsolę. A przy odrobinie wysiłku można uczynić pracę z nim jeszcze przyjemniejszą. Chodzi mi w tym momencie o menu użytkownika (dostępne pod F2). Ostatnio postanowiłem zrobić tam generalne porządki i dodać parę nowych komend.
Oto co ciekawsze rzeczy z mojego ~/.mc/menu:
+ f .ebuild & ! t t
m Generate Manifest for ebuild
ebuild "%f" manifest
+ f .ebuild & t t
M Generate Manifests for selected ebuilds
set %t
while [ -n "$1" ]; do
ebuild "$1" manifest
shift
done
+ t r & ! t t
d Diff against file of same name in other directory
if [ "%d" = "%D" ]; then
echo "The two directores must be different"
exit 1
fi
if [ -f %D/%f ]; then # if two of them, then
diff -up %f %D/%f | sed -e 's/(^-.*)/x1b[1;31m1x1b[0m/g'
-e 's/(^+.*)/x1b[1;32m1x1b[0m/g'
-e 's/(^@.*)/x1b[36m1x1b[0m/g' | less -R
else
echo %f: No copy in %D/%f
fi
D Diff current directory against other directory
if [ "%d" = "%D" ]; then
echo "The two directores must be different"
exit 1
fi
diff -up %d %D | sed -e 's/(^-.*)/x1b[1;31m1x1b[0m/g'
-e 's/(^+.*)/x1b[1;32m1x1b[0m/g'
-e 's/(^@.*)/x1b[36m1x1b[0m/g' | less -R
fi
+ ! t t
g Edit file with GVim
gvim "%f"
+ t t
g Edit files with GVim
set %t; CMD=%{Enter command}
while [ -n "$1" ]; do
$CMD "$1"
shift
done
W skrócie: generowanie Manifestu dla plików .ebuild, porównywanie pliku/katalogu między panelami i możliwość odpalenia dowolnego pliku GVimem. Osobiście uważam te dodatki za bardzo przydatne. Odkąd je dodałem, zdążyły mi się już wiele razy przydać. Aż dziw bierze, że wcześniej nie chciało mi się tego zrobić :D
Gwoli ścisłości, przepis na diffa jest wzięty stąd. Tutaj jedna uwaga - domyślnie klawisze od diffa (d i D) pokrywają się z innymi funkcjami. Rozwiązaniem jest zmiana skrótów lub wywalenie rzeczonych funkcji (opisane jako "Delete file if a copy exists in the other directory." i "Delete tagged files if a copy exists in the other directory.") z konfiguracji menu.
bardzo przydatne:)