Initial commit.

This commit is contained in:
2021-05-24 22:18:33 +03:00
commit e2954d55f4
3701 changed files with 330017 additions and 0 deletions

31
mc/edit.indent.rc Executable file
View File

@@ -0,0 +1,31 @@
#! /bin/sh
# *** External Formatter (Indenter) for GNU Midnight Commander.
# arguments:
# $1 - Name of the file being edited
# $2 - Name of the file to be processed
exec >/dev/null
case `echo $1 |sed 's/^.*\.//'` in
c|h)
# ftp://ftp.gnu.org/pub/gnu/indent/
# Please add options to your ~/.indent.pro, not here.
indent "$2"
;;
C|cc|CC|cxx|CXX|cpp|CPP)
# http://astyle.sourceforge.net/
astyle "$2"
;;
java|JAVA)
# http://astyle.sourceforge.net/
astyle --style=java --mode=java "$2"
;;
htm|html|HTM|HTML)
# http://tidy.sourceforge.net/
tidy -q -m -ascii -wrap 80 "$2"
;;
*)
# http://www.gnu.org/software/coreutils/
fmt "$2" >"$2.tmp" && rm -f "$2" && mv -f "$2.tmp" "$2"
;;
esac

46
mc/filehighlight.ini Normal file
View File

@@ -0,0 +1,46 @@
[executable]
type=FILE_EXE
[directory]
type=DIR
[device]
type=DEVICE
[special]
type=SPECIAL
[stalelink]
type=STALE_LINK
[symlink]
type=SYMLINK
[hardlink]
type=HARDLINK
[core]
regexp=^core\\.*\\d*$
[temp]
extensions=~;$$$;bak;tmp
extensions_case=false
regexp=(^#.*|.*~$)
[archive]
extensions=7z;Z;ace;arc;arj;ark;bz2;cab;gz;lha;lz;lz4;lzh;lzma;rar;rpm;tar;tbz;tbz2;tgz;tlz;xz;zip;zoo
[doc]
extensions=chm;css;ctl;diz;doc;docm;docx;dtd;htm;html;letter;lsm;mail;man;me;msg;nroff;odp;ods;odt;pdf;po;ppt;pptm;pptx;ps;rtf;sgml;shtml;tex;text;txt;xls;xlsm;xlsx;xml;xsd;xslt
[source]
extensions=ada;asm;awk;bash;c;caml;cc;cgi;cpp;cxx;diff;erl;h;hh;hi;hpp;hs;inc;jasm;jav;java;js;m4;mak;ml;mli;mll;mlp;mly;pas;patch;php;phps;pl;pm;prg;py;rb;sas;sh;sl;st;tcl;tk;xq
[media]
extensions=3gp;ape;asf;avi;flac;flv;it;m3u;med;mid;midi;mkv;mod;mol;mov;mp2;mp3;mp4;mpeg;mpg;mpl;ogg;ogv;s3m;umx;vob;wav;webm;wma;wmv;xm
[graph]
extensions=ai;bmp;cdr;eps;gif;ico;jpeg;jpg;omf;pcx;pic;png;rle;svg;tif;tiff;webp;wmf;xbm;xcf;xpm
[database]
extensions=cdx;dat;db;dbf;dbi;dbx;fox;mdb;mdn;mdx;msql;mssql;pgsql;sql;ssql

459
mc/mc.default.keymap Normal file
View File

@@ -0,0 +1,459 @@
[main]
ChangePanel = tab
Help = f1
UserMenu = f2
View = f3
# ViewFile =
Edit = f4
# EditForceInternal =
Copy = f5
Move = f6
MakeDir = f7
Delete = f8
Menu = f9
Quit = f10
MenuLastSelected = f19
QuitQuiet = f20
Find = alt-question
CdQuick = alt-c
HotList = ctrl-backslash
Reread = ctrl-r
DirSize = ctrl-space
Suspend = ctrl-z
Swap = ctrl-u
History = alt-h
# PanelListing =
PanelListingSwitch = alt-t
# PanelListingChange =
ShowHidden = alt-dot
SplitVertHoriz = alt-comma
SplitEqual = alt-equal
SplitMore = alt-shift-right
SplitLess = alt-shift-left
Shell = ctrl-o
PutCurrentPath = alt-a
PutOtherPath = alt-shift-a
PutCurrentSelected = alt-enter; ctrl-enter
PutCurrentFullSelected = ctrl-shift-enter
ViewFiltered = alt-exclamation
Select = kpplus
Unselect = kpminus
SelectInvert = kpasterisk
ScreenList = alt-prime
# OptionsLayout =
# OptionsAppearance =
# OptionsPanel =
# OptionsConfirm =
# OptionsDisplayBits =
# OptionsVfs =
# LearnKeys =
# SaveSetup =
# EditExtensionsFile =
# EditFileHighlightFile =
# Filter =
# ConnectFish =
# ConnectFtp =
# ConnectSmb =
# Undelete =
ExtendedKeyMap = ctrl-x
[main:xmap]
ChangeMode = c
ChangeOwn = o
CompareDirs = d
CompareFiles = ctrl-d
HotListAdd = h
LinkSymbolicEdit = ctrl-s
Link = l
LinkSymbolic = s
LinkSymbolicRelative = v
PanelInfo = i
PanelQuickView = q
ExternalPanelize = exclamation
VfsList = a
Jobs = j
PutCurrentPath = p
PutOtherPath = ctrl-p
PutCurrentTagged = t
PutOtherTagged = ctrl-t
PutCurrentLink = r
PutOtherLink = ctrl-r
[panel]
Search = ctrl-s; alt-s
Mark = insert; ctrl-t
MarkUp = shift-up
MarkDown = shift-down
# MarkLeft =
# MarkRight =
Down = down; ctrl-n
Up = up; ctrl-p
Left = left
Right = right
PageUp = pgup; alt-v
PageDown = pgdn; ctrl-v
Enter = enter
PanelOtherCd = alt-o
PanelOtherCdLink = alt-l
ViewRaw = f13
EditNew = f14
CopySingle = f15
MoveSingle = f16
DeleteSingle = f18
# SelectExt =
Select = alt-plus
Unselect = alt-minus
SelectInvert = alt-asterisk
CdChild = ctrl-pgdn
CdParent = ctrl-pgup
# CdParentSmart =
# Panelize =
History = alt-shift-h
HistoryNext = alt-u
HistoryPrev = alt-y
BottomOnScreen = alt-j
MiddleOnScreen = alt-r
TopOnScreen = alt-g
PanelOtherSync = alt-i
SelectCodepage = alt-e
Top = alt-lt; home; a1
Bottom = alt-gt; end; c1
# Sort =
# SortPrev =
# SortNext =
# SortReverse =
# SortByName =
# SortByExt =
# SortBySize =
# SortByMTime =
# ScrollLeft =
# ScrollRight =
[dialog]
Ok = enter
Cancel = f10; esc; ctrl-g
Up = left; up
#Left = left; up
Down = right; down
#Right = right; down
Help = f1
Suspend = ctrl-z
Refresh = ctrl-l
ScreenList = alt-prime
ScreenNext = alt-rbrace
ScreenPrev = alt-lbrace
[input]
Home = ctrl-a; alt-lt; home; a1
End = ctrl-e; alt-gt; end; c1
Left = left; alt-left; ctrl-b
Right = right; alt-right; ctrl-f
WordLeft = ctrl-left; alt-b
WordRight = ctrl-right; alt-f
Backspace = backspace; ctrl-h
Delete = delete; ctrl-d
DeleteToWordBegin = alt-backspace
DeleteToWordEnd = alt-d
# Mark =
Remove = ctrl-w
# Cut =
Store = alt-w
# Paste =
Yank = ctrl-y
DeleteToEnd = ctrl-k
HistoryPrev = alt-p; ctrl-down
HistoryNext = alt-n; ctrl-up
History = alt-h
Complete = alt-tab
# Clear =
MarkLeft = shift-left
MarkRight = shift-right
MarkToWordBegin = ctrl-shift-left
MarkToWordEnd = ctrl-shift-right
MarkToHome = shift-home
MarkToEnd = shift-end
[listbox]
Up = up; ctrl-p
Down = down; ctrl-n
Top = home; alt-lt; a1
Bottom = end; alt-gt; c1
PageUp = pgup; alt-v
PageDown = pgdn; ctrl-v
Delete = delete; d
Clear = shift-delete; shift-d
[tree]
Help = f1
Reread = f2; ctrl-r
Forget = f3
ToggleNavigation = f4
Copy = f5
Move = f6
Up = up; ctrl-p
Down = down; ctrl-n
Left = left
Right = right
Top = home; alt-lt; a1
Bottom = end; alt-gt; c1
PageUp = pgup; alt-v
PageDown = pgdn; ctrl-v
Enter = enter
Search = ctrl-s; alt-s
Delete = f8; delete
[help]
Help = f1
Index = f2; c
Back = f3; left; l
Quit = f10; esc
Up = up; ctrl-p
Down = down; ctrl-n
PageDown = f; space; pgdn; ctrl-v
PageUp = b; pgup; alt-v; backspace
HalfPageDown = d
HalfPageUp = u
Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
Enter = right; enter
LinkNext = tab
LinkPrev = alt-tab
NodeNext = n
NodePrev = p
[editor]
Store = ctrl-insert
Paste = shift-insert
Cut = shift-delete
Up = up
Down = down
Left = left
Right = right
WordLeft = ctrl-left; ctrl-z
WordRight = ctrl-right; ctrl-x
Enter = enter
Return = shift-enter; ctrl-enter; ctrl-shift-enter
BackSpace = backspace; ctrl-h
Delete = delete; ctrl-d
PageUp = pgup
PageDown = pgdn
Home = home
End = end
Tab = tab; shift-tab; ctrl-tab; ctrl-shift-tab
Undo = ctrl-u
Redo = alt-r
Top = ctrl-home; alt-lt
Bottom = ctrl-end; alt-gt
ScrollUp = ctrl-up
ScrollDown = ctrl-down
TopOnScreen = ctrl-pgup
BottomOnScreen = ctrl-pgdn
DeleteToWordBegin = alt-backspace
DeleteToWordEnd = alt-d
DeleteLine = ctrl-y
DeleteToEnd = ctrl-k
# DeleteToHome =
# ParagraphUp =
# ParagraphDown =
Save = f2
# EditFile =
EditNew = ctrl-n
SaveAs = f12; ctrl-f2
# Close =
Mark = f3
Copy = f5
Move = f6
Remove = f8
# MarkLine =
# MarkWord =
# MarkAll =
# Unmark =
Search = f7
SearchContinue = f17
# BlockShiftLeft =
# BlockShiftRight =
MarkPageUp = shift-pgup
MarkPageDown = shift-pgdn
MarkLeft = shift-left
MarkRight = shift-right
MarkToWordBegin = ctrl-shift-left
MarkToWordEnd = ctrl-shift-right
MarkUp = shift-up
MarkDown = shift-down
MarkToHome = shift-home
MarkToEnd = shift-end
MarkToFileBegin = ctrl-shift-home
MarkToFileEnd = ctrl-shift-end
MarkToPageBegin = ctrl-shift-pgup
MarkToPageEnd = ctrl-shift-pgdn
MarkScrollUp = ctrl-shift-up
MarkScrollDown = ctrl-shift-down
# MarkParagraphUp =
# MarkParagraphDown =
MarkColumnPageUp = alt-pgup
MarkColumnPageDown = alt-pgdn
MarkColumnLeft = alt-left
MarkColumnRight = alt-right
MarkColumnUp = alt-up
MarkColumnDown = alt-down
# MarkColumnScrollUp =
# MarkColumnScrollDown =
# MarkColumnParagraphUp =
# MarkColumnParagraphDown =
BlockSave = ctrl-f
MarkColumn = f13
Replace = f4
ReplaceContinue = f14
Complete = alt-tab
InsertFile = f15
Quit = f10; esc
InsertOverwrite = insert
Help = f1
# Date =
Refresh = ctrl-l
Goto = alt-l
Sort = alt-t
Mail = alt-m
ParagraphFormat = alt-p
MatchBracket = alt-b
ExternalCommand = alt-u
UserMenu = f11
Menu = f9
Bookmark = alt-k
BookmarkFlush = alt-o
BookmarkNext = alt-j
BookmarkPrev = alt-i
# History =
Shell = ctrl-o
InsertLiteral = ctrl-q
# MacroStartRecord =
# MacroStopRecord =
MacroStartStopRecord = ctrl-r
# MacroDelete =
ShowNumbers = alt-n
ShowTabTws = alt-underline
SyntaxOnOff = ctrl-s
# SyntaxChoose =
# ShowMargin =
Find = alt-enter
FilePrev = alt-minus
FileNext = alt-plus
# RepeatStartStopRecord =
SelectCodepage = alt-e
# Options =
# OptionsSaveMode =
# SpellCheck =
SpellCheckCurrentWord = ctrl-p
# SpellCheckSelectLang =
# LearnKeys =
# WindowMove =
# WindowResize =
# WindowFullscreen =
# WindowList =
# WindowNext =
# WindowPrev =
# ExtendedKeyMap =
[viewer]
Help = f1
WrapMode = f2
Quit = f3; f10; q; esc
HexMode = f4
Goto = f5
Search = f7
SearchForward = slash
SearchBackward = question
SearchContinue = f17; n
SearchForwardContinue = ctrl-s
SearchBackwardContinue = ctrl-r
MagicMode = f8
NroffMode = f9
Home = ctrl-a
End = ctrl-e
Left = h; left
Right = l; right
LeftQuick = ctrl-left
RightQuick = ctrl-right
Up = k; y; insert; up; ctrl-p
Down = j; e; delete; down; enter; ctrl-n
PageDown = f; space; pgdn; ctrl-v
PageUp = b; pgup; alt-v; backspace
HalfPageDown = d
HalfPageUp = u
Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
BookmarkGoto = m
Bookmark = r
FileNext = ctrl-f
FilePrev = ctrl-b
SelectCodepage = alt-e
Shell = ctrl-o
Ruler = alt-r
[viewer:hex]
Help = f1
HexEditMode = f2
Quit = f3; f10; q; esc
HexMode = f4
Goto = f5
Save = f6
Search = f7
SearchForward = slash
SearchBackward = question
SearchContinue = f17; n
SearchForwardContinue = ctrl-s
SearchBackwardContinue = ctrl-r
MagicMode = f8
NroffMode = f9
ToggleNavigation = tab
Home = ctrl-a; home
End = ctrl-e; end
Left = b; left
Right = f; right
Up = k; y; up
Down = j; delete; down
PageDown = pgdn; ctrl-v
PageUp = pgup; alt-v
Top = ctrl-home; ctrl-pgup; a1; alt-lt; g
Bottom = ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
[diffviewer]
ShowSymbols = alt-s; s
ShowNumbers = alt-n; l
SplitFull = f
SplitEqual = equal
SplitMore = gt
SplitLess = lt
Tab2 = 2
Tab3 = 3
Tab4 = 4
Tab8 = 8
Swap = ctrl-u
Redo = ctrl-r
HunkNext = n; enter; space
HunkPrev = p; backspace
Goto = g; shift-g
Save = f2
Edit = f4
EditOther = f14
Merge = f5
MergeOther = f15
Search = f7
SearchContinue = f17
Options = f9
Top = ctrl-home
Bottom = ctrl-end
Down = down
Up = up
LeftQuick = ctrl-left
RightQuick = ctrl-right
Left = left
Right = right
PageDown = pgdn
PageUp = pgup
Home = home
End = end
Help = f1
Quit = f10; q; shift-q; esc
Shell = ctrl-o
SelectCodepage = alt-e

461
mc/mc.emacs.keymap Normal file
View File

@@ -0,0 +1,461 @@
[main]
ChangePanel = tab
Help = f1
UserMenu = f2
View = f3
# ViewFile =
Edit = f4
# EditForceInternal =
Copy = f5
Move = f6
MakeDir = f7
Delete = f8
Menu = f9
Quit = f10
MenuLastSelected = f19
QuitQuiet = f20
Find = alt-question
CdQuick = alt-c
HotList = ctrl-backslash
Reread = ctrl-r
DirSize = ctrl-space
Suspend = ctrl-z
Swap = ctrl-u
History = alt-h
# PanelListing =
PanelListingSwitch = alt-t
# PanelListingChange =
ShowHidden = alt-dot
SplitVertHoriz = alt-comma
SplitEqual = alt-equal
SplitMore = alt-shift-right
SplitLess = alt-shift-left
Shell = ctrl-o
PutCurrentPath = alt-a
PutOtherPath = alt-shift-a
PutCurrentSelected = alt-enter; ctrl-enter
PutCurrentFullSelected = ctrl-shift-enter
ViewFiltered = alt-exclamation
Select = kpplus
Unselect = kpminus
SelectInvert = kpasterisk
ScreenList = alt-prime
# OptionsLayout =
# OptionsAppearance =
# OptionsPanel =
# OptionsConfirm =
# OptionsDisplayBits =
# OptionsVfs =
# LearnKeys =
# SaveSetup =
# EditExtensionsFile =
# EditFileHighlightFile =
# Filter =
# ConnectFish =
# ConnectFtp =
# ConnectSmb =
# Undelete =
ExtendedKeyMap = ctrl-x
[main:xmap]
ChangeMode = c
ChangeOwn = o
CompareDirs = d
CompareFiles = ctrl-d
HotListAdd = h
LinkSymbolicEdit = ctrl-s
Link = l
LinkSymbolic = s
LinkSymbolicRelative = v
PanelInfo = i
PanelQuickView = q
ExternalPanelize = exclamation
VfsList = a
Jobs = j
PutCurrentPath = p
PutOtherPath = ctrl-p
PutCurrentTagged = t
PutOtherTagged = ctrl-t
PutCurrentLink = r
PutOtherLink = ctrl-r
[panel]
Search = ctrl-s; alt-s
Mark = insert; ctrl-t
MarkUp = shift-up
MarkDown = shift-down
# MarkLeft =
# MarkRight =
Down = down; ctrl-n
Up = up; ctrl-p
Left = left
Right = right
PageUp = pgup; alt-v
PageDown = pgdn; ctrl-v
Enter = enter
PanelOtherCd = alt-o
PanelOtherCdLink = alt-l
ViewRaw = f13
EditNew = f14
CopySingle = f15
MoveSingle = f16
DeleteSingle = f18
# SelectExt =
Select = alt-plus
Unselect = alt-minus
SelectInvert = alt-asterisk
CdChild = ctrl-pgdn
CdParent = ctrl-pgup
# CdParentSmart =
# Panelize =
History = alt-shift-h
HistoryNext = alt-u
HistoryPrev = alt-y
BottomOnScreen = alt-j
MiddleOnScreen = alt-r
TopOnScreen = alt-g
PanelOtherSync = alt-i
SelectCodepage = alt-e
Top = alt-lt; home; a1
Bottom = alt-gt; end; c1
# Sort =
# SortPrev =
# SortNext =
# SortReverse =
# SortByName =
# SortByExt =
# SortBySize =
# SortByMTime =
# ScrollLeft =
# ScrollRight =
[dialog]
Ok = enter
Cancel = f10; esc
Up = left; up
#Left = left; up
Down = right; down
#Right = right; down
Help = f1
Suspend = ctrl-z
Refresh = ctrl-l
ScreenList = alt-prime
ScreenNext = alt-rbrace
ScreenPrev = alt-lbrace
[input]
Home = ctrl-a; alt-lt; home; a1
End = ctrl-e; alt-gt; end; c1
Left = left; alt-left; ctrl-b
Right = right; alt-right; ctrl-f
WordLeft = ctrl-left; alt-b
WordRight = ctrl-right; alt-f
Backspace = backspace
Delete = delete
DeleteToWordBegin = alt-backspace
DeleteToWordEnd = alt-d
# Mark =
Remove = ctrl-w
# Cut =
Store = alt-w
# Paste =
Yank = ctrl-y
DeleteToEnd = ctrl-k
HistoryPrev = alt-p; ctrl-down
HistoryNext = alt-n; ctrl-up
History = alt-h
Complete = alt-tab
# Clear =
# MarkLeft =
# MarkRight =
# MarkToWordBegin =
# MarkToWordEnd =
# MarkToHome =
# MarkToEnd =
[listbox]
Up = up; ctrl-p
Down = down; ctrl-n
Top = home; alt-lt; a1
Bottom = end; alt-gt; c1
PageUp = pgup; alt-v
PageDown = pgdn; ctrl-v
Delete = delete; d
Clear = shift-delete; shift-d
[tree]
Help = f1
Reread = f2; ctrl-r
Forget = f3
ToggleNavigation = f4
Copy = f5
Move = f6
Up = up; ctrl-p
Down = down; ctrl-n
Left = left
Right = right
Top = home; alt-lt; a1
Bottom = end; alt-gt; c1
PageUp = pgup; alt-v
PageDown = pgdn; ctrl-v
Enter = enter
Search = ctrl-s; alt-s
Delete = f8; delete
[help]
Help = f1
Index = f2; c
Back = f3; left; l
Quit = f10; esc; ctrl-g
Up = up; ctrl-p
Down = down; ctrl-n
PageDown = f; space; pgdn; ctrl-v
PageUp = b; pgup; alt-v; backspace
HalfPageDown = d
HalfPageUp = u
Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
Enter = right; enter
LinkNext = tab
LinkPrev = alt-tab
NodeNext = n
NodePrev = p
[editor]
Store = alt-w
Paste = ctrl-y
Cut = ctrl-w
Up = up; ctrl-p
Down = down; ctrl-n
Left = left; ctrl-b
Right = right; ctrl-f
WordLeft = ctrl-left; alt-b
WordRight = ctrl-right; alt-f
Enter = enter
Return = shift-enter; ctrl-enter; ctrl-shift-enter
BackSpace = backspace
Delete = delete
PageUp = pgup; alt-v
PageDown = pgdn; ctrl-v
Home = home; ctrl-a
End = end; ctrl-e
Tab = tab; shift-tab; ctrl-tab; ctrl-shift-tab
Undo = ctrl-u
# Redo =
Top = ctrl-home; alt-lt
Bottom = ctrl-end; alt-gt
ScrollUp = ctrl-up
ScrollDown = ctrl-down
TopOnScreen = ctrl-pgup
BottomOnScreen = ctrl-pgdn
DeleteToWordBegin = alt-backspace
DeleteToWordEnd = alt-d
DeleteLine = ctrl-y
DeleteToEnd = ctrl-k
# DeleteToHome =
# ParagraphUp =
# ParagraphDown =
Save = f2
# EditFile =
SaveAs = f12; ctrl-f2
# Close =
Mark = f3; ctrl-at
Copy = f5
Move = f6
Remove = f8
# MarkLine =
# MarkWord =
# MarkAll =
# Unmark =
Search = f7; ctrl-s
SearchContinue = f17
# BlockShiftLeft =
# BlockShiftRight =
MarkPageUp = shift-pgup
MarkPageDown = shift-pgdn
MarkLeft = shift-left
MarkRight = shift-right
MarkToWordBegin = ctrl-shift-left
MarkToWordEnd = ctrl-shift-right
MarkUp = shift-up
MarkDown = shift-down
MarkToHome = shift-home
MarkToEnd = shift-end
MarkToFileBegin = ctrl-shift-home
MarkToFileEnd = ctrl-shift-end
MarkToPageBegin = ctrl-shift-pgup
MarkToPageEnd = ctrl-shift-pgdn
MarkScrollUp = ctrl-shift-up
MarkScrollDown = ctrl-shift-down
# MarkParagraphUp =
# MarkParagraphDown =
MarkColumnPageUp = alt-pgup
MarkColumnPageDown = alt-pgdn
MarkColumnLeft = alt-left
MarkColumnRight = alt-right
MarkColumnUp = alt-up
MarkColumnDown = alt-down
# MarkColumnScrollUp =
# MarkColumnScrollDown =
# MarkColumnParagraphUp =
# MarkColumnParagraphDown =
# BlockSave =
MarkColumn = f13
Replace = f4
ReplaceContinue = f14
Complete = alt-tab
InsertFile = f15
Quit = f10; esc
InsertOverwrite = insert
Help = f1
# Date =
Refresh = ctrl-l
Goto = alt-l
Sort = alt-t
# Mail =
ParagraphFormat = alt-p
# MatchBracket =
ExternalCommand = alt-u
UserMenu = f11
Menu = f9
# Bookmark =
# BookmarkFlush =
# BookmarkNext =
# BookmarkPrev =
# History =
Shell = ctrl-o
InsertLiteral = ctrl-q
# MacroStartRecord =
# MacroStopRecord =
MacroStartStopRecord = ctrl-r
# MacroDelete =
ShowNumbers = alt-n
ShowTabTws = alt-underline
SyntaxOnOff = ctrl-s
# SyntaxChoose =
# ShowMargin =
Find = alt-enter
FilePrev = alt-minus
FileNext = alt-plus
# RepeatStartStopRecord =
SelectCodepage = alt-e
# Options =
# OptionsSaveMode =
# SpellCheck =
# SpellCheckCurrentWord =
# SpellCheckSelectLang =
# LearnKeys =
# WindowMove =
# WindowResize =
# WindowFullscreen =
# WindowList =
# WindowNext =
# WindowPrev =
ExtendedKeyMap = ctrl-x
[editor:xmap]
EditNew = k
[viewer]
Help = f1
WrapMode = f2
Quit = f3; f10; q; esc
HexMode = f4
Goto = f5
Search = f7
SearchForward = slash
SearchBackward = question
SearchContinue = f17; n
SearchForwardContinue = ctrl-s
SearchBackwardContinue = ctrl-r
MagicMode = f8
NroffMode = f9
Home = ctrl-a
End = ctrl-e
Left = h; left
Right = l; right
LeftQuick= ctrl-left
RightQuick = ctrl-right
Up = k; y; insert; up; ctrl-p
Down = j; e; delete; down; enter; ctrl-n
PageDown = f; space; pgdn; ctrl-v
PageUp = b; pgup; alt-v; backspace
HalfPageDown = d
HalfPageUp = u
Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
BookmarkGoto = m
Bookmark = r
FileNext = ctrl-f
FilePrev = ctrl-b
SelectCodepage = alt-e
Shell = ctrl-o
Ruler = alt-r
[viewer:hex]
Help = f1
HexEditMode = f2
Quit = f3; f10; q; esc
HexMode = f4
Goto = f5
Save = f6
Search = f7
SearchForward = slash
SearchBackward = question
SearchContinue = f17; n
SearchForwardContinue = ctrl-s
SearchBackwardContinue = ctrl-r
MagicMode = f8
NroffMode = f9
ToggleNavigation = tab
Home = ctrl-a; home
End = ctrl-e; end
Left = b; left
Right = f; right
Up = k; y; up
Down = j; delete; down
PageDown = pgdn; ctrl-v
PageUp = pgup; alt-v
Top = ctrl-home; ctrl-pgup; a1; alt-lt; g
Bottom = ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
[diffviewer]
ShowSymbols = alt-s; s
ShowNumbers = alt-n; l
SplitFull = f
SplitEqual = equal
SplitMore = gt
SplitLess = lt
Tab2 = 2
Tab3 = 3
Tab4 = 4
Tab8 = 8
Swap = ctrl-u
Redo = ctrl-r
HunkNext = n; enter; space
HunkPrev = p; backspace
Goto = g; shift-g
Save = f2
Edit = f4
EditOther = f14
Merge = f5
MergeOther = f15
Search = f7
SearchContinue = f17
Options = f9
Top = ctrl-home
Bottom = ctrl-end
Down = down
Up = up
LeftQuick = ctrl-left
RightQuick = ctrl-right
Left = left
Right = right
PageDown = pgdn
PageUp = pgup
Home = home
End = end
Help = f1
Quit = f10; q; shift-q; esc
Shell = ctrl-o
SelectCodepage = alt-e

805
mc/mc.ext Normal file
View File

@@ -0,0 +1,805 @@
# Midnight Commander 3.0 extension file
# Warning: Structure of this file has changed completely with version 3.0
#
# All lines starting with # or empty lines are thrown away.
# Lines starting in the first column should have following format:
#
# keyword/descNL, i.e. everything after keyword/ until new line is desc
#
# keyword can be:
#
# shell (desc is, when starting with a dot, any extension (no wildcars),
# i.e. matches all the files *desc . Example: .tar matches *.tar;
# if it doesn't start with a dot, it matches only a file of that name)
#
# shell/i (desc is, when starting with a dot, any extension (no wildcars),
# The same as shell but with case insensitive.
#
# regex (desc is an extended regular expression)
# Please note that we are using the GNU regex library and thus
# \| matches the literal | and | has special meaning (or) and
# () have special meaning and \( \) stand for literal ( ).
#
# regex/i (desc is an extended regular expression)
# The same as regex but with case insensitive.
#
# type (file matches this if `file %f` matches regular expression desc
# (the filename: part from `file %f` is removed))
#
# type/i (file matches this if `file %f` matches regular expression desc)
# The same as type but with case insensitive.
#
# directory (matches any directory matching regular expression desc)
#
# include (matches an include directive)
#
# default (matches any file no matter what desc is)
#
# Other lines should start with a space or tab and should be in the format:
#
# keyword=commandNL (with no spaces around =), where keyword should be:
#
# Open (if the user presses Enter or doubleclicks it),
#
# View (F3), Edit (F4)
#
# Include is the keyword used to add any further entries from an include/
# section
#
# command is any one-line shell command, with the following substitutions:
#
# %% -> % character
# %p -> name of the current file (without path, but pwd is its path).
# Also provided to external application as MC_EXT_BASENAME
# global variable
# %f -> name of the current file. Unlike %p, if file is located on a
# non-local virtual filesystem, i.e. either tarfs or ftpfs,
# then the file will be temporarily copied into a local directory
# and %f will be the full path to this local temporal file.
# If you don't want to get a local copy and want to get the
# virtual fs path (like /#ftp:ftp.cvut.cz/pub/hungry/xword), then
# use %d/%p instead of %f.
# Also provided to external application as MC_EXT_FILENAME
# global variable
# %d -> name of the current directory (pwd, without trailing slash)
# Also provided to external application as MC_EXT_CURRENTDIR
# global variable
# %s -> "selected files", i.e. space separated list of tagged files if any
# or name of the current file.
# Also provided to external application as MC_EXT_SELECTED
# global variable
# %t -> list of tagged files
# Also provided to external application as MC_EXT_ONLYTAGGED
# global variable
# %u -> list of tagged files (they'll be untaged after the command)
#
# (If these 6 letters are in uppercase, they refer to the other panel.
# But you shouldn't have to use it in this file.)
#
#
# %cd -> the rest is a path mc should change into (cd won't work, since it's
# a child process). %cd handles even vfs names.
#
# %view -> the command you type will be piped into mc's internal file viewer
# if you type only the %view and no command, viewer will load %f file
# instead (i.e. no piping, so it is different to %view cat %f)
# %view may be directly followed by {} with a list of any of
# ascii (Ascii mode), hex (Hex mode), nroff (color highlighting for
# text using backspace for bold and underscore) and unform
# (no highlighting for nroff sequences) separated by commas.
#
# %var -> You use it like this: %var{VAR:default}. This macro will expand
# to the value of the VAR variable in the environment if it's set
# otherwise the value in default will be used. This is similar to
# the Bourne shell ${VAR-default} construct.
#
# Rules are applied from top to bottom, thus the order is important.
# If some actions are missing, search continues as if this target didn't
# match (i.e. if a file matches the first and second entry and View action
# is missing in the first one, then on pressing F3 the View action from
# the second entry will be used. default should catch all the actions.
#
# Any new entries you develop for you are always welcome if they are
# useful on more than one system. You can post your modifications
# as tickets at www.midnight-commander.org
### Changes ###
#
# Reorganization: 2012-03-07 Slava Zanko <slavazanko@gmail.com>
### GIT Repo ###
# gitfs changeset
regex/^\[git\]
Open=%cd %p/changesetfs://
View=%cd %p/patchsetfs://
### Archives ###
# .tgz, .tpz, .tar.gz, .tar.z, .tar.Z, .ipk, .gem
regex/\.t([gp]?z|ar\.g?[zZ])$|\.ipk$|\.gem$
Open=%cd %p/utar://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar.gz
shell/.tar.bz
# Open=%cd %p/utar://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar.bzip
regex/\.t(ar\.bz2|bz2?|b2)$
Open=%cd %p/utar://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar.bzip2
# .tar.lzma, .tlz
regex/\.t(ar\.lzma|lz)$
Open=%cd %p/utar://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar.lzma
# .tar.lz
shell/.tar.lz
Open=%cd %p/utar://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar.lz
# .tar.lz4, .tlz4
regex/\.t(ar\.lz4|lz4)$
Open=%cd %p/utar://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar.lz4
# .tar.xz, .txz
regex/\.t(ar\.xz|xz)$
Open=%cd %p/utar://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar.xz
# .tar.F - used in QNX
shell/.tar.F
# Open=%cd %p/utar://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar.F
# .qpr/.qpk - QNX Neutrino package installer files
regex/\.qp[rk]$
Open=%cd %p/utar://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar.qpr
# tar
shell/i/.tar
Open=%cd %p/utar://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar
# lha
type/^LHa\ .*archive
Open=%cd %p/ulha://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view lha
# arj
regex/i/\.a(rj|[0-9][0-9])$
Open=%cd %p/uarj://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view arj
# cab
shell/i/.cab
Open=%cd %p/ucab://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view cab
# ha
shell/i/.ha
Open=%cd %p/uha://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view ha
# rar
regex/i/\.r(ar|[0-9][0-9])$
Open=%cd %p/urar://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view rar
# ALZip
shell/i/.alz
Open=%cd %p/ualz://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view alz
# cpio
shell/.cpio.Z
Open=%cd %p/ucpio://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view cpio.z
shell/.cpio.lz
Open=%cd %p/ucpio://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view cpio.lz
shell/.cpio.lz4
Open=%cd %p/ucpio://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view cpio.lz4
shell/.cpio.xz
Open=%cd %p/ucpio://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view cpio.xz
shell/.cpio.gz
Open=%cd %p/ucpio://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view cpio.gz
shell/i/.cpio
Open=%cd %p/ucpio://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view cpio
# initrd
regex/^(initramfs.*\.img|initrd(-.+)?\.img(-.+)?)$
Open=%cd %p/ucpio://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view cpio
# 7zip archives (they are not man pages)
shell/i/.7z
Open=%cd %p/u7z://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view 7z
# patch
regex/\.(diff|patch)(\.bz2)$
Open=%cd %p/patchfs://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view bz2
regex/\.(diff|patch)(\.(gz|Z))$
Open=%cd %p/patchfs://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view gz
regex/\.(diff|patch)(\.xz)$
Open=%cd %p/patchfs://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view xz
# ls-lR
regex/(^|\.)ls-?lR(\.gz|Z|bz2)$
Open=%cd %p/lslR://
# trpm
shell/.trpm
Open=%cd %p/trpm://
View=%view{ascii} /usr/libexec/mc/ext.d/package.sh view trpm
# RPM packages (SuSE uses *.spm for source packages)
regex/\.(src\.rpm|spm)$
Open=%cd %p/rpm://
View=%view{ascii} /usr/libexec/mc/ext.d/package.sh view src.rpm
shell/.rpm
Open=%cd %p/rpm://
View=%view{ascii} /usr/libexec/mc/ext.d/package.sh view rpm
# deb
regex/\.u?deb$
Open=%cd %p/deb://
View=%view{ascii} /usr/libexec/mc/ext.d/package.sh view deb
# dpkg
shell/.debd
Open=%cd %p/debd://
View=%view{ascii} /usr/libexec/mc/ext.d/package.sh view debd
# apt
shell/.deba
Open=%cd %p/deba://
View=%view{ascii} /usr/libexec/mc/ext.d/package.sh view deba
# ISO9660
shell/i/.iso
Open=%cd %p/iso9660://
View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view iso9660
regex/\.(diff|patch)$
Open=%cd %p/patchfs://
View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view cat
# ar library
regex/\.s?a$
Open=%cd %p/uar://
#Open=%view{ascii} ar tv %f
View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view ar
# gplib
shell/i/.lib
Open=%cd %p/ulib://
View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view lib
# Mailboxes
type/^ASCII\ mail\ text
Open=%cd %p/mailfs://
### Sources ###
# C/C++
regex/i/\.(c|cc|cpp)$
Include=editor
# C/C++ header
regex/i/\.(h|hh|hpp)$
Include=editor
# Fortran
shell/i/.f
Include=editor
# Assembler
regex/i/\.(s|asm)$
Include=editor
include/editor
Open=%var{EDITOR:vi} %f
# .so libraries
regex/\.(so|so\.[0-9\.]*)$
View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view so
# Object
type/^ELF
#Open=%var{PAGER:more} %f
View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view elf
### Documentation ###
# Texinfo
#regex/\.(te?xi|texinfo)$
# GNU Info page
type/^Info\ text
Open=/usr/libexec/mc/ext.d/text.sh open info
shell/.info
Open=/usr/libexec/mc/ext.d/text.sh open info
# Exception: .3gp are video files not manual pages
shell/i/.3gp
Include=video
# Manual page
regex/(([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])|\.man)$
Open=/usr/libexec/mc/ext.d/text.sh open man %var{PAGER:more}
View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view man %var{PAGER:more}
# Perl pod page
shell/.pod
Open=/usr/libexec/mc/ext.d/text.sh open pod %var{PAGER:more}
View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view pod %var{PAGER:more}
# Troff with me macros.
# Exception - "read.me" is not a nroff file.
shell/read.me
Open=
View=
shell/.me
Open=/usr/libexec/mc/ext.d/text.sh open nroff.me %var{PAGER:more}
View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view nroff.me %var{PAGER:more}
# Troff with ms macros.
shell/.ms
Open=/usr/libexec/mc/ext.d/text.sh open nroff.ms %var{PAGER:more}
View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view nroff.ms %var{PAGER:more}
# Manual page - compressed
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.g?[Zz]$
Open=/usr/libexec/mc/ext.d/text.sh open man.gz %var{PAGER:more}
View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view man.gz %var{PAGER:more}
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz$
Open=/usr/libexec/mc/ext.d/text.sh open man.bz %var{PAGER:more}
View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view man.bz %var{PAGER:more}
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz2$
Open=/usr/libexec/mc/ext.d/text.sh open man.bz2 %var{PAGER:more}
View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view man.bz2 %var{PAGER:more}
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lz$
Open=/usr/libexec/mc/ext.d/text.sh open man.lz %var{PAGER:more}
View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view man.lz %var{PAGER:more}
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lz4$
Open=/usr/libexec/mc/ext.d/text.sh open man.lz4 %var{PAGER:more}
View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view man.lz4 %var{PAGER:more}
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lzma$
Open=/usr/libexec/mc/ext.d/text.sh open man.lzma %var{PAGER:more}
View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view man.lzma %var{PAGER:more}
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.xz$
Open=/usr/libexec/mc/ext.d/text.sh open man.xz %var{PAGER:more}
View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view man.xz %var{PAGER:more}
# CHM
shell/i/.chm
Open=/usr/libexec/mc/ext.d/text.sh open chm
### Images ###
type/^GIF
Include=image
type/^JPEG
View=%view{ascii} /usr/libexec/mc/ext.d/image.sh view jpeg
Include=image
type/^PC\ bitmap
Include=image
type/^PNG
Include=image
type/^JNG
Include=image
type/^MNG
Include=image
type/^TIFF
Include=image
type/^PBM
Include=image
type/^PGM
Include=image
type/^PPM
Include=image
type/^Netpbm
Include=image
shell/.xcf
Open=/usr/libexec/mc/ext.d/image.sh open xcf
shell/.xbm
Open=/usr/libexec/mc/ext.d/image.sh open xbm
shell/.xpm
Include=image
View=/usr/libexec/mc/ext.d/image.sh view xpm %f
shell/.ico
Include=image
shell/i/.svg
View=%view{ascii} /usr/libexec/mc/ext.d/image.sh view svg
Open=/usr/libexec/mc/ext.d/image.sh open svg
include/image
Open=/usr/libexec/mc/ext.d/image.sh open ALL_FORMATS
View=%view{ascii} /usr/libexec/mc/ext.d/image.sh view ALL_FORMATS
### Sound files ###
regex/i/\.(wav|snd|voc|au|smp|aiff|snd|m4a|ape|aac|wv)$
Open=/usr/libexec/mc/ext.d/sound.sh open common
regex/i/\.(mod|s3m|xm|it|mtm|669|stm|ult|far)$
Open=/usr/libexec/mc/ext.d/sound.sh open mod
shell/i/.waw22
Open=/usr/libexec/mc/ext.d/sound.sh open wav22
shell/i/.mp3
Open=/usr/libexec/mc/ext.d/sound.sh open mp3
View=%view{ascii} /usr/libexec/mc/ext.d/sound.sh view mp3
regex/i/\.og[gax]$
Open=/usr/libexec/mc/ext.d/sound.sh open ogg
View=%view{ascii} /usr/libexec/mc/ext.d/sound.sh view ogg
regex/i/\.(spx|flac)$
Open=/usr/libexec/mc/ext.d/sound.sh open common
regex/i/\.(midi?|rmid?)$
Open=/usr/libexec/mc/ext.d/sound.sh open midi
shell/i/.wma
Open=/usr/libexec/mc/ext.d/sound.sh open wma
View=%view{ascii} /usr/libexec/mc/ext.d/sound.sh view wma
### Play lists ###
regex/i/\.(m3u|pls)$
Open=/usr/libexec/mc/ext.d/sound.sh open playlist
### Video ###
shell/i/.avi
Include=video
regex/i/\.as[fx]$
Include=video
shell/i/.divx
Include=video
shell/i/.mkv
Include=video
regex/i/\.(mov|qt)$
Include=video
regex/i/\.(mp4|m4v|mpe?g)$
Include=video
# MPEG-2 TS container + H.264 codec
shell/i/.mts
Include=video
shell/i/.ts
Include=video
shell/i/.vob
Include=video
shell/i/.wmv
Include=video
regex/i/\.fl[icv]$
Include=video
shell/i/.ogv
Include=video
regex/i/\.ra?m$
Open=/usr/libexec/mc/ext.d/video.sh open ram
# WebM
shell/i/.webm
Include=video
type/WebM
Include=video
include/video
Open=/usr/libexec/mc/ext.d/video.sh open ALL_FORMATS
View=%view{ascii} /usr/libexec/mc/ext.d/video.sh view ALL_FORMATS
### Documents ###
# Postscript
type/^PostScript
Open=/usr/libexec/mc/ext.d/doc.sh open ps
View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view ps
# PDF
type/^PDF
Open=/usr/libexec/mc/ext.d/doc.sh open pdf
View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view pdf
# html
regex/i/\.html?$
Open=/usr/libexec/mc/ext.d/web.sh open html
View=%view{ascii} /usr/libexec/mc/ext.d/web.sh view html
# StarOffice 5.2
shell/.sdw
Open=/usr/libexec/mc/ext.d/doc.sh open ooffice
# StarOffice 6 and OpenOffice.org formats
regex/i/\.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg)$
Open=/usr/libexec/mc/ext.d/doc.sh open ooffice
View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view odt
# AbiWord
shell/.abw
Open=/usr/libexec/mc/ext.d/doc.sh open abw
# Gnumeric
shell/i/.gnumeric
Open=/usr/libexec/mc/ext.d/doc.sh open gnumeric
# Microsoft Word Document
regex/i/\.(do[ct]|wri)$
Open=/usr/libexec/mc/ext.d/doc.sh open msdoc
View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view msdoc
type/^Microsoft\ Word
Open=/usr/libexec/mc/ext.d/doc.sh open msdoc
View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view msdoc
# RTF document
shell/i/.rtf
Open=/usr/libexec/mc/ext.d/doc.sh open msdoc
# Microsoft Excel Worksheet
regex/i/\.xl[sw]$
Open=/usr/libexec/mc/ext.d/doc.sh open msxls
View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view msxls
type/^Microsoft\ Excel
Open=/usr/libexec/mc/ext.d/doc.sh open msxls
View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view msxls
regex/i/\.(ppt|pps)$
Open=/usr/libexec/mc/ext.d/doc.sh open msppt
View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view msppt
# Use OpenOffice.org to open any MS Office documents
type/^Microsoft\ Office\ Document
Open=/usr/libexec/mc/ext.d/doc.sh open ooffice
# Framemaker
type/^FrameMaker
Open=/usr/libexec/mc/ext.d/doc.sh open framemaker
# DVI
shell/i/.dvi
Open=/usr/libexec/mc/ext.d/doc.sh open dvi
View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view dvi
# TeX
shell/i/.tex
Include=editor
# DjVu
regex/i/\.djvu?$
Open=/usr/libexec/mc/ext.d/doc.sh open djvu
View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view djvu
# Comic Books
regex/i/\.cb[zr]$
Open=/usr/libexec/mc/ext.d/doc.sh open comic
# Epub & mobi
regex/i/\.(epub|mobi)$
Open=/usr/libexec/mc/ext.d/doc.sh open epub
View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view epub
### Miscellaneous ###
# Compiled Java classes
shell/.class
View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view javaclass
# Makefile
regex/^[Mm]akefile$
Open=make -f %f %{Enter parameters}
# Imakefile
shell/Imakefile
Open=xmkmf -a
# Makefile.PL (MakeMaker)
regex/^Makefile\.(PL|pl)$
Open=%var{PERL:perl} %f
# sqlite3.db
type/^SQLite 3.x database
Open=/usr/libexec/mc/ext.d/misc.sh open sqlite
View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view sqlite
# dbf
shell/i/.dbf
Open=/usr/libexec/mc/ext.d/misc.sh open dbf
View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view dbf
# REXX script
regex/\.(rexx?|cmd)$
Open=rexx %f %{Enter parameters};echo "Press ENTER";read y
# Disk images for Commodore computers (VIC20, C64, C128)
shell/i/.d64
Open=%cd %p/uc1541://
View=%view{ascii} c1541 %f -list
Extract=c1541 %f -extract
# Glade, a user interface designer for GTK+ and GNOME
shell/i/.glade
Open=/usr/libexec/mc/ext.d/misc.sh open glade
# Gettext Catalogs
regex/\.g?mo$
View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view mo
# po
shell/.po
Open=/usr/libexec/mc/ext.d/misc.sh open po
# lyx
shell/i/.lyx
Open=/usr/libexec/mc/ext.d/misc.sh open lyx
View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view lyx
# torrent
shell/i/.torrent
View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view torrent
### Plain compressed files ###
# ace
shell/i/.ace
Open=%cd %p/uace://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view ace
Extract=unace x %f
# arc
shell/i/.arc
Open=%cd %p/uarc://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view arc
Extract=arc x %f '*'
Extract (with flags)=I=%{Enter any Arc flags:}; if test -n "$I"; then arc x $I %f; fi
# zip
shell/i/.zip
Open=%cd %p/uzip://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view zip
# zip
type/i/^zip\ archive
Open=%cd %p/uzip://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view zip
# jar(zip)
type/i/^Java\ (Jar\ file|archive)\ data\ \((zip|JAR)\)
Open=%cd %p/uzip://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view zip
# zoo
shell/i/.zoo
Open=%cd %p/uzoo://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view zoo
# gzip
type/^gzip
Open=/usr/libexec/mc/ext.d/archive.sh view gz %var{PAGER:more}
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view gz
regex/\.(gz|Z)$
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view gz
# bzip2
type/^bzip2
Open=/usr/libexec/mc/ext.d/archive.sh view bzip2 %var{PAGER:more}
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view bz2
regex/\.bz2?$
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view bz2
# bzip
type/^bzip
Open=/usr/libexec/mc/ext.d/archive.sh view bzip %var{PAGER:more}
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view bzip
# compress
type/^compress
Open=/usr/libexec/mc/ext.d/archive.sh view gz %var{PAGER:more}
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view gz
# lz
regex/\.lz$
Open=/usr/libexec/mc/ext.d/archive.sh view lz %var{PAGER:more}
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view lz
# lz
type/^LZIP
Open=/usr/libexec/mc/ext.d/archive.sh view lz %var{PAGER:more}
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view lz
# lz4
regex/\.lz4$
Open=/usr/libexec/mc/ext.d/archive.sh view lz4 %var{PAGER:more}
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view lz4
# lzma
regex/\.lzma$
Open=/usr/libexec/mc/ext.d/archive.sh view lzma %var{PAGER:more}
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view lzma
# xz
regex/\.xz$
Open=/usr/libexec/mc/ext.d/archive.sh view xz %var{PAGER:more}
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view xz
# Parity Archive
type/^Parity\ Archive\ Volume\ Set
Open=/usr/libexec/mc/ext.d/archive.sh open par2
### Default ###
# Default target for anything not described above
default/*
Open=
View=
### EOF ###

1
mc/mc.keymap Symbolic link
View File

@@ -0,0 +1 @@
mc.default.keymap

358
mc/mc.menu Normal file
View File

@@ -0,0 +1,358 @@
shell_patterns=0
##############################################################################
# %% The % character
# %f The current file (if non-local vfs, file will be copied locally and
# %f will be full path to it)
# %p The current file
# %d The current working directory
# %s "Selected files"; the tagged files if any, otherwise the current file
# %t Tagged files
# %u Tagged files (and they are untagged on return from expand_format)
# %view Runs the commands and pipes standard output to the view command
# If %view is immediately followed by '{', recognize keywords
# ascii, hex, nroff and unform
#
# If the format letter is in uppercase, it refers to the other panel
#
# With a number followed the % character you can turn quoting on (default)
# and off. For example:
# %f quote expanded macro
# %1f ditto
# %0f don't quote expanded macro
##############################################################################
+ ! t t
@ Do something on the current file
CMD=%{Enter command}
$CMD %f
+ t t
@ Do something on the tagged files
CMD=%{Enter command}
for i in %t ; do
$CMD "$i"
done
0 Edit a bug report and send it to root
I=`mktemp "${MC_TMPDIR:-/tmp}/mail.XXXXXX"` || exit 1
${EDITOR-vi} "$I"
test -r "$I" && mail root < "$I"
rm -f "$I"
=+ f \.1$ | f \.3$ | f \.4$ | f \.5$ | f \.6$ | f \.7$ | f \.8$ | f \.man$ & t r
1 Display the file with roff -man
%view{ascii,nroff} roff -c -Tlatin1 -mandoc %f
2 Call the info hypertext browser
info
= t d
3 Compress the current subdirectory (tar.gz)
Pwd=`basename %d /`
echo -n "Name of the compressed file (without extension) [$Pwd]: "
read tar
[ "$tar"x = x ] && tar="$Pwd"
cd .. && \
tar cf - "$Pwd" | gzip -f9 > "$tar.tar.gz" && \
echo "../$tar.tar.gz created."
4 Compress the current subdirectory (tar.bz2)
Pwd=`basename %d /`
echo -n "Name of the compressed file (without extension) [$Pwd]: "
read tar
[ "$tar"x = x ] && tar="$Pwd"
cd .. && \
tar cf - "$Pwd" | bzip2 -f > "$tar.tar.bz2" && \
echo "../$tar.tar.bz2 created."
5 Compress the current subdirectory (tar.7z)
Pwd=`basename %d /`
echo -n "Name of the compressed file (without extension) [$Pwd]: "
read tar
[ "$tar"x = x ] && tar="$Pwd"
cd .. && \
tar cf - "$Pwd" | 7za a -si "$tar.tar.7z" && \
echo "../$tar.tar.7z created."
6 Compress the current subdirectory (tar.xz)
Pwd=`basename %d /`
echo -n "Name of the compressed file (without extension) [$Pwd]: "
read tar
[ "$tar"x = x ] && tar="$Pwd"
cd .. && \
tar cf - "$Pwd" | xz -f > "$tar.tar.xz" && \
echo "../$tar.tar.xz created."
= f \.c$ & t r
+ f \.c$ & t r & ! t t
c Compile and link current .c file
make "`basename %f .c`" 2>/dev/null || cc -O -o "`basename %f .c`" %f
+ t r & ! t t
a Append file to opposite
cat %f >> %D/%f
+ t t
A Append files to opposite files
for i in %t ; do
cat "$i" >> %D/"$i"
done
+ t r & ! t t
d Delete file if a copy exists in the other directory.
if [ %d = %D ]; then
echo "The two directories must be different."
exit 1
fi
if [ -f %D/%f ]; then # if two of them, then
if cmp -s %D/%f %f; then
rm %f && echo %f": DELETED."
else
echo %f" and "%D/%f" differ: NOT deleted."
echo -n "Press RETURN "
read key
fi
else
echo %f": No copy in "%D/%f": NOT deleted."
fi
+ t t
D Delete tagged files if a copy exists in the other directory.
if [ %d = %D ]; then
echo "The two directores must be different."
exit 1
fi
for i in %t ; do
if [ -f %D/"$i" ]; then
SUM1=`sum "$i"`
SUM2=`sum %D/"$i"`
if [ "$SUM1" = "$SUM2" ]; then
rm "$i" && echo "${i}: DELETED."
else
echo "$i and "%D"/$i differ: NOT deleted."
fi
else
echo "$i has no copy in "%D": NOT deleted."
fi
done
m View manual page
MAN=%{Enter manual name}
%view{ascii,nroff} MANROFFOPT='-c -Tlatin1' MAN_KEEP_FORMATTING=1 man -P cat "$MAN"
= f \.gz$ & t r
+ ! t t
n Inspect gzip'ed newsbatch file
dd if=%f bs=1 skip=12 | zcat | ${PAGER-more}
# assuming the cunbatch header is 12 bytes long.
= t r &
+ ! t t
h Strip headers from current newsarticle
CHECK=`awk '{print $1 ; exit}' %f` 2>/dev/null
case "$CHECK" in
Newsgroups:|Path:)
I=`mktemp "${MC_TMPDIR:-/tmp}/news.XXXXXX"` || exit 1
cp %f "$I" && sed '/^'"$CHECK"' /,/^$/d' "$I" > %f
[ "$?" = "0" ] && rm "$I"
echo %f": header removed."
;;
*)
echo %f" is not a news article."
;;
esac
+ t t
H Strip headers from the marked newsarticles
for i in %t ; do
CHECK=`awk '{print $1 ; exit}' "$i"` 2>/dev/null
WFILE=`mktemp "${MC_TMPDIR:-/tmp}/news.XXXXXX"` || exit 1
case "$CHECK" in
Newsgroups:|Path:)
cp "$i" "$WFILE" && sed '/^'"$CHECK"' /,/^$/d' "$WFILE" > "$i"
if [ "$?" = "0" ]; then
rm "$WFILE"; echo "$i header removed. OK."
else
echo "Oops! Please check $i against $WFILE."
fi
;;
*)
echo "$i skipped: Not a news article."
;;
esac
done
= t r
+ ! t t
r Copy file to remote host
echo -n "To which host?: "
read Host
echo -n "To which directory on $Host?: "
read Dir
rcp -p %f "${Host}:${Dir}"
+ t t
R Copy files to remote host (no error checking)
echo -n "Copy files to which host?: "
read Host
echo -n "To which directory on $Host? :"
read Dir
rcp -pr %u "${Host}:${Dir}"
= f \.tex$ & t r
+ f \.tex$ & t r & ! t t
t Run latex on file and show it with xdvi
latex %f && xdvi "`basename %f .tex`".dvi
=+ f ^part | f ^Part | f uue & t r
+ t t
U Uudecode marked news articles (needs work)
(
for i in %t ; do # strip headers
FIRST=`awk '{print $1 ; exit}' "$i"`
cat "$i" | sed '/^'"$FIRST"' /,/^$/d'
done
) | sed '/^$/d' | sed -n '/^begin 6/,/^end$/p' | uudecode
if [ "$?" != "0" ]; then
echo "Cannot decode "%t"."
fi
echo "Please test the output file before deleting anything."
=+ f \.tar\.gz$ | f \.tar\.z$ | f \.tgz$ | f \.tpz$ | f \.tar\.lz$ | f \.tar\.lz4$ | f \.tar\.lzma$ | f \.tar\.7z$ | f \.tar\.xz$ | f \.tar\.Z$ | f \.tar\.bz2$ & t r
x Extract the contents of a compressed tar file
unset PRG
case %f in
*.tar.7z) PRG="7za e -so";;
*.tar.bz2) PRG="bunzip2 -c";;
*.tar.gz|*.tar.z|*.tgz|*.tpz|*.tar.Z) PRG="gzip -dc";;
*.tar.lz) PRG="lzip -dc";;
*.tar.lz4) PRG="lz4 -dc";;
*.tar.lzma) PRG="lzma -dc";;
*.tar.xz) PRG="xz -dc";;
*) exit 1;;
esac
$PRG %f | tar xvf -
= t r
+ ! t t
y Gzip or gunzip current file
unset DECOMP
case %f in
*.gz|*.[zZ]) DECOMP=-d;;
esac
gzip "$DECOMP" -v %f
+ t t
Y Gzip or gunzip tagged files
for i in %t ; do
unset DECOMP
case "$i" in
*.gz|*.[zZ]) DECOMP=-d;;
esac
gzip "$DECOMP" -v "$i"
done
+ ! t t
b Bzip2 or bunzip2 current file
unset DECOMP
case %f in
*.bz2) DECOMP=-d;;
esac
bzip2 "$DECOMP" -v %f
+ t t
B Bzip2 or bunzip2 tagged files
for i in %t ; do
unset DECOMP
case "$i" in
*.bz2) DECOMP=-d;;
esac
bzip2 "$DECOMP" -v "$i"
done
+ f \.tar.gz$ | f \.tgz$ | f \.tpz$ | f \.tar.Z$ | f \.tar.z$ | f \.tar.bz2$ | f \.tar.F$ & t r & ! t t
z Extract compressed tar file to subdirectory
unset D
set gzip -cd
case %f in
*.tar.F) D=`basename %f .tar.F`; set freeze -dc;;
*.tar.Z) D=`basename %f .tar.Z`;;
*.tar.bz2) D=`basename %f .tar.bz2`; set bunzip2 -c;;
*.tar.gz) D=`basename %f .tar.gz`;;
*.tar.z) D=`basename %f .tar.z`;;
*.tgz) D=`basename %f .tgz`;;
*.tpz) D=`basename %f .tpz`;;
esac
mkdir "$D"; cd "$D" && ("$1" "$2" ../%f | tar xvf -)
+ t t
Z Extract compressed tar files to subdirectories
for i in %t ; do
set gzip -dc
unset D
case "$i" in
*.tar.F) D=`basename "$i" .tar.F`; set freeze -dc;;
*.tar.Z) D=`basename "$i" .tar.Z`;;
*.tar.bz2) D=`basename "$i" .tar.bz2`; set bunzip2 -c;;
*.tar.gz) D=`basename "$i" .tar.gz`;;
*.tar.z) D=`basename "$i" .tar.z`;;
*.tgz) D=`basename "$i" .tgz`;;
*.tpz) D=`basename "$i" .tpz`;;
esac
mkdir "$D"; (cd "$D" && "$1" "$2" "../$i" | tar xvf -)
done
+ f \.gz$ | f \.tgz$ | f \.tpz$ | f \.Z$ | f \.z$ | f \.bz2$ & t r & ! t t
c Convert gz<->bz2, tar.gz<->tar.bz2 & tgz->tar.bz2
unset D
unset EXT
case %f in
*.Z) EXT=Z;;
*.bz2) EXT=bz2;;
*.gz) EXT=gz;;
*.tgz) EXT=tgz;;
*.tpz) EXT=tpz;;
*.z) EXT=z;;
esac
case "$EXT" in
bz2|Z|gz|z) D=`basename %f ."$EXT"`;;
tgz|tpz) D=`basename %f ."$EXT"`.tar;;
esac
if [ "$EXT" = "bz2" ]; then
bunzip2 -v %f
gzip -f9 -v "$D"
else
gunzip -v %f
bzip2 -v "$D"
fi
+ t t
C Convert gz<->bz2, tar.gz<->tar.bz2 & tgz->tar.bz2
for i in %t ; do
unset D
unset EXT
case "$i" in
*.Z) EXT=Z;;
*.bz2) EXT=bz2;;
*.gz) EXT=gz;;
*.tgz) EXT=tgz;;
*.tpz) EXT=tpz;;
*.z) EXT=z;;
esac
case "$EXT" in
bz2|Z|gz|z) D=`basename "$i" ."$EXT"`;;
tgz|tpz) D=`basename "$i" ."$EXT"`.tar;;
esac
if [ "$EXT" = "bz2" ]; then
bunzip2 -v "$i"
gzip -f9 -v "$D"
else
gunzip -v "$i"
bzip2 -v "$D"
fi
done
+ x /usr/bin/open | x /usr/local/bin/open & x /bin/sh
o Open next a free console
open -s -- sh

483
mc/mcedit.menu Normal file
View File

@@ -0,0 +1,483 @@
shell_patterns=0 # expression type
# The macros are:
#
# %c The cursor column position number. For edit menu only.
# %i The indent of blank space, equal the cursor column
# position. For edit menu only.
# %y The syntax type of current file. For edit menu only.
# %b The block file name.
# %f The current file name.
# %n Only the current file name without extension.
# %x The extension of current file name.
# %d The current directory name.
# %F The current file in the unselected panel.
# %D The directory name of the unselected panel.
# %t The currently tagged files.
# %T The tagged files in the unselected panel.
# %u and %U Similar to the %t and %T macros, but in
# addition the files are untagged. You can use this macro
# only once per menu file entry or extension file entry,
# because next time there will be no tagged files.
# %s and %S The selected files: The tagged files if
# there are any. Otherwise the current file.
#
# %% The % character
#
# %{some text} Prompt for the substitution. An input box
# is shown and the text inside the braces is used as a
# prompt. The macro is substituted by the text typed by the
# user. The user can press ESC or F10 to cancel. This macro
# doesn't work on the command line yet.
#----------------------- Begin [perl] language template -----------------------
+ y Perl\ Program | f \.pl$
1 Author description header
unset LANG
unset LANGUAGE
LC_ALL=
MY_UID="`id | sed 's/^.*uid=\([^(]*\).*$/\1/'`"
AUTHOR="`awk -F: '$3 == '$MY_UID' {print $5}' /etc/passwd`"
cat >>%b <<EOF
#----------------------------------------------------------------------
# Description:
# Author: $AUTHOR <$REPLYTO>
# Created at: `date`
# Computer: `uname -n`
# System: `uname -sr` on `uname -m`
#
# Copyright (c) `date +%%Y` $AUTHOR All rights reserved.
#
#----------------------------------------------------------------------
# Configure section:
#----------------------------------------------------------------------
#
# main()
EOF
+ y Perl\ Program | f \.pl$
2 while ()
cat <<EOF > %b
%iwhile() {
%i}
EOF
+ y Perl\ Program | f \.pl$
3 for ()
cat <<EOF > %b
%ifor ($i = ; $i < ; $i++) {
%i}
EOF
+ y Perl\ Program | f \.pl$
4 foreach ()
cat <<EOF > %b
%iforeach ($ ) {
%i}
EOF
+ y Perl\ Program | f \.pl$
5 if ()
cat <<EOF > %b
%iif () {
%i}
EOF
+ y Perl\ Program | f \.pl$
6 if () else
cat <<EOF > %b
%iif () {
%i} else {
%i}
EOF
+ y Perl\ Program | f \.pl$
7 if () elsif ()
cat <<EOF > %b
%iif () {
%i} elsif () {
%i}
EOF
+ y Perl\ Program | f \.pl$
8 substr ()
echo "%i$ = substr(\$str, \$off, \$cnt);" >%b
+ y Perl\ Program | f \.pl$
9 opendir ()
cat <<EOF > %b
%iopendir(DIR, \$dir) || die("\$0: can't open \$dir\n");
EOF
+ y Perl\ Program | f \.pl$
a sub ()
NAME=%{ Enter name of subroutine: }
cat <<EOF > %b
sub
$NAME ()
{
} # end of $NAME()
EOF
#----------------------- End [perl] language template -------------------------
#---------------------- Begin [shell] language template -----------------------
+ y Shell\ Script | f \.sh$
1 Author description header
unset LANG
unset LANGUAGE
LC_ALL=
MY_UID="`id | sed 's/^.*uid=\([^(]*\).*$/\1/'`"
AUTHOR="`awk -F: '$3 == '$MY_UID' {print $5}' /etc/passwd`"
cat >>%b <<EOF
#----------------------------------------------------------------------
# Description:
# Author: $AUTHOR <$REPLYTO>
# Created at: `date`
# Computer: `uname -n`
# System: `uname -sr` on `uname -m`
#
# Copyright (c) `date +%%Y` $AUTHOR All rights reserved.
#
#----------------------------------------------------------------------
# Configure section:
#----------------------------------------------------------------------
#
# main()
EOF
+ y Shell\ Script | f \.sh$
3 for
cat <<EOF > %b
%ifor i in \$
%ido
%idone
EOF
+ y Shell\ Script | f \.sh$
4 while
cat <<EOF > %b
%iwhile
%ido
%idone
EOF
+ y Shell\ Script | f \.sh$
5 if [] then else
cat <<EOF >> %b
%iif [ ];then
%ielse
%ifi
EOF
+ y Shell\ Script | f \.sh$
6 case
NUMBER=%{ Enter number elements of case:}
cat <<EOF > %b
%icase "\$" in
EOF
while [ "$NUMBER" -gt 0 ]
do
cat <<EOF >> %b
%i)
%i ;;
EOF
let NUMBER=$NUMBER-1
done
cat <<EOF >> %b
%i*)
%iesac
EOF
+ y Shell\ Script | f \.sh$
7 function
NAME=%{ Enter name of function:}
cat <<EOF >> %b
$NAME() {
} # end of $NAME()
EOF
+ y Shell\ Script | f \.sh$
8 select of bash
cat <<EOF >> %b
%iselect i in \$l
%ido
%i if [ -n "\$i" ];then
%i break
%i else
%i continue
%i fi
%idone
EOF
#----------------------- End [shell] language template ------------------------
#------------------------- Begin [c] language template ------------------------
+ f \.h$ | f \.c$ | f \.cc$
1 Author description header
unset LANG
unset LANGUAGE
LC_ALL=
MY_UID="`id | sed 's/^.*uid=\([^(]*\).*$/\1/'`"
AUTHOR="`awk -F: '$3 == '$MY_UID' {print $5}' /etc/passwd`"
cat >> %b <<EOF
/********************************************************************
* Description:
* Author: $AUTHOR <$REPLYTO>
* Created at: `date`
* Computer: `uname -n`
* System: `uname -sr` on `uname -m`
*
* Copyright (c) `date +%%Y` $AUTHOR All rights reserved.
*
********************************************************************/
EOF
+ f \.h$ | f \.c$ | f \.cc$
2 GPL description header
cat >>%b <<EOF
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
EOF
+ f \.c$ | f \.cc$
3 if ()
cat <<EOF > %b
%iif () {
%i}
EOF
+ f \.c$ | f \.cc$
4 if () else
cat <<EOF > %b
%iif () {
%i} else {
%i}
EOF
+ f \.c$ | f \.cc$
5 if () else if ()
cat <<EOF > %b
%iif ( ) {
%i} else if ( ) {
%i}
EOF
+ f \.c$ | f \.cc$
6 switch ()
NUMBER=%{ Enter number elements of switch:}
echo "%iswitch () {" >%b
while [ "$NUMBER" -gt 0 ]
do
echo "%icase '':" >>%b
echo "%i break;" >>%b
let NUMBER=$NUMBER-1
done
echo "%i default:" >>%b
echo "%i}" >>%b
+ f \.c$ | f \.cc$
7 for ()
cat <<EOF > %b
%ifor (i = ; i < ; i++) {
%i}
EOF
+ f \.c$ | f \.cc$
8 while ()
cat <<EOF > %b
%iwhile () {
%i}
EOF
+ f \.c$ | f \.cc$
9 do {} while ()
cat <<EOF > %b
%ido {
%i} while ()
EOF
+ f \.c$ | f \.cc$
a array
cat <<EOF > %b
%ichar const x[] = {
%i, ,
%i};
EOF
+ f \.c$ | f \.cc$
b enum
cat <<EOF > %b
%ienum x {
%i, ,
%i};
EOF
+ f \.c$ | f \.cc$
c struct
cat <<EOF > %b
%istruct ? {
%i;
%i};
EOF
+ f \.c$ | f \.cc$
d union
cat <<EOF > %b
%iunion ? {
%i;
%i};
EOF
+ f \.c$ | f \.cc$
e typedef struct
cat <<EOF > %b
%itypedef struct {
%i;
%i} ?;
EOF
+ f \.c$ | f \.cc$
f function
NAME=%{ Enter name of function:}
cat <<EOF >> %b
$NAME()
{
} /* end of $NAME() */
EOF
+ f \.c$ | f \.h$ | f \.cc$
g #include
INC=%{ Enter include name: }
if [ -r "$INC" ];then
echo \#include \"$INC\" >%b
else
echo \#include \<$INC\> >%b
fi
+ f \.c$ | f \.h$ | f \.cc$
d #define
echo "#define " >%b
+ f \.c$ | f \.h$ | f \.cc$
d #ifdef
cat <<EOF > %b
#ifdef
#else
#endif
EOF
+ f \.c$ | f \.h$ | f \.cc$
...............................................................................
+ f \.c$ | f \.h$ | f \.cc$
h View all *.h into current directory
cat *.h |less
+ f \.c$ | f \.cc$
d Run gdb for current file
[ -x "./%n" ] && gdb ./%n
= f \.c$ | f \.cc$
+ f \.c$ | f \.cc$
c Compile, link and run the current .c file
export CFLAGS="-g -Wall -O2"
make || make %n || cc $CFLAGS -o %n %f
[ -r "%n" ] && (echo "*** press any key for run... ***"; read)
[ -x "%n" ] && ./%n
(echo -ne "\n--- Press any key for return to edit. ---"; read)
+ f \.c$ | f \.h$
t Indent `C' formatter
indent -kr -pcs %b 1>/dev/null 2> %e
#--------------------- End [c/c++] language template --------------------------
#------------------------- Begin unknown template -----------------------------
+ y unknown & t r
s #! /bin/sh
echo "#! /bin/sh" >%b
+ y unknown & t r
p #! /usr/bin/perl
echo "#! /usr/bin/perl" >%b
+ y unknown & t r
a Author description header
unset LANG
unset LANGUAGE
LC_ALL=
MY_UID="`id | sed 's/^.*uid=\([^(]*\).*$/\1/'`"
AUTHOR="`awk -F: '$3 == '$MY_UID' {print $5}' /etc/passwd`"
cat >>%b <<EOF
----------------------------------------------------------------------
Description:
Author: $AUTHOR <$REPLYTO>
Created at: `date`
Computer: `uname -n`
System: `uname -sr` on `uname -m`
Copyright (c) `date +%%Y` $AUTHOR All rights reserved.
----------------------------------------------------------------------
EOF
#--------------------------- End unknown template -----------------------------
-------------------------------------------------------------------------------
#----------------------- Begin common section ---------------------------------
S Sort selection
TMPFILE=`mktemp ${MC_TMPDIR:-/tmp}/up.XXXXXX` || exit 1
cat %b > $TMPFILE
cat $TMPFILE| sort >%b
rm -f $TMPFILE
I Insert `Changelog' string
DATE="`date +%%Y-%%m-%%d`"
MY_UID="`id | sed 's/^.*uid=\([^(]*\).*$/\1/'`"
AUTHOR="`awk -F: '$3 == '$MY_UID' {print $5}' /etc/passwd`"
EMAIL="<$REPLYTO>"
echo "$DATE $AUTHOR $EMAIL" >%b
s Invoke `shell'
sh
m view `man'
MAN=%{Enter name of man:}
%view{ascii,nroff} MANROFFOPT='-c -Tlatin1' MAN_KEEP_FORMATTING=1 man -P cat $MAN
i Insert output of command to cursor
CMD=%{ Enter command: }
eval $CMD > %b
o Open bash to next free console
open -s -- /bin/bash
u Upper case selection
TMPFILE=`mktemp ${MC_TMPDIR:-/tmp}/up.XXXXXX` || exit 1
cat %b > $TMPFILE
sed 's/\(.*\)/\U\1/' $TMPFILE >%b
rm -f $TMPFILE
l Lower case selection
TMPFILE=`mktemp ${MC_TMPDIR:-/tmp}/up.XXXXXX` || exit 1
cat %b > $TMPFILE
sed 's/\(.*\)/\L\1/' $TMPFILE >%b
rm -f $TMPFILE
#-------------------------- End of common section -----------------------------

32
mc/sfs.ini Normal file
View File

@@ -0,0 +1,32 @@
#
# This is config for Single File fileSystem
#
# Notice that output files (%3) are pre-created atomically in /tmp
# with 0600 rights, so it is safe to > %3
#
gz/1 gzip < %1 > %3
ugz/1 gzip -cdf < %1 > %3
bz/1 bzip < %1 > %3
ubz/1 bzip -d < %1 > %3
bz2/1 bzip2 < %1 > %3
ubz2/1 bzip2 -d < %1 > %3
lz/1 lzip < %1 > %3
ulz/1 lzip -d < %1 > %3
lz4/1 lz4 < %1 > %3
ulz4/1 lz4 -d < %1 > %3
lzma/1 lzma < %1 > %3
ulzma/1 lzma -d < %1 > %3
xz/1 xz < %1 > %3
uxz/1 xz -d < %1 > %3
tar/1 tar cf %3 %1
tgz/1 tar czf %3 %1
uhtml/1 lynx -force_html -dump %1 > %3
uman/1 groff -Tascii -man %1 > %3
uue/1 uuenpipe < %1 > %3
uude/1 uudepipe < %1 > %3
crlf/1 todos < %1 > %3
cr/1 fromdos < %1 > %3
# Fixme: we need it to fail whenever it should
url:2 lynx -source `echo "%2" | sed 's-|-/-g'` > %3
nop/1 cat %1 > %3
strings/1 strings %1 > %3