summaryrefslogtreecommitdiff
path: root/.config/nvim/other
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/other')
-rw-r--r--.config/nvim/other/fzf.vim19
-rw-r--r--.config/nvim/other/learn.vim649
-rw-r--r--.config/nvim/other/out.vim36
3 files changed, 0 insertions, 704 deletions
diff --git a/.config/nvim/other/fzf.vim b/.config/nvim/other/fzf.vim
deleted file mode 100644
index 371b680..0000000
--- a/.config/nvim/other/fzf.vim
+++ /dev/null
@@ -1,19 +0,0 @@
-" --> Fzf
-let g:fzf_layout = { 'window': { 'width': 1, 'height': 1 } }
-command! -bang -nargs=? -complete=dir Files
- \ call fzf#vim#files(<q-args>, {'options': ['--info=inline', '--preview', 'preview {}']}, <bang>0)
-
-" Mapping selecting mappings
-nmap <leader><tab> <plug>(fzf-maps-n)
-xmap <leader><tab> <plug>(fzf-maps-x)
-omap <leader><tab> <plug>(fzf-maps-o)
-
-" Insert mode completion
-imap <c-x><c-k> <plug>(fzf-complete-word)
-imap <c-x><c-f> <plug>(fzf-complete-path)
-imap <c-x><c-l> <plug>(fzf-complete-line)
-
-" Fzf keybindings
-nnoremap <leader>ff :Files<CR>
-nnoremap <leader>f. :Files %:p:h<CR>
-
diff --git a/.config/nvim/other/learn.vim b/.config/nvim/other/learn.vim
deleted file mode 100644
index c3272d9..0000000
--- a/.config/nvim/other/learn.vim
+++ /dev/null
@@ -1,649 +0,0 @@
-" ##############
-" Introduction
-" ##############
-"
-" Vim script (also called VimL) is the subset of Vim's ex-commands which
-" supplies a number of features one would expect from a scripting language,
-" such as values, variables, functions or loops. Always keep in the back of
-" your mind that a Vim script file is just a sequence of ex-commands. It is
-" very common for a script to mix programming-language features and raw
-" ex-commands.
-"
-" You can run Vim script directly by entering the commands in command-line mode
-" (press `:` to enter command-line mode), or you can write them to a file
-" (without the leading `:`) and source it in a running Vim instance (`:source
-" path/to/file`). Some files are sourced automatically as part of your
-" configuration (see |startup|). This guide assumes that you are familiar
-" with ex-commands and will only cover the scripting. Help topics to the
-" relevant manual sections are included.
-"
-" See |usr_41.txt| for the official introduction to Vim script. A comment is
-" anything following an unmatched `"` until the end of the line, and `|`
-" separates instructions (what `;` does in most other languages). References to
-" the manual as surrounded with `|`, such as |help.txt|.
-
-" This is a comment
-
-" The vertical line '|' (pipe) separates commands
-echo 'Hello' | echo 'world!'
-
-" Putting a comment after a command usually works
-pwd " Displays the current working directory
-
-" Except for some commands it does not; use the command delimiter before the
-" comment (echo assumes that the quotation mark begins a string)
-echo 'Hello world!' | " Displays a message
-
-" Line breaks can be escaped by placing a backslash as the first non-whitespace
-" character on the *following* line. Only works in script files, not on the
-" command line
-echo " Hello
- \ world "
-
-echo [1,
- \ 2]
-
-echo {
- \ 'a': 1,
- \ 'b': 2
-\}
-
-
-" #######
-" Types
-" #######
-"
-" For an overview of types see |E712|. For an overview of operators see
-" |expression-syntax|
-
-" Numbers (|expr-number|)
-" #######
-
-echo 123 | " Decimal
-echo 0b1111011 | " Binary
-echo 0173 | " Octal
-echo 0x7B | " Hexadecimal
-echo 123.0 | " Floating-point
-echo 1.23e2 | " Floating-point (scientific notation)
-
-" Note that an *integer* number with a leading `0` is in octal notation. The
-" usual arithmetic operations are supported.
-
-echo 1 + 2 | " Addition
-echo 1 - 2 | " Subtraction
-echo - 1 | " Negation (unary minus)
-echo + 1 | " Unary plus (does nothing really, but still legal)
-echo 1 * 2 | " Multiplication
-echo 1 / 2 | " Division
-echo 1 % 2 | " Modulo (remainder)
-
-" Booleans (|Boolean|)
-" ########
-"
-" The number 0 is false, every other number is true. Strings are implicitly
-" converted to numbers (see below). There are two pre-defined semantic
-" constants.
-
-echo v:true | " Evaluates to 1 or the string 'v:true'
-echo v:false | " Evaluates to 0 or the string 'v:false'
-
-" Boolean values can result from comparison of two objects.
-
-echo x == y | " Equality by value
-echo x != y | " Inequality
-echo x > y | " Greater than
-echo x >= y | " Greater than or equal
-echo x < y | " Smaller than
-echo x <= y | " Smaller than or equal
-echo x is y | " Instance identity (lists and dictionaries)
-echo x isnot y | " Instance non-identity (lists and dictionaries)
-
-" Strings are compared based on their alphanumerical ordering
-" echo 'a' < 'b'. Case sensitivity depends on the setting of 'ignorecase'
-"
-" Explicit case-sensitivity is specified by appending '#' (match case) or '?'
-" (ignore case) to the operator. Prefer explicitly case sensitivity when writing
-" portable scripts.
-
-echo 'a' < 'B' | " True or false depending on 'ignorecase'
-echo 'a' <? 'B' | " True
-echo 'a' <# 'B' | " False
-
-" Regular expression matching
-echo "hi" =~ "hello" | " Regular expression match, uses 'ignorecase'
-echo "hi" =~# "hello" | " Regular expression match, case sensitive
-echo "hi" =~? "hello" | " Regular expression match, case insensitive
-echo "hi" !~ "hello" | " Regular expression unmatch, use 'ignorecase'
-echo "hi" !~# "hello" | " Regular expression unmatch, case sensitive
-echo "hi" !~? "hello" | " Regular expression unmatch, case insensitive
-
-" Boolean operations are possible.
-
-echo v:true && v:false | " Logical AND
-echo v:true || v:false | " Logical OR
-echo ! v:true | " Logical NOT
-echo v:true ? 'yes' : 'no' | " Ternary operator
-
-
-" Strings (|String|)
-" #######
-"
-" An ordered zero-indexed sequence of bytes. The encoding of text into bytes
-" depends on the option |'encoding'|.
-
-" Literal constructors
-echo "Hello world\n" | " The last two characters stand for newline
-echo 'Hello world\n' | " The last two characters are literal
-echo 'Let''s go!' | " Two single quotes become one quote character
-
-" Single-quote strings take all characters are literal, except two single
-" quotes, which are taken to be a single quote in the string itself. See
-" |expr-quote| for all possible escape sequences.
-
-" String concatenation
-" The .. operator is preferred, but only supported in since Vim 8.1.1114
-echo 'Hello ' . 'world' | " String concatenation
-echo 'Hello ' .. 'world' | " String concatenation (new variant)
-
-" String indexing
-echo 'Hello'[0] | " First byte
-echo 'Hello'[1] | " Second byte
-echo 'Hellö'[4] | " Returns a byte, not the character 'ö'
-
-" Substrings (second index is inclusive)
-echo 'Hello'[:] | " Copy of entire string
-echo 'Hello'[1:3] | " Substring, second to fourth byte
-echo 'Hello'[1:-2] | " Substring until second to last byte
-echo 'Hello'[1:] | " Substring with starting index
-echo 'Hello'[:2] | " Substring with ending index
-echo 'Hello'[-2:] | " Substring relative to end of string
-
-" A negative index is relative to the end of the string. See
-" |string-functions| for all string-related functions.
-
-" Lists (|List|)
-" #####
-"
-" An ordered zero-indexed heterogeneous sequence of arbitrary Vim script
-" objects.
-
-" Literal constructor
-echo [] | " Empty list
-echo [1, 2, 'Hello'] | " List with elements
-echo [1, 2, 'Hello', ] | " Trailing comma permitted
-echo [[1, 2], 'Hello'] | " Lists can be nested arbitrarily
-
-" List concatenation
-echo [1, 2] + [3, 4] | " Creates a new list
-
-" List indexing, negative is relative to end of list (|list-index|)
-echo [1, 2, 3, 4][2] | " Third element
-echo [1, 2, 3, 4][-1] | " Last element
-
-" List slicing (|sublist|)
-echo [1, 2, 3, 4][:] | " Shallow copy of entire list
-echo [1, 2, 3, 4][:2] | " Sublist until third item (inclusive)
-echo [1, 2, 3, 4][2:] | " Sublist from third item (inclusive)
-echo [1, 2, 3, 4][:-2] | " Sublist until second-to-last item (inclusive)
-
-" All slicing operations create new lists. To modify a list in-place use list
-" functions (|list-functions|) or assign directly to an item (see below about
-" variables).
-
-
-" Dictionaries (|Dictionary|)
-" ############
-"
-" An unordered sequence of key-value pairs, keys are always strings (numbers
-" are implicitly converted to strings).
-
-" Dictionary literal
-echo {} | " Empty dictionary
-echo {'a': 1, 'b': 2} | " Dictionary literal
-echo {'a': 1, 'b': 2, } | " Trailing comma permitted
-echo {'x': {'a': 1, 'b': 2}} | " Nested dictionary
-
-" Indexing a dictionary
-echo {'a': 1, 'b': 2}['a'] | " Literal index
-echo {'a': 1, 'b': 2}.a | " Syntactic sugar for simple keys
-
-" See |dict-functions| for dictionary manipulation functions.
-
-
-" Funcref (|Funcref|)
-" #######
-"
-" Reference to a function, uses the function name as a string for construction.
-" When stored in a variable the name of the variable has the same restrictions
-" as a function name (see below).
-
-echo function('type') | " Reference to function type()
-" Note that `funcref('type')` will throw an error because the argument must be
-" a user-defined function; see further below for defining your own functions.
-echo funcref('type') | " Reference by identity, not name
-" A lambda (|lambda|) is an anonymous function; it can only contain one
-" expression in its body, which is also its implicit return value.
-echo {x -> x * x} | " Anonymous function
-echo function('substitute', ['hello']) | " Partial function
-
-
-" Regular expression (|regular-expression|)
-" ##################
-"
-" A regular expression pattern is generally a string, but in some cases you can
-" also use a regular expression between a pair of delimiters (usually `/`, but
-" you can choose anything).
-
-" Substitute 'hello' for 'Hello'
-substitute/hello/Hello/
-
-
-" ###########################
-" Implicit type conversions
-" ###########################
-"
-" Strings are converted to numbers, and numbers to strings when necessary. A
-" number becomes its decimal notation as a string. A string becomes its
-" numerical value if it can be parsed to a number, otherwise it becomes zero.
-
-echo "1" + 1 | " Number
-echo "1" .. 1 | " String
-echo "0xA" + 1 | " Number
-
-" Strings are treated like numbers when used as booleans
-echo "true" ? 1 : 0 | " This string is parsed to 0, which is false
-
-" ###########
-" Variables
-" ###########
-"
-" Variables are bound within a scope; if no scope is provided a default is
-" chosen by Vim. Use `:let` and `:const` to bind a value and `:unlet` to unbind
-" it.
-
-let b:my_var = 1 | " Local to current buffer
-let w:my_var = 1 | " Local to current window
-let t:my_var = 1 | " Local to current tab page
-let g:my_var = 1 | " Global variable
-let l:my_var = 1 | " Local to current function (see functions below)
-let s:my_var = 1 | " Local to current script file
-let a:my_arg = 1 | " Function argument (see functions below)
-
-" The Vim scope is read-only
-echo v:true | " Special built-in Vim variables (|v:var|)
-
-" Access special Vim memory like variables
-let @a = 'Hello' | " Register
-let $PATH='' | " Environment variable
-let &textwidth = 79 | " Option
-let &l:textwidth = 79 | " Local option
-let &g:textwidth = 79 | " Global option
-
-" Access scopes as dictionaries (can be modified like all dictionaries)
-" See the |dict-functions|, especially |get()|, for access and manipulation
-echo b: | " All buffer variables
-echo w: | " All window variables
-echo t: | " All tab page variables
-echo g: | " All global variables
-echo l: | " All local variables
-echo s: | " All script variables
-echo a: | " All function arguments
-echo v: | " All Vim variables
-
-" Constant variables
-const x = 10 | " See |:const|, |:lockvar|
-
-" Function reference variables have the same restrictions as function names
-let IsString = {x -> type(x) == type('')} | " Global: capital letter
-let s:isNumber = {x -> type(x) == type(0)} | " Local: any name allowed
-
-" When omitted the scope `g:` is implied, except in functions, there `l:` is
-" implied.
-
-
-" Multiple value binding (list unpacking)
-" #######################################
-"
-" Assign values of list to multiple variables (number of items must match)
-let [x, y] = [1, 2]
-
-" Assign the remainder to a rest variable (note the semicolon)
-let [mother, father; children] = ['Alice', 'Bob', 'Carol', 'Dennis', 'Emily']
-
-
-" ##############
-" Flow control
-" ##############
-
-" Conditional (|:if|, |:elseif|, |:else|, |:endif|)
-" ###########
-"
-" Conditions are set between `if` and `endif`. They can be nested.
-
-let condition = v:true
-
-if condition
- echo 'First condition'
-elseif another_condition
- echo 'Second condition'
-else
- echo 'Fail'
-endif
-
-" Loops (|:for|, |:endfor|, |:while|, |:endwhile|, |:break|, |:continue|)
-" #####
-"
-" Two types of loops: `:for` and `:while`. Use `:continue` to skip to the next
-" iteration, `:break` to break out of the loop.
-
-" For-loop (|:for|, |:endfor|)
-" ========
-"
-" For-loops iterate over lists and nothing else. If you want to iterate over
-" another sequence you need to use a function which will create a list.
-
-" Iterate over a list
-for person in ['Alice', 'Bob', 'Carol', 'Dennis', 'Emily']
- echo 'Hello ' .. person
-endfor
-
-" Iterate over a nested list by unpacking it
-for [x, y] in [[1, 0], [0, 1], [-1, 0], [0, -1]]
- echo 'Position: x =' .. x .. ', y = ' .. y
-endfor
-
-" Iterate over a range of numbers
-for i in range(10, 0, -1) " Count down from 10
- echo 'T minus' .. i
-endfor
-
-" Iterate over the keys of a dictionary
-for symbol in keys({'π': 3.14, 'e': 2.71})
- echo 'The constant ' .. symbol .. ' is a transcendent number'
-endfor
-
-" Iterate over the values of a dictionary
-for value in values({'π': 3.14, 'e': 2.71})
- echo 'The value ' .. value .. ' approximates a transcendent number'
-endfor
-
-" Iterate over the keys and values of a dictionary
-for [symbol, value] in items({'π': 3.14, 'e': 2.71})
- echo 'The number ' .. symbol .. ' is approximately ' .. value
-endfor
-
-" While-loops (|:while|, |:endwhile|)
-
-let there_yet = v:true
-while !there_yet
- echo 'Are we there yet?'
-endwhile
-
-
-" Exception handling (|exception-handling|)
-" ##################
-"
-" Throw new exceptions as strings, catch them by pattern-matching a regular
-" expression against the string
-
-" Throw new exception
-throw "Wrong arguments"
-
-" Guard against an exception (the second catch matches any exception)
-try
- source path/to/file
-catch /Cannot open/
- echo 'Looks like that file does not exist'
-catch /.*/
- echo 'Something went wrong, but I do not know what'
-finally
- echo 'I am done trying'
-endtry
-
-
-" ##########
-" Functions
-" ##########
-
-" Defining functions (|:function|, |:endfunction|)
-" ##################
-
-" Unscoped function names have to start with a capital letter
-function! AddNumbersLoudly(x, y)
- " Use a: scope to access arguments
- echo 'Adding' .. a:x .. 'and' .. a:y | " A side effect
- return a:x + a:y | " A return value
-endfunction
-
-" Scoped function names may start with a lower-case letter
-function! s:addNumbersLoudly(x, y)
- echo 'Adding' .. a:x .. 'and' .. a:y
- return a:x + a:y
-endfunction
-
-" Without the exclamation mark it would be an error to re-define a function,
-" with the exclamation mark the new definition can replace the old one. Since
-" Vim script files can be reloaded several times over the course of a session
-" it is best to use the exclamation mark unless you really know what you are
-" doing.
-
-" Function definitions can have special qualifiers following the argument list.
-
-" Range functions define two implicit arguments, which will be set to the range
-" of the ex-command
-function! FirstAndLastLine() range
- echo [a:firstline, a:lastline]
-endfunction
-
-" Prints the first and last line that match a pattern (|cmdline-ranges|)
-/^#!/,/!#$/call FirstAndLastLine()
-
-" Aborting functions, abort once error occurs (|:func-abort|)
-function! SourceMyFile() abort
- source my-file.vim | " Try sourcing non-existing file
- echo 'This will never be printed'
-endfunction
-
-" Closures, functions carrying values from outer scope (|:func-closure|)
-function! MakeAdder(x)
- function! Adder(n) closure
- return a:n + a:x
- endfunction
- return funcref('Adder')
-endfunction
-let AddFive = MakeAdder(5)
-echo AddFive(3) | " Prints 8
-
-" Dictionary functions, poor man's OOP methods (|Dictionary-function|)
-function! Mylen() dict
- return len(self.data) | " Implicit variable self
-endfunction
-let mydict = {'data': [0, 1, 2, 3], 'len': function("Mylen")}
-echo mydict.len()
-
-" Alternatively, more concise
-let mydict = {'data': [0, 1, 2, 3]}
-function! mydict.len()
- return len(self.data)
-endfunction
-
-" Calling functions (|:call|)
-" #################
-
-" Call a function for its return value, and possibly for its side effects
-let animals = keys({'cow': 'moo', 'dog': 'woof', 'cat': 'meow'})
-
-" Call a function for its side effects only, ignore potential return value
-call sign_undefine()
-
-" The call() function calls a function reference and passes parameters as a
-" list, and returns the function's result.
-echo call(function('get'), [{'a': 1, 'b': 2}, 'c', 3]) | " Prints 3
-
-" Recall that Vim script is embedded within the ex-commands, that is why we
-" cannot just call a function directly, we have to use the `:call` ex-command.
-
-" Function namespaces (|write-library-script|, |autoload|)
-" ###################
-
-" Must be defined in autoload/foo/bar.vim
-" Namspaced function names do not have to start with a capital letter
-function! foo#bar#log(value)
- echomsg value
-endfunction
-
-call foo#bar#log('Hello')
-
-
-" #############################
-" Frequently used ex-commands
-" #############################
-
-
-" Sourcing runtime files (|'runtimepath'|)
-" ######################
-
-" Source first match among runtime paths
-runtime plugin/my-plugin.vim
-
-
-" Defining new ex-commands (|40.2|, |:command|)
-" ########################
-
-" First argument here is the name of the command, rest is the command body
-command! SwapAdjacentLines normal! ddp
-
-" The exclamation mark works the same as with `:function`. User-defined
-" commands must start with a capital letter. The `:command` command can take a
-" number of attributes (some of which have their own parameters with `=`), such
-" as `-nargs`, all of them start with a dash to set them apart from the command
-" name.
-
-command! -nargs=1 Error echoerr <args>
-
-
-" Defining auto-commands (|40.3|, |autocmd|, |autocommand-events|)
-" ######################
-
-" The arguments are "events", "patterns", rest is "commands"
-autocmd BufWritePost $MYVIMRC source $MYVIMRC
-
-" Events and patterns are separated by commas with no space between. See
-" |autocmd-events| for standard events, |User| for custom events. Everything
-" else are the ex-commands which will be executed.
-
-" Auto groups
-" ===========
-"
-" When a file is sourced multiple times the auto-commands are defined anew,
-" without deleting the old ones, causing auto-commands to pile up over time.
-" Use auto-groups and the following ritual to guard against this.
-
-augroup auto-source | " The name of the group is arbitrary
- autocmd! | " Deletes all auto-commands in the current group
- autocmd BufWritePost $MYVIMRC source $MYVIMRC
-augroup END | " Switch back to default auto-group
-
-" It is also possible to assign a group directly. This is useful if the
-" definition of the group is in one script and the definition of the
-" auto-command is in another script.
-
-" In one file
-augroup auto-source
- autocmd!
-augroup END
-
-" In another file
-autocmd auto-source BufWritePost $MYVIMRC source $MYVIMRC
-
-" Executing (run-time macros of sorts)
-" ####################################
-
-" Sometimes we need to construct an ex-command where part of the command is not
-" known until runtime.
-
-let line = 3 | " Line number determined at runtime
-execute line .. 'delete' | " Delete a line
-
-" Executing normal-mode commands
-" ##############################
-"
-" Use `:normal` to play back a sequence of normal mode commands from the
-" command-line. Add an exclamation mark to ignore user mappings.
-
-normal! ggddGp | " Transplant first line to end of buffer
-
-" Window commands can be used with :normal, or with :wincmd if :normal would
-" not work
-wincmd L | " Move current window all the way to the right
-
-
-" ###########################
-" Frequently used functions
-" ###########################
-
-" Feature check
-echo has('nvim') | " Running Neovim
-echo has('python3') | " Support for Python 3 plugins
-echo has('unix') | " Running on a Unix system
-echo has('win32') | " Running on a Windows system
-
-
-" Test if something exists
-echo exists('&mouse') | " Option (exists only)
-echo exists('+mouse') | " Option (exists and works)
-echo exists('$HOSTNAME') | " Environment variable
-echo exists('*strftime') | " Built-in function
-echo exists('**s:MyFunc') | " User-defined function
-echo exists('bufcount') | " Variable (scope optional)
-echo exists('my_dict["foo"]') | " Variable (dictionary entry)
-echo exists('my_dict["foo"]') | " Variable (dictionary entry)
-echo exists(':Make') | " Command
-echo exists("#CursorHold") | " Auto-command defined for event
-echo exists("#BufReadPre#*.gz") | " Event and pattern
-echo exists("#filetypeindent") | " Auto-command group
-echo exists("##ColorScheme") | " Auto-command supported for event
-
-" Various dynamic values (see |expand()|)
-echo expand('%') | " Current file name
-echo expand('<cword>') | " Current word under cursor
-echo expand('%:p') | " Modifier are possible
-
-" Type tests
-" There are unique constants defined for the following types. Older versions
-" of Vim lack the type variables, see the reference " documentation for a
-" workaround
-echo type(my_var) == v:t_number | " Number
-echo type(my_var) == v:t_string | " String
-echo type(my_var) == v:t_func | " Funcref
-echo type(my_var) == v:t_list | " List
-echo type(my_var) == v:t_dict | " Dictionary
-echo type(my_var) == v:t_float | " Float
-echo type(my_var) == v:t_bool | " Explicit Boolean
-" For the null object should compare it against itself
-echo my_var is v:null
-
-" Format strings
-echo printf('%d in hexadecimal is %X', 123, 123)
-
-
-" #####################
-" Tricks of the trade
-" #####################
-
-" Source guard
-" ############
-
-" Prevent a file from being sourced multiple times; users can set the variable
-" in their configuration to prevent the plugin from loading at all.
-if exists('g:loaded_my_plugin')
- finish
-endif
-let g:loaded_my_plugin = v:true
-
-" Default values
-" ##############
-
-" Get a default value: if the user defines a variable use it, otherwise use a
-" hard-coded default. Uses the fact that a scope is also a dictionary.
-let s:greeting = get(g:, 'my_plugin_greeting', 'Hello')
diff --git a/.config/nvim/other/out.vim b/.config/nvim/other/out.vim
deleted file mode 100644
index 6e4e1f1..0000000
--- a/.config/nvim/other/out.vim
+++ /dev/null
@@ -1,36 +0,0 @@
-" capture (dump) the (somewhat long) ouput of the commands like `:digraph`, `:map', `:highlight`, `:scripnames` etc.
-
-function! s:dump(cmd) abort
-
- " Start a new split or maybe a buffer or a tab
- " enew | " open a new buffer
- 10split | enew | " open a new split (with 10% height (?))
- " tabnew | " open a new tab
-
- " Make it a scratch buffer ( `:help special-buffers`)
- setlocal
- \ bufhidden=wipe
- \ buftype=nofile
- \ nobuflisted
- \ nolist
- \ noswapfile
- \ norelativenumber
- \ nonumber
-
- " Write the cmd output to the buffer
- put =execute(a:cmd)
- " There are 2 empty line at the beginning of the buffer before the ouput of
- " the cmd. Not sure from where they are comning from. Anyhow I will delete
- " them.
- norm gg2dd
-
- " No modifications to this buffer
- setlocal readonly nomodifiable nomodified
-
- " Press escape to close when you're done
- nnoremap <buffer><silent> <Esc> :bd<CR>
-
-endfunction
-
-" Define a command to use the function easier
-command! -nargs=1 Dump execute "call s:dump(" string(<q-args>) ")"