zeroclickinfo-goodies/share/goodie/cheat_sheets/json/viml.json

182 lines
5.9 KiB
JSON

{
"id": "viml_cheat_sheet",
"name": "VimL",
"description": "Explanation of commonly used VimL methods",
"metadata": {
"sourceName": "Sourceforge",
"sourceUrl": "http://vimdoc.sourceforge.net/htmldoc/usr_41.html"
},
"aliases": [
"vim language", "vim scripting", "vim script"
],
"template_type": "terminal",
"section_order": [
"Variable Scope",
"Data Types",
"Buffer Interaction",
"String Manipulation",
"I/O",
"List Manipulation",
"Cursor Manipulation"
],
"sections" : {
"Variable Scope" : [
{
"key": "b:var",
"val": "Variable local to buffer"
},
{
"key": "w:var",
"val": "Variable local to window"
},
{
"key": "t:var",
"val": "Variable local to tab"
},
{
"key": "g:var",
"val": "Global variable"
},
{
"key": "l:var",
"val": "Variable local to function"
},
{
"key": "s:var",
"val": "Variable local to script"
},
{
"key": "a:var",
"val": "Variable for function argument"
}
],
"Data Types" : [
{
"key": "'String'",
"val": "String with no keycode expansion"
},
{
"key": "\"\\<Tab>String\"",
"val": "String with keycode expansion"
},
{
"key": "\\{'one': 'een', 'two': 'twee', 'three': 'drie'\\}",
"val": "Dictionary"
},
{
"key": "\\['one', 'two', 'three'\\]",
"val": "List"
}
],
"Buffer Interaction" : [
{
"key": "getbufline(1, 1)",
"val": "Get the line 1 of the first buffer"
},
{
"key": "getline(1)",
"val": "Get the line 1 of the current buffer"
},
{
"key": "setline(1, 'DuckDuckGo')",
"val": "Set the line 1 of the current buffer"
},
{
"key": "append(1, \\['DuckDuckGo', 'https://duckduckgo.com'\\])",
"val": "Append two lines after line 1"
},
{
"key": "search('DuckDuckGo', 'W')",
"val": "Search the current buffer for DuckDuckGo, no wrap around"
}
],
"String Manipulation" : [
{
"key": "printf('%03g', 17)",
"val": "Create a formatted string '017'"
},
{
"key": "expand('%:p')",
"val": "Get the absolute filename of the current buffer"
},
{
"key": "fnameescape('/tmp/name|unsafe.txt')",
"val": "Escape special characters in a filename to use in a vim command"
},
{
"key": "shellescape('string|unsafe')",
"val": "Escape special characters in a string to use in a shell command"
},
{
"key": "substitute('999 abc', '\\d\\+', '\\=submatch(0) + 1', '')",
"val": "Find the first number in a string increment it by one"
},
{
"key": "substitute('999 abc', '\\d\\+', '\\=submatch(0) + 1', '')",
"val": "Find the first number in a string increment it by one"
},
{
"key": "str2nr(\"10\", 10)",
"val": "Converts string into corresponding decimal value"
},
{
"key": "str2nr(\"020\", 8)",
"val": "Converts string into corresponding octal value"
},
{
"key": "str2nr(\"0x10\", 8)",
"val": "Converts string into corresponding hexadecimal value"
}
],
"I/O" : [
{
"key": "system('echo DuckDuckGo')",
"val": "Get the output of the command echo"
},
{
"key": "systemlist('echo DuckDuckGo')",
"val": "Get the output of the command echo as a list of lines"
},
{
"key": "readfile('/tmp/file.txt')",
"val": "Read in a file as a list of lines"
},
{
"key": "writefile(\\['DuckDuckGo', 'https://duckduckgo.com'\\], '/tmp/file.txt')",
"val": "Write two lines to a file"
}
],
"List Manipulation" : [
{
"key": "add(varlist, 3)",
"val": "Add an item to varlist"
},
{
"key": "extend(targetlist, sourcelist)",
"val": "Add items from sourcelist to targetlist"
},
{
"key": "remove(\\[1, 2, 3\\], 1)",
"val": "Remove the second item in the list"
},
{
"key": "join(\\['one', 'two', 'three'\\])",
"val": "Generate a string joining each list item with a space"
},
{
"key": "split('one two three')",
"val": "Split a string at a list, with space as the delimiter"
}
],
"Cursor Manipulation" : [
{
"key": "getpos('.')",
"val": "Get the position of mark . (the cursor)"
},
{
"key": "setpos('.', \\[0, 1, 1, 0\\])",
"val": "Set the position of mark . (the cursor) to line 1, column 1 in the current buffer"
}
]
}
}