diff --git a/vimscript.html.markdown b/vimscript.html.markdown
index 8e023713..c2934af8 100644
--- a/vimscript.html.markdown
+++ b/vimscript.html.markdown
@@ -17,9 +17,9 @@ contributors:
" 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-mode
-" (press `:` to enter command-mode), or you can write them to a file (without
-" the leading `:`) and source it in a running Vim instance (`:source
+" 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
@@ -403,9 +403,9 @@ try
catch /Cannot open/
echo 'Looks like that file does not exist'
catch /.*/
- echo 'Something went wrong, but I don't know what'
+ echo 'Something went wrong, but I do not know what'
finally
- echo 'I'm done trying'
+ echo 'I am done trying'
endtry
@@ -481,7 +481,7 @@ endfunction
" 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 result
+" 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
@@ -527,7 +527,7 @@ command! SwapAdjacentLines normal! ddp
" as `-nargs`, all of them start with a dash to set them apart from the command
" name.
-:command -nargs=1 Error echoerr
+command! -nargs=1 Error echoerr
" Defining auto-commands (|40.3|, |autocmd|, |autocommand-events|)
@@ -618,11 +618,18 @@ echo expand('') | " Current word under cursor
echo expand('%:p') | " Modifier are possible
" Type tests
-echo type(my_var) == type(0) | " Number
-echo type(my_var) == type('') | " String
-echo type(my_var) == type([]) | " List
-echo type(my_var) == type({}) | " Dictionary
-echo type(my_var) == type(function('type')) | " Funcref
+" 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)
@@ -635,7 +642,7 @@ echo printf('%d in hexadecimal is %X', 123, 123)
" Source guard
" ############
-" Prevent a file from being source multiple times; users can set the variable
+" 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