BlaCk Void Zsh
Awesome Zsh Setting.
Notice!! ๐ฅฝ๐งชโ๏ธ
We are experimenting with a big change in #23.
Table of Contents
1. Feature.
1.1 Powerful View.
More Theme, More Information: Wiki:Customize
Prompt.
Powerline Theme
The prompt consists of two lines.
The upper line is for displaying information, and the lower line is for writing commands.
- Upper Line
- Left: account info, root user, using ssh, directory lotation, write permission, vcs info
- Right: result status, background job, command execution time, history, zsh load time
- Lower Line
- Syntax highlight, Auto Suggestion.
- When auto suggestion comes up, you can complete with right(โ) arrow key.
- Upper Line
- directory lotation, vcs info, account info, write permission, root user, command execution time
- Lower Line
- Left: prompt conditional , writing commands
- Syntax highlight, Auto Suggestion.
- When auto suggestion comes up, you can complete with right(โ) arrow key.
- Right: background job, result status
- Left: prompt conditional , writing commands
[Experimental]How to cutomize or switch?
- Copy file to your home.
cp $BVZSH/BlaCk-Void.ztheme ~/.ztheme
&& Customize!!
export
BVZSH_THEME=โTHEME MODEโ- Restrictions: Work only in
~/.ztheme
- Restrictions: Work only in
THEME MODE
list:auto
,powerline
,simple
,powerline-single
,simple-single
auto
: Default ispowerline
.
When not support xterm or 256 color,simple
theme Activate.
COLOR MODE
list:auto
,flex
,fixed
auto
: Deafault isfixed
.
When not support xterm or 256 color,flex
color Activate.
Icon MODE
list:auto
,nerd
,powerline
auto
: Deafault isnerd
.
When ssh or root,powerline
icon Activate.
- FAQ: Why do not you support
zsh-theme
anymore? || Can not change during use?
This isnโt supported by powerlevel10k.
Git.
The interaction with Git is easy compared to the file manager.
In turn
Source - Add any file - Modify file
Staging - Commit - Push
1.2 Easy Command Input.
More Features: Wiki:Features
Auto Pair.
Match parentheses, quotes, etc.
Fix.
If you canโt find the command, suggest a correction.
If the execution is not done properly, just typing โfuck
โ. It will suggest.
Display Info.
Commands that can be abbreviated are indicated by a Alias tip
.
If you press โ<TAB>โ while typing command, it is recommended to divide by category.
You can search history by pressing the up(โ) arrow key.
Fzf.
Integration with- Ctrl+t: File, Directory select.(Multiple selecting use <TAB>)
- Ctrl+r: History select.
- Alt+c: Directory select.
Command **
+<TAB>: Select aftervi **
as input.ssh
,telnet
,kill
,unset
,export
..etc with integration.
Please refer to fzf for more information.
Git.
Very simple to use git.
c
: commita
: addp
: pushu
: pullr
: remotes
: status
ga
: git addglo
: git loggi
: gitignoregd
: git diffgcf
: git checkoutgss
: git stashgclean
: git clean
Etc.
bookmark [mark]
:Bookmark to [mark].jump [mark]
:Move to [mark].showmarks [mark]
:Show [mark]โs directory.deletemark [mark]
:Delete [mark].cd <dots>
: Move to the upper directory by the number of <dots>.j [keyword]
: Move to [keyword] similar directory.
1.3 Terminal Utility.
Internet Tools.
prettyping
: Show pretty ping.ip-info
: Show ip info.
Terminal Image Viewer.
Show image like preview.
You can use with command img
Useage:
img FILE_NAME TIME
(TIME default 2s)
img
Feature
- Supported: Konsole, Xterm, Urxvt, Terminology, Yakuake, Terminal.app
- Unsupported: Terminator, Hyper, Tilix, gnome terminal, Guake, LXterminal, Putty, Alacritty
for unsupported Terminals
use tiv or fim
Weather.
Useage:
weather
or weather LOCALE LANGUAGE(option)
Default Language: Your systemโs language
Map.
2. Install.
2.1 Supported Platforms.
- Linux
Debin-based(Ubuntu, Debian, Mint, ..), RPM-based(Fedora, CentOS, Redhat, ..), Pacman-based(Arch, Manjaro, Antergos, ..)
- Others
Mac, FreeBSD-based
- Requirements
- bash
- Install
git clone https://github.com/black7375/BlaCk-Void-Zsh.git ~/.zsh
bash ~/.zsh/BlaCk-Void-Zsh.sh
Then, terminal font set to one of Nerd Fonts (font installโs 1
option is hack nerd font
) && restart.
When you want to use with awesome tmux, Check BlaCk-Void-Tmux
- Beta Version
git clone -b powertools https://github.com/black7375/BlaCk-Void-Zsh.git ~/.zsh
bash ~/.zsh/BlaCk-Void-Zsh.sh
2.2 Docker
Pull or Build docker
docker pull alstjr7375/bvzsh:latest
# or
git clone https://github.com/black7375/BlaCk-Void-Zsh.git && cd BlaCk-Void-Zsh/Docker
docker build --tag=alstjr7375/bvzsh:lastest .
Run!!
docker run --rm -it alstjr7375/bvzsh
2.3 Manual Install (Others).
- Requirements
- zsh
- powerline
- powerline support font(will explain it in the paragraph below.)
- w3m-img(option for Terminal Image View)
- Autojump(option for
j
) - ack(option for h) | TODO: ack code port to ripgrep.
- xdotool, wmctrl (option for Notification)
- Install
- Git Clone
git clone https://github.com/black7375/BlaCk-Void-Zsh.git ~/.zsh && cd ~/.zsh
- zinit(replace antigen, old name: zplugin)
mkdir ~/.zplugin git clone https://github.com/zdharma-continuum/zinit.git ~/.zplugin/bin
- nerdfont(powerline support font)
git clone https://github.com/ryanoasis/nerd-fonts.git cd nerd-fonts && ./install.sh cd ..
or
Install font from Nerd Fonts. - Add to .zshrc
Source File[Recommend]
echo "source BlaCk-Void.zshrc" >> ~/.zshrc
or Link
ln -svf BlaCk-Void.zshrc ~/.zshrc
or Copy(Canโt
zsh-update
)
cp -v BlaCk-Void.zshrc ~/.zshrc
- Zsh Shell Set
sudo chsh -s /usr/bin/zsh
or
sudo chsh -s $(which zsh)
- Terminal set
Terminal font set to one of Nerd Fonts && restart.
- Git Clone
2.4 Update.
zsh-update
: BVZSH, plugin manger, plugins update.
font-update
: Nerdfont Update
3. Info.
3.1 Theme.
- Powerlevel10k(powerline theme, Really Fast and 100% replaceable Powerlevel9k)
3.2 Plugins.
Plugin Manager
- Zinit(Old Name: Zplugin)
Default Repo (robbyrussellโs oh-my-zsh).
Lib
- Compfix: Handle completions insecurities.
- Directories: Changing/making/removing directory.
- Functions: OMZ Functions.
- Git: Git fuctions.
- Termsupport: Set terminal window and tab/icon titles.
Plugin
- Autojump: Enables Autojump if installed with homebrew, macports or debian/ubuntu package.
- Command Not Found: This plugin uses the command-not-found package for zsh to provide suggested packages to be installed if a command cannot be found.
- FZF: This plugin enables junegunnโs fzf fuzzy auto-completion and key bindings.
- Git: Adds a lot of git aliases and functions for pulling for dealing with the current branch.
- Gitfast: This plugin adds completion for Git, using the zsh completion from git.git folks, which is much faster than the official one from zsh.
- Pip: pip - completion plugin for the pip command.
- Sudo: ESC twice: Puts sudo in front of the current command, or the last one if the command line is empty.
- Thefuck: The Fuck plugin โ magnificent app which corrects your previous console command.
- Tmux Provides aliases for Tmux.
- Tmuxinator: Completions for tmuxinator.
- Urltools:
Provides two aliases to URL-encode(
urlencode
) and URL-decode(urldecode
) strings.
Custom Repo
- Zsh 256 Color: This ZSH plugin enhances the terminal environment with 256 colors.
- Alias Tips: Help remembering those shell aliases and Git aliases you once defined.
- Zsh Async: Because your terminal should be able to perform tasks asynchronously without external tools!
- Zsh Autosuggestions: Fish-like fast/unobtrusive autosuggestions for zsh.
- Zsh Autopair: A simple plugin that auto-closes, deletes and skips over matching delimiters in zsh intelligently
- Zsh Completions: Additional completion definitions for Zsh.
- Enhancd: A next-generation cd command with an interactive filter.
- Fast Syntax Highlighting: Feature rich syntax highlighting for Zsh.
- Forgit: Forgit is a utility tool for git taking advantage of fuzzy finder fzf.
- Fzf Widgets: ZLE widgets of fzf.
- Zsh Git Smart Commands: Wrappers for common git commands so they can be used in aliases very efficiently.
- h: A command line tool to highlight terms
- Zsh History Substring Search: Fish-like history search feature.
- Zsh Interactive Cd: Press tab for completion as usual with fzf.
- Zsh Lazyenv: Environments for lazy load commands and speed up start up time of zsh.
- Zsh Marks: A port of Bashmarks (simple bookmarking plugin by Todd Werth) for oh-my-zsh
- Zsh Notify: Desktop notifications for long-running commands in zsh.
- TLDR: Simplified and community-driven man pages http://tldr-pages.github.io/
- up: Move to the upper directory by the number of <dots>.
3.3 My Terminal Environment.
- OS: Kubuntu 18.10
- Terminal: Konsole
- Font: Hack Nerd Font
- Color Scheme: Breeze