\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{agn} \pdfinfo{ /Title (emacs-general.pdf) /Creator (Cheatography) /Author (agn) /Subject (emacs-general Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{2985D6} \definecolor{LightBackground}{HTML}{F1F7FC} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{emacs-general Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{agn} via \textcolor{DarkBackground}{\uline{cheatography.com/27882/cs/8183/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}agn \\ \uline{cheatography.com/agn} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 16th May, 2016.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{3} \begin{tabularx}{5.377cm}{p{0.54747 cm} x{4.42953 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Space}} \tn % Row 0 \SetRowColor{LightBackground} M-SPC & squash multiple whitespace\{\{nl\}\}`just-one-space` \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} M-\textbackslash{} & join two words\{\{nl\}\}`delete-horizontal-space` \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} M-\textasciicircum{} & join two lines\{\{nl\}\}`delete-indentation` \tn % Row Count 6 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.84609 cm} x{4.13091 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Windows}} \tn % Row 0 \SetRowColor{LightBackground} C-x 0 & delete current window \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} C-x 1 & delete all except current \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} C-x 2 & split window vertically \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} C-x 3 & split window horizontally \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} C-x 0 & jump to next window \tn % Row Count 5 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{1.23579 cm} x{0.86963 cm} x{2.47158 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{5.377cm}}{\bf\textcolor{white}{Navigation (jump to...)}} \tn % Row 0 \SetRowColor{LightBackground} M-m & & first non-space on line \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} M-g M-g & & move to line \tn % Row Count 3 (+ 1) % Row 2 \SetRowColor{LightBackground} M-g TAB & & move to column \tn % Row Count 4 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{3}{x{5.377cm}}{cycle top/middle/bottom...} \tn % Row Count 5 (+ 1) % Row 4 \SetRowColor{LightBackground} M-r & & reposition cursor (=point) \tn % Row Count 7 (+ 2) % Row 5 \SetRowColor{white} C-l & & reposition screen \tn % Row Count 8 (+ 1) % Row 6 \SetRowColor{LightBackground} {\emph{previous...}} & {\emph{next...}} & \tn % Row Count 10 (+ 2) % Row 7 \SetRowColor{white} C-a & C-e & line \tn % Row Count 11 (+ 1) % Row 8 \SetRowColor{LightBackground} M-a & M-e & sentence \tn % Row Count 12 (+ 1) % Row 9 \SetRowColor{white} C-M-a & C-M-e & defun \tn % Row Count 13 (+ 1) % Row 10 \SetRowColor{LightBackground} C-v & M-v & page (window) \tn % Row Count 14 (+ 1) % Row 11 \SetRowColor{white} M-\{ & M-\} & paragraph \tn % Row Count 15 (+ 1) % Row 12 \SetRowColor{LightBackground} C-x {[} & C-x {]} & page \tn % Row Count 16 (+ 1) % Row 13 \SetRowColor{white} M-\textless{} & M-\textgreater{} & top (bottom) \tn % Row Count 17 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.64701 cm} x{4.32999 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Key/Command Binding}} \tn % Row 0 \SetRowColor{LightBackground} C-h f & describe command \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} C-h b & describe all key bindings \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} C-h m & describe binding for current mode \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} C-h k & describe key binding \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} C-h c & describe key briefly \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} C-h a & apropos \tn % Row Count 6 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{1.69218 cm} x{3.28482 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Marking Regions}} \tn % Row 0 \SetRowColor{LightBackground} C-SPC & Start marking (then use jump commands) \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \{\{nobreak\}\}S-\textless{}arrow\textgreater{} & mark lines/characters \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} M-h & mark paragraph \tn % Row Count 5 (+ 1) % Row 3 \SetRowColor{white} C-M-h & mark defun \tn % Row Count 6 (+ 1) % Row 4 \SetRowColor{LightBackground} C-x C-p & mark page \tn % Row Count 7 (+ 1) % Row 5 \SetRowColor{white} C-x h & mark buffer \tn % Row Count 8 (+ 1) % Row 6 \SetRowColor{LightBackground} M-@ & mark next word \tn % Row Count 9 (+ 1) % Row 7 \SetRowColor{white} C-M-@ & mark balanced expression \tn % Row Count 10 (+ 1) % Row 8 \SetRowColor{LightBackground} C-x C-x & jump to beg/end of mark \tn % Row Count 11 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.28942 cm} x{2.68758 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Region Actions}} \tn % Row 0 \SetRowColor{LightBackground} C-w & kill region (=cut) \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} M-w & yank region (=copy) \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} C-M-\textbackslash{} (or tab) & indent \tn % Row Count 3 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.18988 cm} x{2.78712 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Search/Replace}} \tn % Row 0 \SetRowColor{LightBackground} C-s & search forward \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} M-C-s & regex search forward \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \{\{nobreak\}\}M-x `replace-string` & replace string\{\{nl\}\}(unbound by default) \tn % Row Count 4 (+ 2) % Row 3 \SetRowColor{white} \{\{nobreak\}\}M-x `replace-regex` & replace regex\{\{nl\}\}(unbound by default) \tn % Row Count 6 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{1.04517 cm} x{3.93183 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Shell}} \tn % Row 0 \SetRowColor{LightBackground} M-! & `shell-command` \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} M-| & \seqsplit{`shell-command-on-region`} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} C-u {[}...{]} & insert (above) output into buffer \tn % Row Count 4 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{1.59264 cm} x{3.38436 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Markdown Mode}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{{\emph{headers}}} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} C-c C-t 1..6 & new header level 1..6 `\#\#\#` \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} C-c C-t ! & new header level 1 `===` \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} C-c C-t @ & new header level 2 `-{}-{}-` \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} C-c - & new horizontal rule \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{{\emph{Maintenance}}} \tn % Row Count 6 (+ 1) % Row 6 \SetRowColor{LightBackground} C-c C-c p & compile (temp file) -\textgreater{} browser \tn % Row Count 8 (+ 2) % Row 7 \SetRowColor{white} C-c C-c v & compile (html file) -\textgreater{} browser \tn % Row Count 10 (+ 2) % Row 8 \SetRowColor{LightBackground} C-c C-c n & renumber ordered list \tn % Row Count 11 (+ 1) % Row 9 \SetRowColor{white} C-c C-c {]} & normalize heading rules \tn % Row Count 12 (+ 1) % Row 10 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{{\emph{Lists}}} \tn % Row Count 13 (+ 1) % Row 11 \SetRowColor{white} M-\textless{}up | down\textgreater{} & move list items up|down \tn % Row Count 15 (+ 2) % Row 12 \SetRowColor{LightBackground} M-\textless{}left|right\textgreater{} & promote/demote items \tn % Row Count 17 (+ 2) % Row 13 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{} \tn % Row Count 17 (+ 0) % Row 14 \SetRowColor{LightBackground} M-S-\textless{}up|down\textgreater{} & move sections up|down \tn % Row Count 19 (+ 2) % Row 15 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{{\emph{Navigation}}} \tn % Row Count 20 (+ 1) % Row 16 \SetRowColor{LightBackground} C-c C-n & next visible heading \tn % Row Count 21 (+ 1) % Row 17 \SetRowColor{white} C-c C-p & prev visible heading \tn % Row Count 22 (+ 1) % Row 18 \SetRowColor{LightBackground} C-c C-u & upper level heading \tn % Row Count 23 (+ 1) % Row 19 \SetRowColor{white} C-M-a & prev defun (section) \tn % Row Count 24 (+ 1) % Row 20 \SetRowColor{LightBackground} C-M-e & next defun (section) \tn % Row Count 25 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}