1. Steve Losh
  2. learnvimscriptthehardway

Commits

Steve Losh  committed c7cdc10

Proof 52-56.

  • Participants
  • Parent commits 0b93f09
  • Branches default

Comments (0)

Files changed (4)

File chapters/52.markdown

View file
  • Ignore whitespace
 
 Let's take a look at how `PotionCompileAndRunFile()` function works.
 
-!
---------
+Bang!
+-----
 
-The `:!` command in Vim runs external commands and displays their output on the
-screen.  Try it out by running the following command:
+The `:!` command (pronounced "bang") in Vim runs external commands and displays
+their output on the screen.  Try it out by running the following command:
 
     :::vim
     :!ls
 Type a few lines and you'll see that the `cat` command spits them back out, just
 as it normally would if you ran `cat` outside of Vim.  Use Ctrl-D to finish.
 
-To run an external command without the "Press ENTER or type command to continue"
+To run an external command without the `Press ENTER or type command to continue`
 prompt, use `:silent !`.  Run the following command:
 
     :::vim
     :silent !echo Hello, world.
 
-If you run this in a GUI Vim like MacVim or gVim, you won't see the "Hello,
-world." output of the command.
+If you run this in a GUI Vim like MacVim or gVim, you won't see the `Hello,
+world.` output of the command.
 
 If you run it in a terminal Vim, your results may vary depending on your
 configuration.  You may need to run `:redraw!` to fix your screen after running
     endfunction
 
 First we run a `silent !clear` command, which should clear the screen without
-a "Press ENTER..." prompt.  This will make sure we only see the output of this
+a `Press ENTER...` prompt.  This will make sure we only see the output of this
 run, which is helpful when you're running the same commands over and over.
 
 The next line uses our old friend `execute` to build a command dynamically.  The
     :::vim
     :echom system("wc -c", "abcdefg")
 
-Vim will display "7" (with some padding).  If you pass a second argument like
+Vim will display `7` (with some padding).  If you pass a second argument like
 this, Vim will write it to a temporary file and pipe it into the command on
 standard input.  For our purposes we won't need this, but it's good to know.
 
 
 `vsplit` creates a new vertical split for a buffer named `__Potion_Bytecode__`.
 We surround the name with underscores to make it clearer to the user that this
-isn't a normal file -- it's a buffer just to hold the output.
+isn't a normal file (it's a buffer just to hold the output).  The underscores
+aren't special, they're just a convention.
 
 Next we delete everything in this buffer with `normal! ggdG`.  The first time
 the mapping is run this won't do anything, but subsequent times we'll be reusing

File chapters/53.markdown

View file
  • Ignore whitespace
 Save the files, close Vim, and open up your `factorial.pn` file.  Try using the
 mappings to make sure they still work properly.
 
-Make sure that you see the diagnostic "Autoloading..." message only the first
+Make sure that you see the diagnostic `Autoloading...` message only the first
 time you run one of the mappings (you may need to use `:messages` to see it).
 Once you confirm that autoloading is working properly you can remove that
 message.

File chapters/54.markdown

View file
  • Ignore whitespace
 
 Next you should put the title of your plugin along with a longer description.
 Some authors (including me) like to have a bit of fun with this and use some
-ASCII-art to spice things up.  Add a nice title section to the `potion.txt`
+ASCII art to spice things up.  Add a nice title section to the `potion.txt`
 file:
 
     :::text
             Includes syntax highlighting, code folding, and more!
 
 I got those fun letters by running the `figlet -f ogre "Potion"` command.
-[Figlet][] is a great little program for generating ASCII-art text.  The `~`
+[Figlet][] is a great little program for generating ASCII art text.  The `~`
 characters at the end of the lines ensure that Vim doesn't try to highlight or
 hide individual characters inside the art.
 
     :::vim
     " "Uppercase word" mapping.
     "
-    " This mapping allows you to press <c-u> in insert mode to convert the current
-    " word to uppercase.  It's handy when you're writing names of constants and
-    " don't want to use Capslock.
+    " This mapping allows you to press <c-u> in insert mode to convert the
+    " current word to uppercase.  It's handy when you're writing names of
+    " constants and don't want to use Capslock.
     "
-    " To use it you type the name of the constant in lowercase.  While your
-    " cursor is at the end of the word, press <c-u> to uppercase it, and then
-    " continue happily on your way:
+    " To use it you type the name of the constant in lowercase.  While
+    " your cursor is at the end of the word, press <c-u> to uppercase it,
+    " and then continue happily on your way:
     "
     "                            cursor
     "                            v
     "                            ^
     "                            cursor
     "
-    " It works by exiting out of insert mode, recording the current cursor location
-    " in the z mark, using gUiw to uppercase inside the current word, moving back to
-    " the z mark, and entering insert mode again.
+    " It works by exiting out of insert mode, recording the current cursor
+    " location in the z mark, using gUiw to uppercase inside the current
+    " word, moving back to the z mark, and entering insert mode again.
     "
-    " Note that this will overwrite the contents of the z mark.  I never use it, but
-    " if you do you'll probably want to use another mark.
+    " Note that this will overwrite the contents of the z mark.  I never
+    " use it, but if you do you'll probably want to use another mark.
     inoremap <C-u> <esc>mzgUiw`za
 
 It's much shorter than the documentation for a full plugin, but it's a good
 Read `:help help-writing` for help about writing help.
 
 Read `:help :left`, `:help :right`, and `:help :center` to learn about three
-useful commands for getting your ASCII-art perfect.
+useful commands for getting your ASCII art perfect.
+

File chapters/56.markdown

View file
  • Ignore whitespace
 
 If you're interested in this you can dive in by reading through `:help
 quickfix.txt` in its entirety.  However, I will warn you now that `errorformat`
-is *not* for the faint of heart.
+is *not* for the faint of heart!
 
 Other Languages
 ---------------