If you use
zsh for your shell very occasionally you may find the following message appearing indicating a corrupt history file. This is normally after a reboot.
zsh: corrupt history file /home/george/.zsh_history
This prevents searching back through the history with
CTRL+R and editing previous commands with
To fix it run the following commands
cd ~ mv .zsh_history .zsh_history_bad strings .zsh_history_bad > .zsh_history fc -R .zsh_history
Once this happened more than twice I made a script to fix the issue. The following is saved in my
~/bin folder as
zsh_history_fix and this folder is in my
#!/usr/bin/env sh # George Ornbo (shapeshed) http://shapeshed.com # License - http://unlicense.org # # Fixes a corrupt .zsh_history file mv ~/.zsh_history ~/.zsh_history_bad strings .zsh_history_bad > .zsh_history fc -R ~/.zsh_history rm ~/.zsh_history_bad
Now if I see the
zsh: corrupt history file error again I just run the command get back to work.
If you’d like the script you can download it directly from Github, put it somewhere in your
$PATH and make it executable.
cd ~/bin # or somewhere in your $PATH wget https://github.com/shapeshed/dotfiles/blob/master/bin/zsh_history_fix chmod +x zsh_history_fix
Have an update or suggestion for this article? You can edit it here and send me a pull request.
Build your own Vim statusline
Statuslines in Vim are not hard to create. Making your own means one less dependency in your life.
Custom Vim Bindings in tmux 2.4
tmux 2.4 made a significant change to key bindings. Here is how to support custom keybindings for versions before and after tmux 2.4
Using template files in Vim
Vim templates or skeletons, allow you to specify a template to be used for new files with a certain extension.