리눅스 서버를 다루다보니, 터미널을 매일사용하고 있습니다. 저는 기본으로 fish
, tmux
. alacritty
을 이용해서 작업을 하고 있습니다. 제가 사용하는 것들의 주요 특징들은 가볍고 빠릅니다.iterm2
는 전혀 성에 차지 않습니다. wasp
와 같은 터미널 프로그램은 쓸만합니다. 하지만, 기본기로 돌아가면 alacritty
사용을 권하고 싶습니다. (rust 로 작성되어 있다는 점도 무시할 수 없습니다.)
현재 사용중인 stack
오늘부터 도전!
자주가는 reddit.com
의 r/unixpron에는 커스텀화 된 화면들을 공유하고 자신들의 설정을 공유하는 곳입니다. 리눅스 사용자들을 위한 곳입니다. 리눅스도 같이 사용하고 있는 저에게는 지루한 랩탑을 좋은 놀이깜으로 만들어주는 곳입니다. (리눅스에 대해서도 학습하면서...)
아래 적용하려고 하는 도구들도 이 곳에서는 많이 사용하는 것들입니다.
여기서 최신 도구들을 몇개 사용해 보려고 합니다. 선정이유는 다들 rust
로 작성되어 있는 점입니다. rust를 사랑하는 개발자로서 이 세팅은 반드시(!) 좋을 것 같습니다.
아래 TOOLS 를 사용하려고 하고, 장점에 대해서 설명하려고 합니다.
- nushell
- startship
- zellij
nushell
rust
로 작성된 최신 데이터 지향 쉘입니다. 기본적인 구성만으로 자동완성 및 기타 유용한 기능을 사용하기 위해 여러 설정을 할 필요가 없습니다.
아직 사용하기에는 여러문제들이 보임.
설치
$ brew install nushell
.......
$ nu
✘ ~ nu
No environment config file found at /Users/forteleaf/Library/Application Support/nushell/env.nu
Would you like to create one with defaults (Y/n):
Config file created at: /Users/forteleaf/Library/Application Support/nushell/env.nu
No config file found at /Users/forteleaf/Library/Application Support/nushell/config.nu
Would you like to create one with defaults (Y/n):
Config file created at: /Users/forteleaf/Library/Application Support/nushell/config.nu
__ ,
.--()°'.' Welcome to Nushell,
'|, . ,' based on the nu language,
!_-(_\ where all data is structured!
Please join our Discord community at https://discord.gg/NtAbbGn
Our GitHub repository is at https://github.com/nushell/nushell
Our Documentation is located at http://nushell.sh
Tweet us at @nu_shell
Nushell has been around for:
3yr 4month 3wk 1day 23hr 37min 48sec 769ms 498µs
You can disable this banner using the config nu command
to modify the config.nu file and setting show_banner to false.
let-env config {
show_banner: false
...
}
장점
- Linux, macOS, Window 에서 작동
- nu pipeline은 구조화 된 데이터를 사용.
안전하게 선택, 필터링, 정렬을 사용 - 강력한 플러그인
단점
command 학습이 필요함.
shell
이름을 확인하려고 했는데....`echo $SHELL` Error: nu::parser::variable_not_found (link) × Variable not found. ╭─[entry #12:1:1] 1 │ echo $SHELL · ───┬── · ╰── variable not found ╰────
nushell
는 데이터 표현을 테이블 저장합니다. 마치 DB의 쿼리를 이용해서 물러오는 것 같습니다. 기본 zsh
, fish
, bash
등에 익숙해 있다면 생소한`cui
화면 처럼 보이기도 합니다.
/Users/forteleaf/vagrant〉ls 09/28/2022 11:43:33 PM
╭───┬──────────┬──────┬───────┬──────────────╮
│ # │ name │ type │ size │ modified │
├───┼──────────┼──────┼───────┼──────────────┤
│ 0 │ kubeset │ dir │ 320 B │ 2 months ago │
│ 1 │ window10 │ dir │ 128 B │ 2 months ago │
╰───┴──────────┴──────┴───────┴──────────────╯
- 미완성적인 부분
기존에 것들과 차이가 나고PATH
등 설정을 새로 해야함
starship
- 호환성 우선
- RUST 를 이용한 최고의 퍼포먼스와 안정성
- 세심한 CUSTOM
Starship
은 간단한 yaml
파일에 매우 다양한 구성 옵션을 제공 합니다. 그러나 nushell
과 마찬가지로 처음에는 구성이 필요하지 않습니다. 모든 기본값이 이미 설정되어 있습니다! 바로 사용할 수 있는 멋진 구성 사전 설정을 제공합니다.
Starship은 다른 여러 도구 및 기술과 자동으로 통합됩니다. 패키지 버전을 표시하고(예: Poetry 프로젝트에 있을 때) AWS 리전, kubernetes
컨텍스트 및 네임스페이스를 표시할 수 있습니다. 간단히 말해서 모든 것과 작동합니다. 여기에서 전체 통합 목록을 살펴보십시오.
현재는 pastel Powerline으로 설정해서 사용하고 있습니다.
rust 로 작성되어 있어서 빠르다고 생각했지만, 별 차이를 느낄 수 없었습니다.
zellij
tmux
와 매우 유사한 기능을 가지고 있습니다. 이쁜 라인이 생겨서 화면을 구분할 수 있는 큰 장점이 있습니다. 그런데 이로 인해서 볼 수 있는 text가 조금은 줄어듭니다. 한줄 정도 차이지만, 신경이 쓰입니다.
설치
$ brew install # Zellij
or
# zsh
bash <(curl -L zellij.dev/launch)
# fish
bash (curl -L zellij.dev/launch | psub)
장점
- 기존에 사용하던
tmux
의 단축키가 호환 - 이쁨
- layout 저장 (tmuxinator를 사용하고 있어서 ....)
- pane 이동 기능이 직관적이고 편리
단점
- tmuxinator 를 사용하고 있는데 이와 같은게 안 보임
- ctrl+p 로 과거 실행했던 메뉴를 찾는데, 단축키가 설정되어 있음(pane 설정용)
별도의 세팅을 해야되는 아쉬움 synchronize-pane 기능이 없다.2021년에 기능이 추가 됨
기존에 사용하던 tmux의 단축키의 익숙함 때문에 zellij 에 적응이 안됩니다. 그리고, 기본 repository 에서 tmux 를 실행할 수 있는데, 굳이 zellij 를 설치해서 사용할 필요가 있을까 싶습니다.
'개발 > 리눅스' 카테고리의 다른 글
arch ctrl <-> caps lock swap (0) | 2023.01.02 |
---|---|
freebsd | minidlna 구축 (0) | 2022.10.13 |
ansible - 자동화의 시작 (0) | 2022.07.14 |
Gitlab-CE 업그레이드 (0) | 2022.07.05 |
LINUX | Linus Torvalds 가 우분투, 데비안을 싫어하는 이유 (0) | 2020.07.13 |