aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenny Ballou <kballou@devnulllabs.io>2018-01-31 17:11:49 -0700
committerKenny Ballou <kballou@devnulllabs.io>2018-08-19 08:13:47 -0600
commitf72f986c2d61e2027c221498a4ce82b4579157c4 (patch)
tree229797cb934ae843903ed0ac8b9fd5fda087fce2
parentbb50d766f7a866538961bca7ed262375a0e3ffd0 (diff)
downloadblog.kennyballou.com-f72f986c2d61e2027c221498a4ce82b4579157c4.tar.gz
blog.kennyballou.com-f72f986c2d61e2027c221498a4ce82b4579157c4.tar.xz
vim-tips-2015-05-07 post conversion
-rw-r--r--content/blog/vim_tips_2015_05_07.markdown141
-rw-r--r--posts/vim-tips-2015-05-07.org166
2 files changed, 166 insertions, 141 deletions
diff --git a/content/blog/vim_tips_2015_05_07.markdown b/content/blog/vim_tips_2015_05_07.markdown
deleted file mode 100644
index a00c2b6..0000000
--- a/content/blog/vim_tips_2015_05_07.markdown
+++ /dev/null
@@ -1,141 +0,0 @@
----
-title: "Vim Tips 2015-05-07"
-description: "Vim Tips: Visual Mode and Macros"
-tags:
- - "Vim"
- - "Tips and Tricks"
- - "Editors"
-date: "2015-05-07"
-categories:
- - "Development"
- - "Editors"
- - "Tools"
-slug: "vim-tips-2015-05-7"
----
-
-Many Vim users may have, accidentally or not, discovered the dot (`.`) command
-in Vim. It's a main stay for a lot of Vim users and is clearly one of those
-actions that should be in more editors. Except when it is the wrong action for
-the job.
-
-More often than not, the visual selection mode and one-off macros are a better
-choice.
-
-## Visual Mode ##
-
-I won't go into all of the cool things that can be accomplished with Vim's
-visual mode, but I will showcase a few examples where the visual editor is
-clearly a better choice than the dot (`.`).
-
-Visual mode offers, in essence, a multi-line cursor for which you can do a lot
-of changes, quickly.
-
-### Visual Mode Basics ###
-
-To enter visual mode, it is as simple as pressing `^v` or `ctrl-v`. Next you
-will want to select what you want to change with your typical movement commands
-(`h`, `j`, `k`, `l`, and of course `w`, `e` and all the rest). Finally, you
-finish with the action: `I` if you want to insert before the selection, `A` if
-you want to append after the selection, `C` if you want to change the
-selection, and `d`, `D`, `x` if you want to remove the selection, just to name
-a few.
-
-### Some Examples ###
-
-For (a bad) example, if you need to comment out a contiguous set of lines, you
-can easily accomplish this with the visual mode.
-
-{{< video "/media/videos/comment.ogg" "video/ogg" 600 400 >}}
-
-A related example to prefixing is indentation changes, I often use the visual
-mode to fix code indentation when changing block-level indentation or when
-copying code into a markdown file.
-
-{{< video "/media/videos/indent.ogg" "video/ogg" 600 400 >}}
-
-As another example, if you need to change a single word in multiple columns,
-visual mode will make easy work of this (especially when the columns are
-aligned, if not see macros below or [substitution ranges][2] from the previous
-tip).
-
-{{< video "/media/videos/cw.ogg" "video/ogg" 600 400 >}}
-
-For more information on Visual Mode, you can check Vim's [visual][1] help
-document.
-
-## Macros ##
-
-For when visual mode may not be enough or when the change is repetitive in
-operations but not in columns or what have you, it's time to bust out the
-macros. Vim macros are easily available for use you can use all the registers
-to record and store each macro.
-
-### Macro Basics ###
-
-To record a macro, it's as simple as `q<register-label><commands>q`. That is,
-press `q`, select a register (a-z1-0), enter your commands as if you were using
-Vim normally, and finally `q` again to finish. Once your macro is recorded, you
-can use it with `@<register-label>`. And, like most Vim commands, you can
-attach a repetition to it: `<n>@<register-label>` where `<n>` is the number of
-times to repeat the command.
-
-You can also replay the last macro with `@@`.
-
-### Some Examples ###
-
-As a simplistic example, we can use a macro to convert it into, say, JSON (this
-example is clearly taken from the [Vim Wikia][3]).
-
-Let's say we have the following data:
-
- one first example
- two second example
- three third example
- four fourth example
-
-And we want to change it to the following:
-
- data = {
- 'one': 'first example',
- 'two': 'second example',
- 'three': 'third example',
- 'four': 'fourth example',
- }
-
-We can do this by performing the following:
-
-First, we want to start recording our macro. While the cursor is under the 'o'
-of 'one', we will press `qd` to record our macro to the `d` register.
-
-Next, we will want to change the tabbing by performing a substitution:
-
- :s/\s\+/': '
-
-Then, we will insert our first tick with:
-
- I'
-
-And append the last tick and comma with:
-
- A',
-
-Before we finish recording, one of the more important operations of making
-macros repeatable is moving the cursor to the next line and putting it into the
-correct position for the next execution. Therefore, move the cursor the begging
-of the line and move down one line:
-
- 0j
-
-Finally, press `q` to finish recording.
-
-We should now be able to press `3@d` and watch as the rest of the lines change.
-
-To finish up the example, we'll manually enter `data = {` and the tailing `}`.
-
-{{< video "/media/videos/macros.ogg" "video/ogg" 600 400 >}}
-
-[1]: http://vimdoc.sourceforge.net/htmldoc/visual.html
-
-[2]: https://kennyballou.com/blog/2015/03/vim-tips-2015-03-17/
-
-[3]: http://vim.wikia.com/wiki/Macros
diff --git a/posts/vim-tips-2015-05-07.org b/posts/vim-tips-2015-05-07.org
new file mode 100644
index 0000000..8029dcd
--- /dev/null
+++ b/posts/vim-tips-2015-05-07.org
@@ -0,0 +1,166 @@
+#+TITLE: Vim Tips 2015-05-07
+#+DESCRIPTION: Vim Tips: Visual Mode and Macros
+#+TAGS: Vim
+#+TAGS: Tips and Tricks
+#+TAGS: Editors
+#+DATE: 2015-05-17
+#+SLUG: vim-tips-2015-05-7
+#+LINK: kb-vim-tips-2015-03-17 https://kennyballou.com/blog/2015/03/vim-tips-2015-03-17/
+#+LINK: vimdoc-visual http://vimdoc.sourceforge.net/htmldoc/visual.html
+#+LINK: vim-wikia-macros http://vim.wikia.com/wiki/Macros
+
+#+BEGIN_PREVIEW
+Many Vim users may have, accidentally or not, discovered the dot (~.~) command
+in Vim. It's a main stay for a lot of Vim users and is clearly one of those
+actions that should be in more editors. Except when it is the wrong action for
+the job.
+#+END_PREVIEW
+
+More often than not, the visual selection mode and one-off macros are a better
+choice.
+
+** Visual Mode
+
+I won't go into all of the cool things that can be accomplished with Vim's
+visual mode, but I will showcase a few examples where the visual editor is
+clearly a better choice than the dot (~.~).
+
+Visual mode offers, in essence, a multi-line cursor for which you can do a lot
+of changes, quickly.
+
+*** Visual Mode Basics
+
+To enter visual mode, it is as simple as pressing ~^v~ or ~ctrl-v~. Next you
+will want to select what you want to change with your typical movement commands
+(~h~, ~j~, ~k~, ~l~, and of course ~w~, ~e~ and all the rest). Finally, you
+finish with the action: ~I~ if you want to insert before the selection, ~A~ if
+you want to append after the selection, ~C~ if you want to change the
+selection, and ~d~, ~D~, ~x~ if you want to remove the selection, just to name
+a few.
+
+*** Some Examples
+
+For (a bad) example, if you need to comment out a contiguous set of lines, you
+can easily accomplish this with the visual mode.
+
+
+#+BEGIN_embed-video
+#+HTML: <video controls="controls" width="90%" height="90%">
+#+HTML: <source src="/media/videos/comment.ogg" type="video/ogg"/>
+Your browser does not support the video tag.
+#+HTML: </video>
+#+END_embed-video
+
+A related example to prefixing is indentation changes, I often use the visual
+mode to fix code indentation when changing block-level indentation or when
+copying code into a markdown file.
+
+#+BEGIN_embed-video
+#+HTML: <video controls="controls" width="90%" height="90%">
+#+HTML: <source src="/media/videos/indent.ogg" type="video/ogg"/>
+Your browser does not support the video tag.
+#+HTML: </video>
+#+END_embed-video
+
+As another example, if you need to change a single word in multiple columns,
+visual mode will make easy work of this (especially when the columns are
+aligned, if not see macros below or [[kb-vim-tips-2015-03-17][substitution
+ranges]] from the previous tip).
+
+#+BEGIN_embed-video
+#+HTML: <video controls="controls" width="90%" height="90%">
+#+HTML: <source src="/media/videos/cw.ogg" type="video/ogg"/>
+Your browser does not support the video tag.
+#+HTML: </video>
+#+END_embed-video
+
+For more information on Visual Mode, you can check Vim's
+[[vimdoc-visual][visual]] help document.
+
+** Macros
+
+For when visual mode may not be enough or when the change is repetitive in
+operations but not in columns or what have you, it's time to bust out the
+macros. Vim macros are easily available for use you can use all the registers
+to record and store each macro.
+
+*** Macro Basics
+
+To record a macro, it's as simple as ~q<register-label><commands>q~. That is,
+press ~q~, select a register (a-z1-0), enter your commands as if you were using
+Vim normally, and finally ~q~ again to finish. Once your macro is recorded,
+you can use it with ~@<register-label>~. And, like most Vim commands, you can
+attach a repetition to it: ~<n>@<register-label>~ where ~<n>~ is the number of
+times to repeat the command.
+
+You can also replay the last macro with ~@@~.
+
+*** Some Examples
+
+As a simplistic example, we can use a macro to convert it into, say, JSON (this
+example is clearly taken from the [[vim-wikia-macros][Vim Wikia]]).
+
+Let's say we have the following data:
+
+#+BEGIN_EXAMPLE
+ one first example
+ two second example
+ three third example
+ four fourth example
+#+END_EXAMPLE
+
+And we want to change it to the following:
+
+#+BEGIN_EXAMPLE
+ data = {
+ 'one': 'first example',
+ 'two': 'second example',
+ 'three': 'third example',
+ 'four': 'fourth example',
+ }
+#+END_EXAMPLE
+
+We can do this by performing the following:
+
+First, we want to start recording our macro. While the cursor is under the 'o'
+of 'one', we will press ~qd~ to record our macro to the ~d~ register.
+
+Next, we will want to change the tabbing by performing a substitution:
+
+#+BEGIN_EXAMPLE
+ :s/\s\+/': '
+#+END_EXAMPLE
+
+Then, we will insert our first tick with:
+
+#+BEGIN_EXAMPLE
+ I'
+#+END_EXAMPLE
+
+And append the last tick and comma with:
+
+#+BEGIN_EXAMPLE
+ A',
+#+END_EXAMPLE
+
+Before we finish recording, one of the more important operations of making
+macros repeatable is moving the cursor to the next line and putting it into the
+correct position for the next execution. Therefore, move the cursor the
+begging of the line and move down one line:
+
+#+BEGIN_EXAMPLE
+ 0j
+#+END_EXAMPLE
+
+Finally, press ~q~ to finish recording.
+
+We should now be able to press ~3@d~ and watch as the rest of the lines change.
+
+To finish up the example, we'll manually enter ~data = {~ and the tailing ~}~.
+
+#+BEGIN_embed-video
+#+HTML: <video controls="controls" width="90%" height="90%">
+#+HTML: <source src="/media/videos/macros.ogg" type="video/ogg" />
+Your browser does not support the video tag.
+#+HTML: </video>
+#+END_embed-video