%%===================================================================================== %% %% File: bash-hotkeys.tex %% %% Description: bash-support.vim : Key mappings for Bash with/without GUI. %% %% Author: Dr.-Ing. Fritz Mehner %% Email: mehner.fritz@fh-swf.de %% Copyright: Copyright (C) 2013-2014 Dr.-Ing. Fritz Mehner (mehner.fritz@fh-swf.de) %% Version: see \Pluginversion %% Created: 20.05.2013 %% %%===================================================================================== %%====================================================================== %% LaTeX settings [[[1 %%====================================================================== \documentclass[oneside,11pt,landscape,DIV16]{scrartcl} \usepackage[english]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{times} \usepackage{lastpage} \usepackage{multicol} \usepackage{fancyhdr} \setlength\parindent{0pt} \newcommand{\Pluginversion}{4.2.1} \newcommand{\ReleaseDate}{\today} \newcommand{\Rep}{{\scriptsize{[n]}}} %%---------------------------------------------------------------------- %% fancyhdr %%---------------------------------------------------------------------- \pagestyle{fancyplain} \fancyhf{} \fancyfoot[L]{\small \ReleaseDate} \fancyfoot[C]{\small bash-support.vim} \fancyfoot[R]{\small \textbf{Page \thepage{} / \pageref{LastPage}}} \renewcommand{\headrulewidth}{0.0pt} %%---------------------------------------------------------------------- %% luximono : Type1-font %% Makes keyword stand out by using semibold letters. %%---------------------------------------------------------------------- \usepackage[scaled]{luximono} %%---------------------------------------------------------------------- %% hyperref %%---------------------------------------------------------------------- \usepackage[ps2pdf]{hyperref} \hypersetup{pdfauthor={Dr.-Ing. Fritz Mehner, FH Südwestfalen, Iserlohn, Germany}} \hypersetup{pdfkeywords={Vim, Perl}} \hypersetup{pdfsubject={Vim-plug-in, bash-support.vim, hot keys}} \hypersetup{pdftitle={Vim-plug-in, bash-support.vim, hot keys}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% START OF DOCUMENT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document}% \begin{multicols}{3} % \begin{center} % %%====================================================================== %% title [[[1 %%====================================================================== \textbf{\textsc{\small{Vim-Plug-in}}}\\ \textbf{\LARGE{bash-support.vim}}\\ \textbf{\textsc{\small{Version \Pluginversion}}}\\ \vspace{5mm}% \textbf{\textsc{\Huge{Hot keys}}}\\ \vspace{5mm}% Key mappings for Vim and gVim.\\ Plug-in: http://vim.sourceforge.net\\ Fritz Mehner (mehner.fritz@fh-swf.de)\\ \vspace{1.0mm} {\normalsize (i)} insert mode, {\normalsize (n)} normal mode, {\normalsize (v)} visual mode\\ \vspace{4.0mm} %%====================================================================== %% table, left part [[[1 %%====================================================================== %%---------------------------------------------------------------------- %% main menu [[[2 %%---------------------------------------------------------------------- %%~~~~~ TABULAR : begin ~~~~~~~~~~ \begin{tabular}[]{|p{11mm}|p{60mm}|} \hline \multicolumn{2}{|r|}{\textsl{\textbf{B}ash}}\\[1.0ex] \hline \verb'\bps' & \textbf{p}arameter \textbf{s}ubstitution (list) \hfill (n, i)\\ \hline \verb'\bsp' & \textbf{s}pecial \textbf{p}arameters (list) \hfill (n, i)\\ \hline \verb'\ben' & \textbf{en}vironment (list) \hfill (n, i)\\ \hline \verb'\bbu' & \textbf{bu}iltins (list) \hfill (n, i)\\ \hline \verb'\bse' & \textbf{se}t options (list) \hfill (n, i)\\ \hline \verb'\bso' & \textbf{s}h\textbf{o}pts (list) \hfill (n, i)\\ \hline %%---------------------------------------------------------------------- %% menu Comments [[[2 %%---------------------------------------------------------------------- \hline \multicolumn{2}{|r|}{\textsl{\textbf{C}omments}} \\[1.0ex] \hline \Rep\verb'\cl' & end-of-line comment \hfill (n, i, v)\\ \hline \Rep\verb'\cj' & adjust end-of-line comments \hfill (n, i, v)\\ \hline \verb'\cs' & set end-of-line comment col. \hfill (n)\\ % \hline \Rep\verb'\cc' & code $\rightarrow$ comment \hfill (n, i, v)\\ \hline \Rep\verb'\cu' & uncomment code \hfill (n, i, v)\\ % \hline \verb'\cfr' & frame comment \hfill (n, i)\\ \hline \verb'\cfu' & function description \hfill (n, i)\\ \hline \verb'\ch' & file header \hfill (n, i)\\ \hline \verb'\cd' & date \hfill (n, i)\\ \hline \verb'\ct' & date \& time \hfill (n, i)\\ \hline \verb'\css' & script sections \hfill (n, i)\\ \hline \verb'\ckc' & keyword comments \hfill (n, i)\\ \hline \verb'\cma' & plug-in macros \hfill (n, i)\\ % \hline \verb'\ce' & \texttt{echo} "\textsl{actual line}" \hfill (n, i)\\ \hline \verb'\cr' & remove \texttt{echo} from actual line \hfill (n, i)\\ \hline \end{tabular}\\ %%~~~~~ TABULAR : end ~~~~~~~~~~ % %%====================================================================== %% table, middle part [[[1 %%====================================================================== %%---------------------------------------------------------------------- %% menu Statements [[[2 %%---------------------------------------------------------------------- %%~~~~~ TABULAR : begin ~~~~~~~~~~ \begin{tabular}[]{|p{11mm}|p{60mm}|} \hline \multicolumn{2}{|r|}{\textsl{\textbf{S}tatements}} \\[1.0ex] \hline \verb'\sc' & \verb'case in ... esac' \hfill (n, i)\\ \hline \verb'\sei' & \verb'elif then' \hfill (n, i)\\ \hline \verb'\sf' & \verb'for in do done' \hfill (n, i, v)\\ \hline \verb'\sfo' & \verb'for ((...)) do done' \hfill (n, i, v)\\ \hline \verb'\si' & \verb'if then fi' \hfill (n, i, v)\\ \hline \verb'\sie' & \verb'if then else fi' \hfill (n, i, v)\\ \hline \verb'\ss' & \verb'select in do done' \hfill (n, i, v)\\ \hline \verb'\su' & \verb'until do done' \hfill (n, i, v)\\ \hline \verb'\sw' & \verb'while do done' \hfill (n, i, v)\\ \hline \verb'\sfu' & \verb'function' \hfill (n, i, v)\\ % \hline \verb'\se' & \verb'echo -e ""' \hfill (n, i, v)\\ \hline \verb'\sp' & \verb'printf "%s"' \hfill (n, i, v)\\ % \hline \verb'\sae' & array element\ \ \ \verb'${.[.]}' \hfill (n, i, v)\\ \hline \verb'\saa' & arr. elem.s (all) \ \verb'${.[@]}' \hfill (n, i, v)\\ \hline \verb'\sas' & arr. elem.s (1 word) \ \verb'${.[*]}' \hfill (n, i, v)\\ \hline \verb'\ssa' & subarray \ \verb'${.[@]::}' \hfill (n, i, v)\\ \hline \verb'\san' & no. of arr. elem.s \ \verb'${.[@]}' \hfill (n, i, v)\\ \hline \verb'\sai' & list of indices \ \verb'${.[*]}' \hfill (n, i, v)\\ \hline %% %%---------------------------------------------------------------------- %% menu Tests [[[2 %%---------------------------------------------------------------------- \hline \multicolumn{2}{|r|}{\textsl{\textbf{T}ests}} \\[1.0ex] \hline \verb'\ta' & arithmetic tests \hfill (n, i)\\ \hline \verb'\tfp' & file permissions \hfill (n, i)\\ \hline \verb'\tft' & file types \hfill (n, i)\\ \hline \verb'\tfc' & file characteristics \hfill (n, i)\\ \hline \verb'\ts' & string comparisons \hfill (n, i)\\ \hline \verb'\toe' & option is enabled \hfill (n, i)\\ \hline \verb'\tvs' & variables has been set \hfill (n, i)\\ \hline \verb'\tfd' & file descr. refers to a terminal \hfill (n, i)\\ \hline \verb'\tm' & string matches regexp \hfill (n, i)\\ \hline %% %%---------------------------------------------------------------------- %% menu IO-Redirection [[[2 %%---------------------------------------------------------------------- \hline \multicolumn{2}{|r|}{\textsl{\textbf{I}O-Redirection}} \\[1.0ex] \hline \verb'\ior' & IO-redirections (list) \hfill (n, i)\\ \hline \verb'\ioh' & here-document \hfill (n, i)\\ \hline % \end{tabular}\\ %%~~~~~ TABULAR : end ~~~~~~~~~~ % %%====================================================================== %% table, right part [[[1 %%====================================================================== %%---------------------------------------------------------------------- %% menu Pattern Matching [[[2 %%---------------------------------------------------------------------- %%~~~~~ TABULAR : begin ~~~~~~~~~~ \begin{tabular}[]{|p{11mm}|p{62mm}|} \hline \multicolumn{2}{|r|}{\textsl{\textbf{P}attern Matching}} \\[1.0ex] \hline \verb'pzo' & zero or one, \verb' ?( | )' \hfill (n, i)\\ \hline \verb'pzm' & zero or more, \verb' *( | )' \hfill (n, i)\\ \hline \verb'pom' & one or more, \verb' +( | )' \hfill (n, i)\\ \hline \verb'peo' & exactly one, \verb' @( | )' \hfill (n, i)\\ \hline \verb'pae' & anything except, \verb' !( | )' \hfill (n, i)\\ \hline \verb'ppc' & POSIX classes \hfill (n, i)\\ \hline \verb'pbr' & \verb'${BASH_REMATCH[0'$\ldots$\verb'3]}' \hfill (n, i)\\ \hline % %%---------------------------------------------------------------------- %% menu Snippet [[[2 %%---------------------------------------------------------------------- \hline \multicolumn{2}{|r|}{\textsl{S\textbf{n}ippets}} \\[1.0ex] \hline \verb'\nr' & read code snippet \hfill (n, i)\\ \hline \verb'\nv' & view code snippet \hfill (n, i)\\ \hline \verb'\nw' & write code snippet \hfill (n, i, v)\\ \hline \verb'\ne' & edit code snippet \hfill (n, i)\\ \hline \verb'\ntl' & edit templates \hfill (n, i)\\ \hline \verb'\ntr' & reread templates \hfill (n, i)\\ \hline \verb'\nts' & choose style \hfill (n, i)\\ \hline %%---------------------------------------------------------------------- %% menu Run [[[2 %%---------------------------------------------------------------------- \hline \multicolumn{2}{|r|}{\textsl{\textbf{R}un}} \\[1.0ex] \hline \verb'\rr' & update file, run script \hfill (n, i, v$^1$)\\ \hline \verb'\ra' & set script cmd. line arguments \hfill (n, i)\\ \hline \verb'\rba' & set Bash cmd. line arguments \hfill (n, i)\\ \hline \verb'\rc' & update file, check syntax \hfill (n, i)\\ \hline \verb'\rco' & syntax check options \hfill (n, i)\\ \hline \verb'\rd' & start debugger$^1$ \hfill (n, i)\\ \hline \verb'\re' & make script executable/not exec.$^1$ \hfill (n, i)\\ \hline \verb'\rh' & hardcopy buffer \hfill (n, i, v)\\ \hline \verb'\rs' & plug-in settings \hfill (n, i)\\ \hline \verb'\rx' & set xterm size$^{1,2}$ \hfill (n, i)\\ \hline \verb'\ro' & change output destination \hfill (n, i)\\ \hline %%---------------------------------------------------------------------- %% menu Help [[[2 %%---------------------------------------------------------------------- \hline \multicolumn{2}{|r|}{\textsl{\textbf{H}elp}}\\[1.0ex] \hline \verb'\hb' & display the Bash manual \hfill (n,i)\\ \hline \verb'\hh' & help (Bash builtins) \hfill (n,i)\\ \hline \verb'\hm' & show manual (cmd. line utilities) \hfill (n,i)\\ \hline \verb'\hp' & help (plug-in) \hfill (n,i)\\ \hline \end{tabular}\\ %%~~~~~ TABULAR : end ~~~~~~~~~~ % \vfill % \begin{minipage}[b]{75mm}% \scriptsize{% \vspace{2mm} %\hrulefill\\ $^1$ {Linux/U**x only}\\ $^2$ {GUI only} }% \end{minipage}\\ % % \end{center}% \end{multicols}% % %%----- TABBING : end ---------- \end{document} % vim: foldmethod=marker foldmarker=[[[,]]]