[education/rkward/cheatsheet] rkward/pages: draft of cheat sheets for VI and Rmarkdown
Stefan Rödiger
null at kde.org
Thu Jun 16 20:47:15 BST 2022
Git commit 44ee39af8b6ae99681c3fcbc048b8b31be6591fe by Stefan Rödiger.
Committed on 16/06/2022 at 19:45.
Pushed by srodiger into branch 'cheatsheet'.
draft of cheat sheets for VI and Rmarkdown
A +272 -0 rkward/pages/rkward_Rmarkdown_cheatsheet.rkh
A +695 -0 rkward/pages/rkward_VI_cheatsheet.rkh
M +3 -0 rkward/pages/rkward_welcome.rkh
https://invent.kde.org/education/rkward/commit/44ee39af8b6ae99681c3fcbc048b8b31be6591fe
diff --git a/rkward/pages/rkward_Rmarkdown_cheatsheet.rkh b/rkward/pages/rkward_Rmarkdown_cheatsheet.rkh
new file mode 100644
index 00000000..8a60967e
--- /dev/null
+++ b/rkward/pages/rkward_Rmarkdown_cheatsheet.rkh
@@ -0,0 +1,272 @@
+<!DOCTYPE rkhelp>
+<document>
+ <title>rmarkdown::Cheat Sheet</title>
+ <summary>
+Rmarkdown (*.Rmd files) allow to combine (knit) code, text, figures, tables and results in a single document. Render to a variety of formats like HTML, LaTeX, PDF or even office documents. Anyone can read the code to reproduce the work.
+ </summary>
+
+ <section id="Workflow" title="Workflow via the GUI">
+ <ol>
+ <li>New empty file (File->New->Script File)</li>
+ <li>Set the output format(s) in the YAML header</li>
+ <li>Save file (Ctrl+S or Ctrl+Shift+S) as NAME.Rmd</li>
+ <li>Embed code junks</li>
+ <li>Embed your content and analysis</li>
+ <li>Save and render (knit) the document periodically</li>
+ <li>Share your document</li>
+ </ol>
+ </section>
+
+ <section id="YAMLoptions" title="YAML Options">
+ <table>
+ <thead>
+ <tr>
+ <th>IMPORTANT OPTIONS </th>
+ <th>DESCRIPTION </th>
+ <th>HTML </th>
+ <th>PDF </th>
+ <th>Microsoft Word </th>
+ <th>Microsoft PowerPoint </th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>anchor_sections </td>
+ <td>Show section anchors on mouse hover (TRUE or FALSE) </td>
+ <td> * </td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>citation_package </td>
+ <td>The LaTeX package to process citations ("default", "natbib", "biblatex") </td>
+ <td></td>
+ <td> * </td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>code_download </td>
+ <td>Give readers an option to download the .Rmd source code (TRUE or FALSE) </td>
+ <td> * </td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>code_folding </td>
+ <td>Let readers to toggle the display of R code ("none", "hide", or "show") </td>
+ <td> * </td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>css </td>
+ <td> CSS or SCSS file to use to style document (e.g. "style.css") </td>
+ <td> * </td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>dev </td>
+ <td>Graphics device to use for figure output (e.g. "png", "pdf") </td>
+ <td> * </td>
+ <td> * </td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>df_print </td>
+ <td>Method for printing data frames ("default", "kable", "tibble", "paged") </td>
+ <td> * </td>
+ <td> * </td>
+ <td> * </td>
+ <td> * </td>
+ </tr>
+ <tr>
+ <td>fig_caption </td>
+ <td>Should figures be rendered with captions (TRUE or FALSE) </td>
+ <td> * </td>
+ <td> * </td>
+ <td> * </td>
+ <td> * </td>
+ </tr>
+ <tr>
+ <td>highlight </td>
+ <td>Syntax highlighting ("tango", "pygments", "kate", "zenburn", "textmate") </td>
+ <td> * </td>
+ <td> * </td>
+ <td> * </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>includes </td>
+ <td>File of content to place in doc ("in_header", "before_body", "a er_body") </td>
+ <td> * </td>
+ <td> * </td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>keep_md </td>
+ <td>Keep the Markdown .md file generated by knitting (TRUE or FALSE) </td>
+ <td> * </td>
+ <td> * </td>
+ <td> * </td>
+ <td> * </td>
+ </tr>
+ <tr>
+ <td>keep_tex </td>
+ <td> Keep the intermediate TEX file used to convert to PDF (TRUE or FALSE) </td>
+ <td></td>
+ <td> * </td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>latex_engine </td>
+ <td>LaTeX engine for producing PDF output ("pdflatex", "xelatex", or "lualatex") </td>
+ <td></td>
+ <td> * </td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>reference_docx/_doc </td>
+ <td>docx/pptx file containing styles to copy in the output (e.g. "file.docx", "file.pptx") </td>
+ <td></td>
+ <td></td>
+ <td> * </td>
+ <td> * </td>
+ </tr>
+ <tr>
+ <td>theme </td>
+ <td>Theme options (see Bootswatch and Custom Themes below) </td>
+ <td> * </td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>toc </td>
+ <td>Add a table of contents at start of document (TRUE or FALSE) </td>
+ <td> * </td>
+ <td> * </td>
+ <td> * </td>
+ <td> * </td>
+ </tr>
+ <tr>
+ <td>toc_depth </td>
+ <td>The lowest level of headings to add to table of contents (e.g. 2, 3) </td>
+ <td> * </td>
+ <td> * </td>
+ <td> * </td>
+ <td> * </td>
+ </tr>
+ <tr>
+ <td>toc_float </td>
+ <td>Float the table of contents to the le of the main document content (TRUE or FALSE)</td>
+ <td> * </td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ </section>
+
+
+ <section id="OutputFormats" title="Output Formats">
+ <table>
+ <thead>
+ <tr>
+ <th>OUTPUT FORMAT </th>
+ <th>CREATES </th>
+ <th>NOTE</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>html_document </td>
+ <td>.html </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>pdf_document</td>
+ <td>.pdf </td>
+ <td>Requires LaTeX, use tinytex::install_tinytex()</td>
+ </tr>
+ <tr>
+ <td>word_document </td>
+ <td>Microso Word (.docx) </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>powerpoint_presentation </td>
+ <td>Microso Powerpoint (.pptx) </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>odt_document </td>
+ <td>OpenDocument Text </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>rtf_document </td>
+ <td>Rich Text Format </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>md_document </td>
+ <td>Markdown </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td> github_document </td>
+ <td> Markdown for Github </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>ioslides_presentation </td>
+ <td>ioslides HTML slides </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>slidy_presentation </td>
+ <td>Slidy HTML slides </td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>beamer_presentation* </td>
+ <td>Beamer slides </td>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ </section>
+
+ <section id="YAML" title="YAML">
+
+ <pre><code>
+ ---
+ title: "My Document"
+ author: "Author Name"
+ date: "`r Sys.Date()`"
+ output:
+ html_document:
+ toc: TRUE
+ ---
+ </code></pre>
+
+ </section>
+
+ <related>
+ <ul>
+ <li><link href="rkward://page/rkward_for_r_users"/></li>
+ <li><link href="rkward://page/rkward_shortcuts"/></li>
+ </ul>
+ </related>
+</document>
diff --git a/rkward/pages/rkward_VI_cheatsheet.rkh b/rkward/pages/rkward_VI_cheatsheet.rkh
new file mode 100644
index 00000000..cba0892e
--- /dev/null
+++ b/rkward/pages/rkward_VI_cheatsheet.rkh
@@ -0,0 +1,695 @@
+<!DOCTYPE rkhelp>
+<document>
+ <title>VI mode::Cheat Sheet</title>
+ <summary>
+ RWard supports VI mode using <link href="https://kate-editor.org/kate-vi-mode/">Kate editor technology</link>. This allows Vim-like edits to be performed in RKWard script windows.
+ </summary>
+
+ <section id="VIcommands" title="Supported normal/visual mode commands">
+ <table>
+ <thead>
+ <tr>
+ <th>Key</th>
+ <th>Description</th>
+ <th></th>
+ <th>Key</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>a</td>
+ <td>Enter Insert Mode and append</td>
+ <td></td>
+ <td><</td>
+ <td>Unindent lines</td>
+ </tr>
+ <tr>
+ <td>A</td>
+ <td>Enter Insert Mode and append to EOL</td>
+ <td></td>
+ <td><c-f></td>
+ <td>Scroll page down</td>
+ </tr>
+ <tr>
+ <td>i</td>
+ <td>Enter Insert Mode</td>
+ <td></td>
+ <td><pagedown></td>
+ <td>Scroll page down</td>
+ </tr>
+ <tr>
+ <td>I</td>
+ <td>Insert before first non-blank char in line</td>
+ <td></td>
+ <td><c-b></td>
+ <td>Scroll page up</td>
+ </tr>
+ <tr>
+ <td>v</td>
+ <td>Enter Visual Mode</td>
+ <td></td>
+ <td><pageup></td>
+ <td>Scroll page up</td>
+ </tr>
+ <tr>
+ <td>V</td>
+ <td>Enter Visual Line Mode</td>
+ <td></td>
+ <td><c-u></td>
+ <td>Scroll half page up</td>
+ </tr>
+ <tr>
+ <td><c-v></td>
+ <td>Enter Visual Block Mode</td>
+ <td></td>
+ <td><c-d></td>
+ <td>Scroll half page down</td>
+ </tr>
+ <tr>
+ <td>gv</td>
+ <td>Re-select Visual</td>
+ <td></td>
+ <td>zz</td>
+ <td>Centre view on cursor</td>
+ </tr>
+ <tr>
+ <td>o</td>
+ <td>Open new line under</td>
+ <td></td>
+ <td>ga</td>
+ <td>Print character code</td>
+ </tr>
+ <tr>
+ <td>O</td>
+ <td>Open new line over</td>
+ <td></td>
+ <td>.</td>
+ <td>Repeat last change</td>
+ </tr>
+ <tr>
+ <td>J</td>
+ <td>Join lines</td>
+ <td></td>
+ <td>==</td>
+ <td>Align line</td>
+ </tr>
+ <tr>
+ <td>c</td>
+ <td>Change</td>
+ <td></td>
+ <td>=</td>
+ <td>Align lines</td>
+ </tr>
+ <tr>
+ <td>C</td>
+ <td>Change to EOL</td>
+ <td></td>
+ <td>~</td>
+ <td>Change case</td>
+ </tr>
+ <tr>
+ <td>cc</td>
+ <td>Change line</td>
+ <td></td>
+ <td><c-a></td>
+ <td>Add to number</td>
+ </tr>
+ <tr>
+ <td>s</td>
+ <td>Substitute char</td>
+ <td></td>
+ <td><c-x></td>
+ <td>Subtract from number</td>
+ </tr>
+ <tr>
+ <td>S</td>
+ <td>Substitute line</td>
+ <td></td>
+ <td><c-o></td>
+ <td>Go to prev jump</td>
+ </tr>
+ <tr>
+ <td>dd</td>
+ <td>Delete line</td>
+ <td></td>
+ <td><c-i></td>
+ <td>Go to next jump</td>
+ </tr>
+ <tr>
+ <td>d</td>
+ <td>Delete</td>
+ <td></td>
+ <td><c-w>h</td>
+ <td>Switch to left view</td>
+ </tr>
+ <tr>
+ <td>D</td>
+ <td>Delete to EOL</td>
+ <td></td>
+ <td><c-w><c-h></td>
+ <td>Switch to left view</td>
+ </tr>
+ <tr>
+ <td>x</td>
+ <td>Delete char</td>
+ <td></td>
+ <td><c-w><left></td>
+ <td>Switch to left view</td>
+ </tr>
+ <tr>
+ <td>X</td>
+ <td>Delete char backward</td>
+ <td></td>
+ <td><c-w>j</td>
+ <td>Switch to down view</td>
+ </tr>
+ <tr>
+ <td>gu</td>
+ <td>Make lowercase</td>
+ <td></td>
+ <td><c-w><c-j></td>
+ <td>Switch to down view</td>
+ </tr>
+ <tr>
+ <td>guu</td>
+ <td>Make lowercase line</td>
+ <td></td>
+ <td><c-w><down></td>
+ <td>Switch to down view</td>
+ </tr>
+ <tr>
+ <td>gU</td>
+ <td>Make uppercase</td>
+ <td></td>
+ <td><c-w>k</td>
+ <td>Switch to up view</td>
+ </tr>
+ <tr>
+ <td>gUU</td>
+ <td>Make uppercase line</td>
+ <td></td>
+ <td><c-w><c-k></td>
+ <td>Switch to up view</td>
+ </tr>
+ <tr>
+ <td>y</td>
+ <td>Yank</td>
+ <td></td>
+ <td><c-w><up></td>
+ <td>Switch to up view</td>
+ </tr>
+ <tr>
+ <td>yy</td>
+ <td>Yank line</td>
+ <td></td>
+ <td><c-w>l</td>
+ <td>Switch to right view</td>
+ </tr>
+ <tr>
+ <td>Y</td>
+ <td>Yank to EOL</td>
+ <td></td>
+ <td><c-w><c-l></td>
+ <td>Switch to right view</td>
+ </tr>
+ <tr>
+ <td>p</td>
+ <td>Paste</td>
+ <td></td>
+ <td><c-w><right></td>
+ <td>Switch to right view</td>
+ </tr>
+ <tr>
+ <td>P</td>
+ <td>Paste before</td>
+ <td></td>
+ <td><c-w>w</td>
+ <td>Switch to next view</td>
+ </tr>
+ <tr>
+ <td>r.</td>
+ <td>Replace character</td>
+ <td></td>
+ <td><c-w><c-w></td>
+ <td>Switch to next view</td>
+ </tr>
+ <tr>
+ <td>R</td>
+ <td>Enter replace mode</td>
+ <td></td>
+ <td><c-w>s</td>
+ <td>Split horizontally</td>
+ </tr>
+ <tr>
+ <td>:</td>
+ <td>Switch to command line</td>
+ <td></td>
+ <td><c-w>S</td>
+ <td>Split horizontally</td>
+ </tr>
+ <tr>
+ <td>/</td>
+ <td>Search</td>
+ <td></td>
+ <td><c-w><c-s></td>
+ <td>Split horizontally</td>
+ </tr>
+ <tr>
+ <td>u</td>
+ <td>Undo</td>
+ <td></td>
+ <td><c-w>v</td>
+ <td>Split vertically</td>
+ </tr>
+ <tr>
+ <td><c-r></td>
+ <td>Redo</td>
+ <td></td>
+ <td><c-w><c-v></td>
+ <td>Split vertically</td>
+ </tr>
+ <tr>
+ <td>U</td>
+ <td>Redo</td>
+ <td></td>
+ <td>gt</td>
+ <td>Switch to next tab</td>
+ </tr>
+ <tr>
+ <td>m.</td>
+ <td>Set mark</td>
+ <td></td>
+ <td>gT</td>
+ <td>Switch to prev tab</td>
+ </tr>
+ <tr>
+ <td>»</td>
+ <td>Indent line</td>
+ <td></td>
+ <td>gqq</td>
+ <td>Format line</td>
+ </tr>
+ <tr>
+ <td>«</td>
+ <td>Unindent line</td>
+ <td></td>
+ <td>gq</td>
+ <td>Format lines</td>
+ </tr>
+ <tr>
+ <td>></td>
+ <td>Indent lines</td>
+ <td></td>
+ <td>q. / q</td>
+ <td>Begin/ finish recording macro using the named macro register.</td>
+ </tr>
+ </tbody>
+ </table>
+ </section>
+
+ <section id="motions" title="Supported motions">
+ <table>
+ <thead>
+ <tr>
+ <th>Key</th>
+ <th>Description</th>
+ <th></th>
+ <th>Key</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>h</td>
+ <td>Left</td>
+ <td></td>
+ <td>gg</td>
+ <td>To first line</td>
+ </tr>
+ <tr>
+ <td><left></td>
+ <td>Left</td>
+ <td></td>
+ <td>G</td>
+ <td>To last line</td>
+ </tr>
+ <tr>
+ <td><backspace></td>
+ <td>Left</td>
+ <td></td>
+ <td>w</td>
+ <td>Word forward</td>
+ </tr>
+ <tr>
+ <td>j</td>
+ <td>Down</td>
+ <td></td>
+ <td>W</td>
+ <td>WORD forward</td>
+ </tr>
+ <tr>
+ <td><down></td>
+ <td>Down</td>
+ <td></td>
+ <td>b</td>
+ <td>Word backward</td>
+ </tr>
+ <tr>
+ <td><enter></td>
+ <td>Down to first non blank</td>
+ <td></td>
+ <td>B</td>
+ <td>WORD backward</td>
+ </tr>
+ <tr>
+ <td>k</td>
+ <td>Up</td>
+ <td></td>
+ <td>e</td>
+ <td>To end of word</td>
+ </tr>
+ <tr>
+ <td><up></td>
+ <td>Up</td>
+ <td></td>
+ <td>E</td>
+ <td>To end of WORD</td>
+ </tr>
+ <tr>
+ <td>–</td>
+ <td>Up to first non blank</td>
+ <td></td>
+ <td>ge</td>
+ <td>To end of prev word</td>
+ </tr>
+ <tr>
+ <td>l</td>
+ <td>Right</td>
+ <td></td>
+ <td>gE</td>
+ <td>To end of prev WORD</td>
+ </tr>
+ <tr>
+ <td><right></td>
+ <td>Right</td>
+ <td></td>
+ <td>%</td>
+ <td>To matching item</td>
+ </tr>
+ <tr>
+ <td><space></td>
+ <td>Right</td>
+ <td></td>
+ <td>`[a-zA-Z><]</td>
+ <td>To mark</td>
+ </tr>
+ <tr>
+ <td>$</td>
+ <td>To EOL</td>
+ <td></td>
+ <td>‘[a-zA-Z><]</td>
+ <td>To mark line</td>
+ </tr>
+ <tr>
+ <td><end></td>
+ <td>To EOL</td>
+ <td></td>
+ <td>[[</td>
+ <td>To previous brace block start</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>To 0 column</td>
+ <td></td>
+ <td>]]</td>
+ <td>To next brace block start</td>
+ </tr>
+ <tr>
+ <td><home></td>
+ <td>To 0 column</td>
+ <td></td>
+ <td>[]</td>
+ <td>To previous brace block end</td>
+ </tr>
+ <tr>
+ <td>^</td>
+ <td>To first character of line</td>
+ <td></td>
+ <td>][</td>
+ <td>To next brace block end</td>
+ </tr>
+ <tr>
+ <td>f.</td>
+ <td>Find char</td>
+ <td></td>
+ <td>*</td>
+ <td>To next occurrence of word under cursor</td>
+ </tr>
+ <tr>
+ <td>F.</td>
+ <td>Find char backward</td>
+ <td></td>
+ <td>#</td>
+ <td>To prev occurrence of word under cursor</td>
+ </tr>
+ <tr>
+ <td>t.</td>
+ <td>To char</td>
+ <td></td>
+ <td>H</td>
+ <td>To first line of window</td>
+ </tr>
+ <tr>
+ <td>T.</td>
+ <td>To char backward</td>
+ <td></td>
+ <td>M</td>
+ <td>To middle line of window</td>
+ </tr>
+ <tr>
+ <td>;</td>
+ <td>Repeat last t. or f. command</td>
+ <td></td>
+ <td>L</td>
+ <td>To last line of window</td>
+ </tr>
+ <tr>
+ <td>,</td>
+ <td>Repeat last t. or f. command</td>
+ <td></td>
+ <td>gj</td>
+ <td>To next visual line</td>
+ </tr>
+ <tr>
+ <td>n</td>
+ <td>Find next</td>
+ <td></td>
+ <td>gk</td>
+ <td>To prev visual line</td>
+ </tr>
+ <tr>
+ <td>N</td>
+ <td>Find prev</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ </section>
+
+ <section id="textobjects" title="Supported text objects">
+ <table>
+ <thead>
+ <tr>
+ <th>Key</th>
+ <th>Description</th>
+ <th></th>
+ <th>Key</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>iw</td>
+ <td>Inner word</td>
+ <td></td>
+ <td>i{</td>
+ <td>Inner curly bracket</td>
+ </tr>
+ <tr>
+ <td>aw</td>
+ <td>A word</td>
+ <td></td>
+ <td>a)</td>
+ <td>A paren</td>
+ </tr>
+ <tr>
+ <td>iW</td>
+ <td>Inner WORD</td>
+ <td></td>
+ <td>a(</td>
+ <td>A paren</td>
+ </tr>
+ <tr>
+ <td>aW</td>
+ <td>A WORD</td>
+ <td></td>
+ <td>aB</td>
+ <td>A curly bracket</td>
+ </tr>
+ <tr>
+ <td>i"</td>
+ <td>Inner double quote</td>
+ <td></td>
+ <td>a}</td>
+ <td>A curly bracket</td>
+ </tr>
+ <tr>
+ <td>a"</td>
+ <td>A double quote</td>
+ <td></td>
+ <td>a{</td>
+ <td>A curly bracket</td>
+ </tr>
+ <tr>
+ <td>i’</td>
+ <td>Inner single quote</td>
+ <td></td>
+ <td>i<</td>
+ <td>Inner inequality sign</td>
+ </tr>
+ <tr>
+ <td>a’</td>
+ <td>A single quote</td>
+ <td></td>
+ <td>i></td>
+ <td>Inner inequality sign</td>
+ </tr>
+ <tr>
+ <td>i`</td>
+ <td>Inner back quote</td>
+ <td></td>
+ <td>a<</td>
+ <td>A inequality sign</td>
+ </tr>
+ <tr>
+ <td>a`</td>
+ <td>A back quote</td>
+ <td></td>
+ <td>a></td>
+ <td>A inequality sign</td>
+ </tr>
+ <tr>
+ <td>ib</td>
+ <td>Inner paren</td>
+ <td></td>
+ <td>i[</td>
+ <td>Inner bracket</td>
+ </tr>
+ <tr>
+ <td>i)</td>
+ <td>Inner paren</td>
+ <td></td>
+ <td>I]</td>
+ <td>Inner bracket</td>
+ </tr>
+ <tr>
+ <td>i(</td>
+ <td>Inner paren</td>
+ <td></td>
+ <td>a[</td>
+ <td>A bracket</td>
+ </tr>
+ <tr>
+ <td>ab</td>
+ <td>A paren</td>
+ <td></td>
+ <td>a]</td>
+ <td>A bracket</td>
+ </tr>
+ <tr>
+ <td>iB</td>
+ <td>Inner curly bracket</td>
+ <td></td>
+ <td>i,</td>
+ <td>Inner comma</td>
+ </tr>
+ <tr>
+ <td>o}</td>
+ <td>Inner curly bracket</td>
+ <td></td>
+ <td>a,</td>
+ <td>A comma</td>
+ </tr>
+ </tbody>
+ </table>
+ </section>
+
+ <section id="insertmodecommands" title="Supported insert mode commands">
+ <table>
+ <thead>
+ <tr>
+ <th>Key</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><c-d></td>
+ <td>Unindent</td>
+ </tr>
+ <tr>
+ <td><c-t></td>
+ <td>Indent</td>
+ </tr>
+ <tr>
+ <td><c-e></td>
+ <td>Insert from below</td>
+ </tr>
+ <tr>
+ <td><c-y></td>
+ <td>Insert from above</td>
+ </tr>
+ <tr>
+ <td><c-w></td>
+ <td>Delete word</td>
+ </tr>
+ <tr>
+ <td><c-r>.</td>
+ <td>Insert content of register</td>
+ </tr>
+ <tr>
+ <td><c-o></td>
+ <td>Switch to normal mode for one command</td>
+ </tr>
+ <tr>
+ <td><c-a></td>
+ <td>Increase number under cursor</td>
+ </tr>
+ <tr>
+ <td><c-x></td>
+ <td>Decrease number under cursor</td>
+ </tr>
+ </tbody>
+ </table>
+ </section>
+
+ <section id="insertmodecommands" title="The Comma Text Object">
+
+ This is something that I have been missing in Vim. The comma text object makes it easy to modify parameter lists in C-like languages and other comma separated lists. It is basically the area between two commas or between a comma and a bracket. In the line shown in the illustration to the right, the three ranges this text object can span are highlighted in grey.
+
+ int f(<span style="background-color: #D3D3D3">int arg1,</span><span style="background-color: #D3D3D3"> double arg2</span>, <span style="background-color: #D3D3D3">char arg3</span>);
+
+ comma to Comma text object ranges. If the cursor is over, say, “arg2”, pressing c i , (“change inner comma”) would delete “double arg2” and place the cursor between the two commas in insert mode. A very convenient way to change a function’s parameters.
+
+ </section>
+
+ <related>
+ <ul>
+ <li><link href="rkward://page/rkward_for_r_users"/></li>
+ <li><link href="rkward://page/rkward_shortcuts"/></li>
+ </ul>
+ </related>
+</document>
diff --git a/rkward/pages/rkward_welcome.rkh b/rkward/pages/rkward_welcome.rkh
index 3c7b99a0..bc8aecef 100644
--- a/rkward/pages/rkward_welcome.rkh
+++ b/rkward/pages/rkward_welcome.rkh
@@ -29,7 +29,10 @@
<li><link href="rkward://page/rkward_for_r_users" /></li>
<li><link href="rkward://page/rkward_addons" /></li>
<li><link href="rkward://page/rkward_trouble_shooting" /></li>
+ <li><link href="rkward://page/rkward_shortcuts"/></li>
<li>External links: <link href="https://rkward.kde.org/">project homepage</link></li>
+ <li><link href="rkward://page/rkward_Rmarkdown_cheatsheet">Rmarkdown cheat sheet</link></li>
+ <li><link href="rkward://page/rkward_VI_cheatsheet">VI cheat sheet</link></li>
</ul>
</section>
</document>
More information about the rkward-tracker
mailing list