+8

Làm thế nào để có 1 terminal xịn ?

Chào các bợn, mình Hoàng đây.

Nếu coi việc phát triển dự án phần mềm là 1 cuộc chiến tranh, thì các dev chúng ta là những chiến binh. Còn việc các bạn chơi hệ nào thì do các bạn chọn (ví dụ như PHP, JS, Ruby, ...)

Nhưng gần như vũ khí cơ bản nhất của chúng ta không gì khác chính là terminal của mình. Vậy làm sao để nó tối ưu cho riêng bản thân mình, làm sao để thay đổi cái màu xấu xí ban đầu cua nó. Cùng mình đi rèn lại vũ khí của chúng ta nhé

Các công cụ sử dụng

  • Dracula cho gnome (hoặc mac cũng có bản tương tự nhé)
  • ZSH và Oh-my-zsh
  • Các plugin hữu dụng cho oh-my-zsh
  • Color LS và dracula colors

1. Cài đặt dracula cho gnome

Đầu tiên, terminal mặc định của chúng ta sẽ có giao diện như sau.

Ở đây mình chọn dracula cho gnome, khá là thuận mắt.

# Cài đặt dconf-cli nhé
sudo apt-get install dconf-cli

# Clone github của dracula về (mình chọn gnome => ubuntu) - Bạn nào dùng mac thì tìm bản mac nhé
git clone https://github.com/dracula/gnome-terminal

# Di chuyển vào thư mục git vừa clone, và cài đặt nó thôi
cd gnome-terminal

./install.sh

Các bạn cứ chọn options tương ứng là được nhé. Sau khi chọn xong thì chúng ta sẽ có giao diện terminal mới như sau 😎 Nhìn xịn xò hơn rồi đúng khôngggggg 😍😍😍

Các bạn có thể tham khảo original-link này nếu có thắc mắc gì nhé

https://draculatheme.com/gnome-terminal

2. Cài đặt zsh và oh-my-zsh

Đầu tiên, update ubuntu đã :

sudo apt-get update

sudo apt upgrade

Tiếp theo chúng ta cài đặt các package require nhé

sudo apt install zsh

# cài đặt các font nhé => ở dưới mình có nhắc đến đó
sudo apt-get install powerline fonts-powerline

Clone oh-my-zsh

git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh

Tạo zsh configuration file

cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

File config trên sẽ là file chúng ta khai báo các themes và các plugins cho oh-my-zsh nhé. Các bạn nhớ kĩ điều này.

Thay đổi Default Shell từ bash sang zsh nha ⇒ Nếu không thay đổi thì bạn sẽ không thấy zsh được dùng đâuuuuu (lưu ý: Sau khi thay đổi thì reset lại máy nhé)

chsh -s /bin/zsh

Thế là chúng ta đã cài đặt xong zsh và oh-my-zsh.

3. Cài đặt các plugins và themes cho oh-my-zsh

  • ZSH Syntax Highlighting
  • ZSH Autosuggestions
  • Dracule themes

ZSH Syntax Highlighting

Clone git project

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $OH_MY_ZSH/plugins/zsh-syntax-highlighting

$OH_MY_ZSH ở đây chính là thư mục .oh-my-zsh nhé, thường là ~/.oh-my-zsh 😎😎

ZSH Autosuggestions

Clone git project

git clone https://github.com/zsh-users/zsh-autosuggestions.git $OH_MY_ZSH/plugins/zsh-autosuggestions

Sau khi clone các plugins trong $ZSH_CUSTOM/plugins thì chúng ta chỉ cần khai báo với zsh là có tao cần dùng các plugins trên thôi nhé.

Mở file config của oh-my-zsh lên - Các bạn có thể dùng bất cứ trình soạn thảo nào quen với mình nhé. Ở đây mình dùng vim.

vi ~/.zshrc

Tìm đến dòng khai báo plugins trong file

# Which plugins would you like to load?
# Standard plugins can be found in ~/.oh-my-zsh/plugins/*
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git docker zsh-autosuggestions zsh-syntax-highlighting)

Khai báo thêm các plugins mong muốn nhé. Okay, save lại và cùng check phát nào. 😮😮

Okay, ngon rồi. 👍👍

Dracula themes

https://github.com/dracula/zsh

Tiếp theo chúng ta sẽ cài dracule themes cho oh-my-zsh. Nhiều bạn thắc mắc là chúng ta vừa cài cái dracula này rồi mà. Nhưng các bạn ơi, dracula đấy là cho gnome nhé. Còn cái này là themes cho oh-my-zsh nha

Clone dracula themes về nhé

git clone https://github.com/dracula/zsh.git

Sau khi clone, chúng ta sẽ link vào trong themes của oh-my-zsh nhé.

ln -s $DRACULA_THEME/dracula.zsh-theme $OH_MY_ZSH/themes/dracula.zsh-theme

$DRACULA_THEME : là đường dẫn của directiory dracula bạn vừa clone về.

$OH_MY_ZSH : là đường dẫn của .oh-my-zsh nhé (như mình vừa trình bày bên trên).

Sau khi link xong thì chúng ta chỉ cần mở file config của oh-my-zsh lên và khai báo thôi nhé.

vi ~/.zshrc
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="dracula"

Chúng ta lưu lại và restart terminal nhé.

Vola

Chúng ta đã có được terminal như sau. Rất xịn xò và đẹp mắt đúng không nào các bạn mình ơi. 😘😘

4. Color LS và dracula color

Tiếp theo chúng ta sẽ cài đặt color ls + dracula cho terminal

Color ls: https://github.com/athityakumar/colorls

Dracula color: https://github.com/dracula/colorls

Các bạn có thể vào 2 link trên để tham khảo rõ hơn nhé.

Cài đặt color ls

Để sử dụng được câu lệnh colorls chúng ta cần thêm source vào file config zsh bên trên nhé

source $(dirname $(gem which colorls))/tab_complete.sh

Sau khi source xong chúng ta check thử nhé

colorls -l 

Chúng ta có thể thay đổi các icon và màu sắc tương ứng nhé - tham khảo link github của color ls nha

Cài đặt dracula color

  • Clone github của dracula color về nhé
git clone [git@github.com](mailto:git@github.com):dracula/colorls.git

  • Sau đó chúng ta tạo thư mục colorls trong config nhé
mkdir ~/.config/colorls/

Okay, giờ chúng ta chỉ cần copy file yml trong repo git vừa clone về vào trong thư mục config chúng ta vừa tạo là được nha

cp ~/colorls/dark_colors.yaml ~/.config/colorls/dark_colors.yaml

Cùng thử thành quả nào

colorsls -l

Nhìn xịn xò hơn hẳn rồi đúng không nào, ngoài ra colorsls còn có 1 số kiểu xem khác khác hay, các bạn tham khảo thêm trên github của colorls nha

Kết

  • Ngoài các plugins mình hướng dẫn trên thì còn có rất nhiều plugins khác thuận tiện cho các bạn như ruby, php, docker, .... Hay các themes khác mà bạn mong muốn.

  • Các bạn chỉ cần ghi nhớ là chúng ta cần clone các themes( plugins) về và khai báo chúng trong file ~/.zshrc

  • Bên cạnh đó terminal sẽ mạnh mẽ hơn rất nhiều nếu các bạn có thể sử dụng các tiện ích khác của chúng ví dụ như tmux (chia layout màn hình, ...).

💯💯💯💯

Mong các bạn có 1 terminal vừa ý mình nhé.

Bất kỳ đóng góp gì hãy comment cho mình biết nha. !!!!!


Ủng hộ mình với cách đọc bài viết gốc nha...👇👇👇

https://hoangpn.com/p/lam-the-nao-de-co-1-terminal-xin


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí