TranslateProject/sources/tech/20191107 Tuning your bash or zsh shell on Fedora Workstation and Silverblue.md
DarkSun ad9cffd8ed 选题: 20191107 Tuning your bash or zsh shell on Fedora Workstation and Silverblue
sources/tech/20191107 Tuning your bash or zsh shell on Fedora Workstation and Silverblue.md
2019-11-08 00:53:38 +08:00

261 lines
7.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Tuning your bash or zsh shell on Fedora Workstation and Silverblue)
[#]: via: (https://fedoramagazine.org/tuning-your-bash-or-zsh-shell-in-workstation-and-silverblue/)
[#]: author: (George Luiz Maluf https://fedoramagazine.org/author/georgelmaluf/)
Tuning your bash or zsh shell on Fedora Workstation and Silverblue
======
![][1]
This article shows you how to set up some powerful tools in your command line interpreter (CLI) shell on Fedora. If you use _bash_ (the default) or _zsh_, Fedora lets you easily setup these tools.
### Requirements
Some installed packages are required. On Workstation, run the following command:
```
sudo dnf install git wget curl ruby ruby-devel zsh util-linux-user redhat-rpm-config gcc gcc-c++ make
```
On Silverblue run:
```
sudo rpm-ostree install git wget curl ruby ruby-devel zsh util-linux-user redhat-rpm-config gcc gcc-c++ make
```
**Note**: On Silverblue you need to restart before proceeding.
### Fonts
You can give your terminal a new look by installing new fonts. Why not fonts that display characters and icons together?
##### Nerd-Fonts
Open a new terminal and type the following commands:
```
git clone https://github.com/ryanoasis/nerd-fonts ~/.nerd-fonts
cd .nerd-fonts
sudo ./install.sh
```
##### Awesome-Fonts
On Workstation, install using the following command:
```
sudo dnf fontawesome-fonts
```
On Silverblue, type:
```
sudo rpm-ostree install fontawesome-fonts
```
### Powerline
Powerline is a statusline plugin for vim, and provides statuslines and prompts for several other applications, including bash, zsh, tmus, i3, Awesome, IPython and Qtile.
Fedora Magazine previously posted an [article about powerline][2] that includes instructions on how to install it in the vim editor. You can also find more information on the official [documentation site][3].
#### Installation
To install powerline utility on Fedora Workstation, open a new terminal and run:
```
sudo dnf install powerline vim-powerline tmux-powerline powerline-fonts
```
On Silverblue, the command changes to:
```
sudo rpm-ostree install powerline vim-powerline tmux-powerline powerline-fonts
```
**Note**: On Silverblue, before proceeding you need restart.
#### Activating powerline
To make the powerline active by default, place the code below at the end of your _~/.bashrc_ file
```
if [ -f `which powerline-daemon` ]; then
powerline-daemon -q
POWERLINE_BASH_CONTINUATION=1
POWERLINE_BASH_SELECT=1
. /usr/share/powerline/bash/powerline.sh
fi
```
Finally, close the terminal and open a new one. It will look like this:
![][4]
### Oh-My-Zsh
[Oh-My-Zsh][5] is a framework for managing your Zsh configuration. It comes bundled with helpful functions, plugins, and themes. To learn how set Zsh as your default shell this [article][6].
#### Installation
Type this in the terminal:
```
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
```
Alternatively, you can type this:
```
sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
```
At the end, you see the terminal like this:
![][7]
Congratulations, Oh-my-zsh is installed.
#### Themes
Once installed, you can select your theme. I prefer to use the Powerlevel10k. One advantage is that it is 100 times faster than powerlevel9k theme. To install run this line:
```
git clone https://github.com/romkatv/powerlevel10k.git ~/.oh-my-zsh/themes/powerlevel10k
```
And set ZSH_THEME in your _~/.zshrc_ file
```
ZSH_THEME=powerlevel10k/powerlevel10k
```
Close the terminal. When you open the terminal again, the Powerlevel10k configuration wizard will ask you a few questions to configure your prompt properly.
![][8]
After finish Powerline10k configuration wizard, your prompt will look like this:
![][9]
If you dont like it. You can run the powerline10k wizard any time with the command _p10k configure_.
#### Enable plug-ins
Plug-ins are stored in _.oh-my-zsh/plugins_ folder. You can visit this site for more information. To activate a plug-in, you need edit your _~/.zshrc_ file. Install plug-ins means that you are going create a series of aliases or shortcuts that execute a specific function.
For example, to enable the firewalld and git plugins, first edit ~/.zshrc:
```
plugins=(firewalld git)
```
**Note**: use a blank space to separate the plug-ins names list.
Then reload the configuration
```
source ~/.zshrc
```
To see the created aliases, use the command:
```
alias | grep firewall
```
![][10]
#### Additional configuration
I suggest the install syntax-highlighting and syntax-autosuggestions plug-ins.
```
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
```
Add them to your plug-ins list in your file _~/.zshrc_
```
plugins=( [plugins...] zsh-syntax-highlighting zsh-autosuggestions)
```
Reload the configuration
```
source ~/.zshrc
```
See the results:
![][11]
### Colored folders and icons
Colorls is a Ruby gem that beautifies the terminals ls command, with colors and font-awesome icons. You can visit the official [site][12] for more information.
Because its a ruby gem, just follow this simple step:
```
sudo gem install colorls
```
To keep up to date, just do:
```
sudo gem update colorls
```
To prevent type colorls everytime you can make aliases in your _~/.bashrc_ or _~/.zshrc_.
```
alias ll='colorls -lA --sd --gs --group-directories-first'
alias ls='colorls --group-directories-first'
```
Also, you can enable tab completion for colorls flags, just entering following line at end of your shell configuration:
```
source $(dirname ($gem which colorls))/tab_complete.sh
```
Reload it and see what it happens:
![][13]
![][14]
--------------------------------------------------------------------------------
via: https://fedoramagazine.org/tuning-your-bash-or-zsh-shell-in-workstation-and-silverblue/
作者:[George Luiz Maluf][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://fedoramagazine.org/author/georgelmaluf/
[b]: https://github.com/lujun9972
[1]: https://fedoramagazine.org/wp-content/uploads/2019/10/tuning-shell-816x345.jpg
[2]: https://fedoramagazine.org/add-power-terminal-powerline/
[3]: https://powerline.readthedocs.io/en/latest/
[4]: https://fedoramagazine.org/wp-content/uploads/2019/10/terminal_bash_powerline.png
[5]: https://ohmyz.sh
[6]: https://fedoramagazine.org/set-zsh-fedora-system/
[7]: https://fedoramagazine.org/wp-content/uploads/2019/10/oh-my-zsh.png
[8]: https://fedoramagazine.org/wp-content/uploads/2019/10/powerlevel10k_config_wizard.png
[9]: https://fedoramagazine.org/wp-content/uploads/2019/10/powerlevel10k.png
[10]: https://fedoramagazine.org/wp-content/uploads/2019/10/aliases_plugin.png
[11]: https://fedoramagazine.org/wp-content/uploads/2019/10/sintax.png
[12]: https://github.com/athityakumar/colorls
[13]: https://fedoramagazine.org/wp-content/uploads/2019/10/ls-1024x495.png
[14]: https://fedoramagazine.org/wp-content/uploads/2019/10/ll-1024x495.png