# Why I migrated to the Fish Shell

DevFeed: [Why I migrated to the Fish Shell](<https://devfeed.tech/articles/why-i-migrated-to-the-fish-shell-37715.md>)

Original publisher: [Read original article](<https://carlosbecker.com/posts/fish/>)

Author: Carlos Alexandro Becker

Published: 2020-12-07T00:00:00Z

Content type: opinion

Language: en

Sources: [Carlos Becker](<https://devfeed.tech/sources/carlos-becker.md>)

Topics: [friendly interactive shell](<https://devfeed.tech/topics/fish.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [Zsh](<https://devfeed.tech/topics/zsh.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [dotfiles](<https://devfeed.tech/topics/dotfiles.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Environment Variables](<https://devfeed.tech/topics/environment-variables.md>), [lazy loading](<https://devfeed.tech/topics/lazy-loading.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>)

Tags: [aliases](<https://devfeed.tech/tags/aliases.md>), [bash](<https://devfeed.tech/tags/bash.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [lazy-loading](<https://devfeed.tech/tags/lazy-loading.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [porting](<https://devfeed.tech/tags/porting.md>), [prompt](<https://devfeed.tech/tags/prompt.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [shell](<https://devfeed.tech/tags/shell.md>), [zsh](<https://devfeed.tech/tags/zsh.md>)

## AI overview

The author explains migrating dotfiles from Zsh to Fish, emphasizing Fish's startup performance, universal variables, lazy loading, and built-in features such as syntax highlighting, autosuggestions, and man-page completions. The article also notes differences from POSIX shells and describes the author's plugin setup.

## Source excerpt

Back in June, I started porting my dotfiles from ZSH to Fish. Here's why.