From 071ad3b4cb371e864316a821120ea1b63e6bf213 Mon Sep 17 00:00:00 2001 From: Akshay Date: Sat, 25 Jan 2020 19:16:36 +0530 Subject: site layout; use esh --- docs/posts/bash_harder_with_vim.html | 84 ++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 docs/posts/bash_harder_with_vim.html (limited to 'docs/posts/bash_harder_with_vim.html') diff --git a/docs/posts/bash_harder_with_vim.html b/docs/posts/bash_harder_with_vim.html new file mode 100644 index 0000000..6e0f9bd --- /dev/null +++ b/docs/posts/bash_harder_with_vim.html @@ -0,0 +1,84 @@ + + + + + + + + + + + + + +
+
31/07 2019
+ + Bash Harder With Vim + +
+

Bash is tricky, don’t let your editor get in your way. Here’s a couple of neat +additions you could make to your vimrc for a better shell programming +experience.

+ +
+ +

Man pages inside vim

+ +

Source this script to get started:

+ +
runtime ftplugin/man.vim
+
+ +

Now, you can open manpages inside vim with :Man! It adds nicer syntax highlighting +and the ability to jump around with Ctrl-] and Ctrl-T.

+ +

By default, the manpage is opened in a horizontal split, I prefer using a new tab:

+ +
let g:ft_man_open_mode = 'tab'
+
+ +
+ +

Scratchpad to test your commands

+ +

I often test my sed substitutions, here is +a sample from the script used to generate this site:

+ +
# a substitution to convert snake_case to Title Case With Spaces
+echo "$1" | sed -E -e "s/\..+$//g"  -e "s/_(.)/ \u\1/g" -e "s/^(.)/\u\1/g"
+
+ +

Instead of dropping into a new shell, just test it out directly from vim!

+ +
    +
  • Yank the line into a register:

    + +
    yy
    +
  • +
  • Paste it into the command-line window:

    + +
    q:p
    +
  • +
  • Make edits as required:

    + +
    syntax off            # previously run commands
    +edit index.html       # in a buffer!
    +w | so %
    +!echo "new_post.md" | sed -E -e "s/\..+$//g"  --snip--
    +^--- note the use of '!'
    +
  • +
  • Hit enter with the cursor on the line containing your command!

    + +
    $ vim
    +New Post         # output
    +Press ENTER or type command to continue
    +
  • +
+ +
+ ‹ Back +
+
+ + -- cgit v1.2.3