diff --git a/lib/DDG/Goodie/EmacsCheatSheet.pm b/lib/DDG/Goodie/EmacsCheatSheet.pm deleted file mode 100644 index 1917d8488..000000000 --- a/lib/DDG/Goodie/EmacsCheatSheet.pm +++ /dev/null @@ -1,48 +0,0 @@ -package DDG::Goodie::EmacsCheatSheet; -# ABSTRACT: A cheatsheet for useful emacs commands - -use DDG::Goodie; - -zci answer_type => "emacs_cheat_sheet"; -zci is_cached => 1; - -name "EmacsCheatSheet"; -description "emacs cheatsheet"; -source "http://www.rgrjr.com/emacs/emacs_cheat.html"; - -category "cheat_sheets"; -topics "computing", "geek", "programming", "sysadmin"; - -code_url "https://github.com/duckduckgo/zeroclickinfo-goodies/blob/master/lib/DDG/Goodie/EmacsCheatSheet.pm"; -attribution github => ["https://github.com/jim-brighter", "Jim Brighter"], - twitter => "jim_brighter"; - -primary_example_queries "emacs cheatsheet", "emacs cheat sheet", "emacs commands", "emacs help"; -secondary_example_queries "emacs reference", "emacs guide", "emacs quick reference"; - -triggers startend => "emacs cheatsheet", - "emacs cheat sheet", - "emacs help", - "emacs commands", - "emacs guide", - "emacs reference", - "emacs quick reference", - "cheatsheet emacs", - "cheat sheet emacs", - "help emacs", - "commands emacs", - "guide emacs", - "reference emacs", - "quick reference emacs"; - -my $TEXT = scalar share('emacs_cheat_sheet.txt')->slurp, -my $HTML = scalar share('emacs_cheat_sheet.html')->slurp; - -handle remainder => sub { - return - heading => 'Emacs Cheat Sheet', - answer => $TEXT, - html => $HTML, -}; - -1; diff --git a/share/goodie/cheat_sheets/emacs.json b/share/goodie/cheat_sheets/emacs.json new file mode 100644 index 000000000..45f5dc818 --- /dev/null +++ b/share/goodie/cheat_sheets/emacs.json @@ -0,0 +1,251 @@ +{ + "id": "emacs_cheat_sheet", + "name": "Emacs", + "description": "Text Editor", + "metadata": { + "sourceName": "EmacsCheatSheet", + "sourceUrl": "https://duckduckgo.com" + }, + "section_order": [ + "Lingo", + "Quick Answers", + "Cursor Motion", + "Editing", + "Scrolling and Windows", + "Cutting and Pasting", + "Files and Buffers", + "Command-Related Stuff", + "Searching and Replacing", + "Help", + "Misc" + ], + "sections": { + "Lingo": [{ + "val": "control key (CTRL)", + "key": "C" + }, { + "val": "meta key (ALT or ESC)", + "key": "M" + }], + "Quick Answers": [{ + "val": "find file", + "key": "[C-x] [C-f]" + }, { + "val": "save file", + "key": "[C-x] [C-s]" + }, { + "val": "exit Emacs", + "key": "[C-x] [C-c]" + }], + "Cursor Motion": [{ + "val": "Move forward by a character", + "key": "C-f" + }, { + "val": "Move backward by a character", + "key": "C-b" + }, { + "val": "Move forward by a word", + "key": "M-f" + }, { + "val": "Move backward by a word", + "key": "M-b" + }, { + "val": "Move forward by a line", + "key": "C-n" + }, { + "val": "Move backward by a line", + "key": "C-p" + }, { + "val": "Move forward by a sentence", + "key": "M-e" + }, { + "val": "Move backward by a sentence", + "key": "M-a" + }, { + "val": "Move forward by a paragraph", + "key": "M-}" + }, { + "val": "Move backward by a paragraph", + "key": "M-{" + }, { + "val": "Move forward by an expression", + "key": "C-M-f" + }, { + "val": "Move backward by an expression", + "key": "C-M-b" + }, { + "val": "Move to the start of a line", + "key": "C-a" + }, { + "val": "Move to the end of a line", + "key": "C-e" + }, { + "val": "Move to the start of a buffer", + "key": "M-<" + }, { + "val": "Move to the end of a buffer", + "key": "M-<" + }], + "Editing": [{ + "val": "Delete a character (forward)", + "key": "C-d" + }, { + "val": "Delete a character (backward)", + "key": "DEL" + }, { + "val": "Delete a word (forward)", + "key": "M-d" + }, { + "val": "Delete a word (backward)", + "key": "M-DEL" + }, { + "val": "Delete a line (forward)", + "key": "C-k" + }, { + "val": "Delete a line (backward)", + "key": "[C-SPC] [C-a] [C-w]" + }, { + "val": "Delete a sentence (forward)", + "key": "M-k" + }, { + "val": "Delete a sentence (backward)", + "key": "[C-x] [DEL]" + }, { + "val": "Delete an expression (forward)", + "key": "C-M-k" + }, { + "val": "Delete an expression (backward)", + "key": "C-M-DEL" + }], + "Scrolling and Windows": [{ + "val": "Page Down", + "key": "C-v" + }, { + "val": "Page Up", + "key": "M-v" + }, { + "val": "Page Down other window", + "key": "C-M-v" + }, { + "val": "Make current window only window", + "key": "[C-x] [1]" + }, { + "val": "Split window vertically", + "key": "[C-x] [2]" + }, { + "val": "Split window horizontally", + "key": "[C-x] [3]" + }, { + "val": "Grow window vertically", + "key": "[C-x] [^]" + }, { + "val": "Switch to next window", + "key": "[C-x] [o]" + }, { + "val": "Close current window", + "key": "[C-x] [0]" + }], + "Cutting and Pasting": [{ + "val": "Set mark", + "key": "C-SPC" + }, { + "val": "Cut (after setting mark and moving to end point)", + "key": "C-w" + }, { + "val": "Copy (after setting mark and moving to end point)", + "key": "M-w" + }, { + "val": "Yank (paste) most recently killed (cut or copied)", + "key": "C-y" + }, { + "val": "Yank next most recently killed", + "key": "M-y" + }], + "Files and Buffers": [{ + "val": "Find file (or create if not existing)", + "key": "[C-x] [C-f]" + }, { + "val": "Save file", + "key": "[C-x] [C-s]" + }, { + "val": "Write file", + "key": "[C-x] [C-w]" + }, { + "val": "Save modified buffers", + "key": "[C-x] [s]" + }, { + "val": "Select buffer", + "key": "[C-x] [b]" + }, { + "val": "List buffers", + "key": "[C-x] [C-b]" + }, { + "val": "Kill buffer", + "key": "[C-x] [k]" + }], + "Command-Related Stuff": [{ + "val": "Leave current location", + "key": "[ESC] [ESC] [ESC]" + }, { + "val": "Prefix numeric argument # to next command", + "key": "[C-u] [#]" + }, { + "val": "Stop running command, or cancel partially entered command", + "key": "C-g" + }], + "Searching and Replacing": [{ + "val": "Incremental search forward", + "key": "C-s" + }, { + "val": "Incremental search backward", + "key": "C-r" + }, { + "val": "Regexp search forward", + "key": "C-M-s" + }, { + "val": "Regexp search backward", + "key": "C-M-r" + }, { + "val": "String replace from here to end of buffer", + "key": "[M-x replace-string RET]" + }, { + "val": "String replace from here to end of buffer, querying for each occurrence", + "key": "[M-x query-replace RET]" + }, { + "val": "Prompts for a grep command, shows hits in a buffer", + "key": "[M-x grep RET]" + }, { + "val": "Visit next grep hit", + "key": "[C-x] [`]" + }], + "Help": [{ + "val": "Show command documentation", + "key": "[C-h] [k]" + }, { + "val": "\"Command apropos\"", + "key": "[C-h] [a]" + }, { + "val": "Show command name on message line", + "key": "[C-h] [c]" + }, { + "val": "Describe function", + "key": "[C-h] [f]" + }, { + "val": "Info browser", + "key": "[C-h] [i]" + }], + "Misc": [{ + "val": "Undo/redo", + "key": "[C-_] or [C-x] [u]" + }, { + "val": "Quoted insert", + "key": "C-q" + }, { + "val": "Suspend/iconify emacs (type \"%emacs\" to return", + "key": "C-z" + }, { + "val": "Exit emacs", + "key": "[C-x] [C-c]" + }] + } +} diff --git a/share/goodie/emacs_cheat_sheet/emacs_cheat_sheet.css b/share/goodie/emacs_cheat_sheet/emacs_cheat_sheet.css deleted file mode 100644 index 6dac40b2f..000000000 --- a/share/goodie/emacs_cheat_sheet/emacs_cheat_sheet.css +++ /dev/null @@ -1,46 +0,0 @@ -.zci--answer .zero_click_wrapper .zero_click { - padding-left: 0px !important; - margin-left: 0px !important; - margin-right: 0px !important; -} - -.zci--answer #sheet-container { - max-height: 45ex; - overflow-y: scroll; - overflow-x: hidden; -} - -.zci--answer .sheet-column { - width: 48%; - display: inline-block; - vertical-align: top; -} - -.zci--answer .top-elements div { - display: inline-block; -} - -.zci--answer table.sheet-table th { - padding-right: 1ex; - vertical-align: top; - text-align: left; -} - -.zci--answer table.sheet-table { - width: 100%; - margin-bottom: 1ex; -} - -.zci--answer table.sheet-table td { - padding-right: 1ex; - vertical-align: top; -} -.zci--answer table.sheet-table td code { - white-space: nowrap; -} - -@media (max-width: 380px) { - .zci--answer .sheet-column { - width: 100%; - } -} diff --git a/share/goodie/emacs_cheat_sheet/emacs_cheat_sheet.html b/share/goodie/emacs_cheat_sheet/emacs_cheat_sheet.html deleted file mode 100644 index 958b72f0c..000000000 --- a/share/goodie/emacs_cheat_sheet/emacs_cheat_sheet.html +++ /dev/null @@ -1,302 +0,0 @@ -
-
-
-
Lingo:
-

C: control key (CTRL)
- M: meta key (ALT or ESC)

-
-
-
Quick Answers:
-

C-x C-f: find file
- C-x C-s: save file
- C-x C-c: exit emacs

-
-
-
Cursor Motion
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AmountOperation
MoveMoveDeleteDelete
ForwardBackwardForwardBackward
CharactersC-fC-bC-dDEL
WordsM-fM-bM-dM-DEL
LinesC-nC-pC-kC-SPC C-a C-w
SentencesM-eM-aM-kC-x DEL
ExpressionsC-M-fC-M-bC-M-kC-M-DEL
ParagraphsM-}M-{NoneNone
End/Start of LineC-eC-aNoneNone
End/Start of BufferM->M-<NoneNone
- -
-
Scrolling and Windows
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C-vPage Down
M-vPage Up
C-M-vPage Down other window
C-x 1Make current window only window
C-x 2Split window vertically
C-x 3Split window horizontally
C-x ^Grow window vertically
C-x oSwitch to next window
C-x 0Close current window
- -
Cutting and Pasting
- - - - - - - - - - - - - - - - - - - - - -
C-SPCSet mark
C-wCut (after setting mark and moving to end point)
M-wCopy (after setting mark and moving to end point)
C-yYank (paste) most recently killed (cut or copied)
M-yYank next most recently killed
-
- -
-
Files and Buffers
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C-x C-fFind file (or create if not existing)
C-x C-sSave file
C-x C-wWrite file
C-x sSave modified buffers
C-x bSelect buffer
C-x C-bList buffers
C-x kKill buffer
 
 
- -
Command-Related Stuff
- - - - - - - - - - - - - - - - - - - -
ESC ESC ESCLeave current location
C-u #Prefix numeric argument # to next command
C-gStop running command, or cancel partially entered command
 
 
-
- -
Searching and Replacing
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C-sIncremental search forward
C-rIncremental search backward
C-M-sRegexp search forward
C-M-rRegexp search backward
M-x replace-string RETString replace from here to end of buffer
M-x query-replace RETString replace from here to end of buffer, querying for each occurrence
M-x grep RETPrompts for a grep command, shows hits in a buffer
C-x `Visit next grep hit
- -
-
Help
- - - - - - - - - - - - - - - - - - - - - -
C-h kShow command documentation
C-h a"Command apropos"
C-h cShow command name on message line
C-h fDescribe function
C-h iInfo browser
-
- -
-
Misc
- - - - - - - - - - - - - - - - - -
C-_ or C-x uUndo/redo
C-qQuoted insert
C-zSuspend/iconify emacs (type "%emacs" to return)
C-x C-cExit emacs
-
-
\ No newline at end of file diff --git a/share/goodie/emacs_cheat_sheet/emacs_cheat_sheet.txt b/share/goodie/emacs_cheat_sheet/emacs_cheat_sheet.txt deleted file mode 100644 index 199475e59..000000000 --- a/share/goodie/emacs_cheat_sheet/emacs_cheat_sheet.txt +++ /dev/null @@ -1,147 +0,0 @@ -Lingo: -C: control key (CTRL) -M: meta key (ALT or ESC) -Quick Answers: -C-x C-f: find file -C-x C-s: save file -C-x C-c: exit emacs -Cursor Motion -Operation -Move -Move -Delete -Delete -Forward -Backward -Forward -Backward -Characters -C-f -C-b -C-d -DEL -Words -M-f -M-b -M-d -M-DEL -Lines -C-n -C-p -C-k -C-SPC C-a C-w -Sentences -M-e -M-a -M-k -C-x DEL -Expressions -C-M-f -C-M-b -C-M-k -C-M-DEL -Paragraphs -M-} -M-{ -None -None -End/Start of Line -C-e -C-a -None -None -End/Start of Buffer -M-> -M-< -None -None -Scrolling and Windows -C-v -Page Down -M-v -Page Up -C-M-v -Page Down other window -C-x 1 -Make current window only window -C-x 2 -Split window vertically -C-x 3 -Split window horizontally -C-x ^ -Grow window vertically -C-x o -Switch to next window -C-x 0 -Close current window -Cutting and Pasting -C-SPC -Set mark -C-w -Cut (after setting mark and moving to end point) -M-w -Copy (after setting mark and moving to end point) -C-y -Yank (paste) most recently killed (cut or copied) -M-y -Yank next most recently killed -Files and Buffers - -C-x C-f -Find file (or create if not existing) -C-x C-s -Save file -C-x C-w -Write file -C-x s -Save modified buffers -C-x b -Select buffer -C-x C-b -List buffers -C-x k -Kill buffer -Command-Related Stuff -ESC ESC ESC -Leave current location -C-u # -Prefix numeric argument # to next command -C-g -Stop running command, or cancel partially entered command -Searching and Replacing -C-s -Incremental search forward -C-r -Incremental search backward -C-M-s -Regexp search forward -C-M-r -Regexp search backward -M-x replace-string RET -String replace from here to end of buffer -M-x query-replace RET -String replace from here to end of buffer, querying for each occurrence -M-x grep RET -Prompts for a grep command, shows hits in a buffer -C-x ` -Visit next grep hit -Help -C-h k -Show command documentation -C-h a -"Command apropos" -C-h c -Show command name on message line -C-h f -Describe function -C-h i -Info browser -Misc -C-_ or C-x u -Undo/redo -C-q -Quoted insert -C-z -Suspend/iconify emacs (type "%emacs" to return) -C-x C-c -Exit emacs \ No newline at end of file