Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Migrate fish history to zsh shell (python 2.7)
import os
import re
def fish_to_zsh(cmd):
return (cmd.replace('; and ', '&&')
.replace('; or ', '||'))
with open(os.path.expanduser('~/.zsh_history.test'), 'a') as o:
with open(os.path.expanduser('~/.local/share/fish/fish_history')) as f:
for line in f:
line = line.strip()
if line and re.match('^- cmd:', line):
meta, command = line.split('- cmd: ', 1)
line =
if line and re.match('^when:', line):
meta, when = line.split('when: ', 1)
o.write(': %s:0;%s\n' % (when, fish_to_zsh(command)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.