vcmd 0.0.2

A tool to generate Vim commands
Documentation
pub fn get_commands() -> Vec<Vec<&'static str>> {
    return vec![
        // Motions
        vec!["h", "Moves left"],
        vec!["j", "Moves down"],
        vec!["k", "Moves up"],
        vec!["l", "Moves right"],
        vec!["H", "Moves to top of screen"],
        vec!["M", "Moves to middle of screen"],
        vec!["L", "Moves to bottom of screen"],
        vec!["w", "Moves to the start of next word"],
        vec!["W", "Moves to the start of next WORD (sequence of non-blank characters)"],
        vec!["e", "Moves to the end of a word"],
        vec!["E", "Moves to the end of a WORD (sequence of non-blank characters)"],
        vec!["b", "Moves backwards to the start of a word"],
        vec!["B", "Moves backwards to the start of a WORD (sequence of non-blank characters)"],
        vec!["ge", "Moves backwards to the end of the previous word"],
        vec!["gE", "Moves backwards to the end of the previous WORD (sequence of non-blank characters"],
        vec!["%", "Move to matching character '()','{}','[]'"],
        vec!["0", "Jump to the beginning of the line"],
        vec!["^", "Jump to the first character of the line"],
        vec!["$", "Jump to the end of the line"],
        vec!["g_", "Jump to the last character of the line"],
        vec!["gg", "Go to the first line of the file"],
        vec!["G", "Go to the last line of the file"],
        vec!["5gg", "Go to line 'x', in this case line 5"],
        vec!["5G", "Go to line 'x', in this case line 5"],
        vec!["gd", "Go to local declaration"],
        vec!["gD", "Go to global declaration"],
        vec!["gD", "Go to global declaration"],
        vec!["fx", "Go to next occurence  character, in this case 'x'"],
        vec!["tx", "Go to before the next occurence of character, in this case 'x'"],
        vec!["Fx", "Go to previous occurence of character, in this case 'x'"],
        vec!["Tx", "Go to before the previous occurence of character, in this case 'x'"],
        vec![";", "Repeat previous 'f', 't', 'F' or 'T' movement"],
        vec![",", "Repeat previous 'f', 't', 'F' or 'T' movement backwards"],
        vec!["}", "Jump to next function/block"],
        vec!["{", "Jump to previous function/block"],
        vec!["zz", "Center cursor on screen"],
        vec!["zt", "Position cursor on top of screen"],
        vec!["zb", "Position cursor on bottom of screen"],
        vec!["Ctrl + e", "Move screen down one line"],
        vec!["Ctrl + y", "Move screen up one line"],
        vec!["Ctrl + f", "Move forward one full page"],
        vec!["Ctrl + b", "Move back one full page"],
        vec!["Ctrl + d", "Move forward half a page"],
        vec!["Ctrl + u", "Move back half a page"],

        // Insert
        vec!["i", "Enters insert mode before the cursor"],
        vec!["I", "Enters insert mode before the first character of the line"],
        vec!["a", "Enters insert mode after the cursor"],
        vec!["A", "Enters insert mode at the end of the line"],
        vec!["o", "Enters insert mode on a newline below the current line"],
        vec!["O", "Enters insert mode on a newline above the current line"],
        vec!["Ctrl + h", "While in insert mode, delete character before the cursor"],
        vec!["Ctrl + w", "While in insert mode, delete the word before the cursor"],
        vec!["Ctrl + j", "While in insert mode, begin newline"],
        vec!["Ctrl + t", "While in insert mode, indent the current line"],
        vec!["Ctrl + d", "While in insert mode, de-indent the current line"],
        vec!["Ctrl + n", "Autocomplete next match before the cursor during insert mode"],
        vec!["Ctrl + p", "Autocomplete previous match before the cursor during insert mode"],

        // Editing
        vec!["r", "Replace the character under the cursor"],
        vec!["R", "Replace more than one character until 'Esc' is pressed"],
        vec!["J", "Join line below with the current line with one space in between"],
        vec!["gJ", "Join line below with the current line keeping indentation"],
        vec!["gwip", "Reflow paragraph"],
        vec!["g~", "Switch case up to next motion"],
        vec!["gu", "Switch to lowercase up to next motion"],
        vec!["gU", "Switch to uppercase up to next motion"],
        vec!["cc", "Change line"],
        vec!["C", "Change to end of line"],
        vec!["ciw", "Change entire word"],
        vec!["s", "Delete character under cursor and enter insert mode"],
        vec!["S", "Delete line and enter insert mode"],
        vec!["u", "Undo"],
        vec!["Ctrl + r", "Redo"],
        vec![".", "Repeat last command"],
    ];
}