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
I'm Akshay, I go by nerd or nerdypepper on the internet.
I am a compsci undergrad, Rust programmer and an enthusiastic Vimmer. I write open-source stuff to pass time. I also design fonts: scientifica, curie.
Send me a mail at nerdy@peppe.rs or a message at nerdypepper@irc.rizon.net.