- Blazing fast, instant load
- mindre ressurskrevende enn tradisjonelle IDEer
- gjør det enkelt å jobbe på ulike servere og repositorier i samme view eller ulike tabs
- kjør split view med editor, cli, git, ssh, logger, og docker med ulike zoom levels uten problem
- "never leave the keyboard"-tankegang → mer effektivt enn museklikk
- en eller annen variant av vi/vim er stort sett tilgjengelig på alle servere
Hvilken terminal?
Her er det mange meninger, favoritter og alternativer å velge mellom, fra de som kommer inkludert med operativsystemet til AI-drevne terminaler. Jeg brukte lenge standard macOS terminal.app før jeg byttet til iTerm2 som jeg så brukte i flere år. Jeg har også testet ut Wave som er en 'alt inkludert'-terminal, samt Warp som er et AI agent-drevet utviklinksmiljø. Til slutt har jeg dog landet på Ghostty som er en ren og rask terminal, og benytter meg heller av diverse terminal-baserte verktøy i denne.
Ghostty - moderne, native og lynrask
Ghostty er en relativt ny terminal emulator som kommer med mange features ferdig konfigurert, som tabs, splits, themes, fontstøtte, GPU-akselerasjon og shell integrasjon.
Stort sett alt fungerer rett ut av boksen, men for å få den til å fungere best mulig med SSH bør man følge rådene på https://ghostty.org/docs/help/terminfo da Ghostty bruker sin egen Terminfo som ikke alle servere forstår.
Hvilke verktøy?
Terminalen kan brukes til mer enn å liste ut filer eller lese filinnhold, og det finnes et hav av verktøy som gjør terminalen om til et fullverdig utviklermiljø. Her følger en liste av mine personlige favoritter som er 'tried and tested' i mange år.
Oh-My-Zsh
- https://ohmyz.sh
- er et rammeverk for utvidelser til Zsh (Z shell), et Unix Shell som også er default-shell i MacOS, og tilgjengelig på alle platformer
- kommer med masse forhåndskonfigurerte alias’er og plugins
- gir deg et 'pretty prompt' med info om path, git branch/status osv
NeoVim
Vi ble laget av Bill Joy i 1976, og var den første teksteditoren i Unix. Vim (Vi IMproved) ble laget av Bram Moolenaar for Amiga i 1991, og kom med støtte for fargesyntaks, VimScript og mange andre forbedringer. NeoVim kom i 2015 og er en fork av Vim som utvider funksjonaliteten med asynkronitet, LUA-scripting og innebygget LSP. Vim har en relativt bratt læringskurve med flere ‘modes’ og tastekombinasjoner for alle operasjoner, men det finnes en mengde tutorials - blant annet den innebygde Vimtutor. Når først tastekombinasjonene begynner å sitte i fingra er det lite som slår effektiviteten til Vim.
Her finnes det flere populære 'distroer' å velge mellom. Jeg liker LazyVim som er veldig lett å konfigurere og bruke, men også AstroNvim har fungert fint for meg. NeoVim gir deg muligheten til å installere en mengde plugins, og kommer med en plugin manager for å håndtere disse.
- https://www.lazyvim.org
- https://astronvim.com
- https://vimschool.netlify.app
- https://vim-adventures.com
- https://www.youtube.com/watch?v=bbHtl0Pxzj8
- https://github.com/rockerBOO/awesome-neovim
Codex CLI
Codex er en AI agent fra OpenAI som kjører lokalt i terminalen og bruker modeller fra OpenAI. Den kan gis tillatelse til å gjøre endringer i filer, og blir raskt en intelligent kodepartner. Den bruker kommandoer som ls, grep, sed, nl og git for å orientere seg, i tillegg til å søke på nettet. Hvis man har et ChatGPT Plus-abonnement så er Codex inkludert, men man kan også kjøpe tokens 'as you go'.
Claude Code
Claude Code er Anthropic sitt AI agent-alternativ, og bruker Anthropics modeller.
Gemini CLI
Gemini er Google sitt AI agent-alternativ, og bruker Googles modeller.
- https://github.com/google-gemini/gemini-cli
- fungerer på samme måte som Codex og Claude Code
- raus free tier med google-konto (enn så lenge)
- min opplevelse er at den hallusinerer mer og beklager seg oftere
Ripgrep - søk
- https://github.com/BurntSushi/ripgrep
- lynraskt søk i filinnhold, raskere enn grep og ag
Yazi - file explorer
- https://github.com/sxyazi/yazi
- rask navigering i mappestruktur og fil-innhold
- veldig konfigurerbar, kan preview'e mange filtyper og har fargesyntaks
Fzf - fuzzy finder
- https://github.com/junegunn/fzf
- gjør prompt historien (ctrl+r) om til en oversiktlig liste
Lzr - pretty ls
- https://github.com/jmattaa/laser
- Pimper opp ls kommandoen betraktelig
Bpytop - ressursmonitorering
- https://github.com/aristocratos/bpytop
- gjør filtrering og søk, se ressursbruk og avslutt prosesser
- funker kanskje ikke i eldre terminaler, bruk da vanlig top
Tig - git verktøy
- https://jonas.github.io/tig/
- Git repositorie-grensesnitt med god oversikt og mange muligheter
Dette er bare et lite knippe arbeidsverktøy tilgjengelig for terminalen, jeg anbefaler den eventyrlystne å sjekke ut https://terminaltrove.com.