DEV Community 👩‍💻👨‍💻

Saurabh Sharma
Saurabh Sharma

Posted on • Updated on

Can I see your terminal?

Last time, I posted Can I see your desktop home screen and it went more popular than I thought.

This time I want to see your Terminal.

is it hyper? or iterm? or xterm something? post down below.

here is mine

terminal

update 1:

Now after looking at some cool terminal I have updated to fluent terminal.

update 1

Top comments (326)

Collapse
 
arnaudmorisset profile image
Arnaud Morisset • Edited on

Nice post, here is mine. It's really "classic" with a little companion:

iterm

Collapse
 
2h0n profile image
2h0n

that's cool. how?

Collapse
 
arnaudmorisset profile image
Arnaud Morisset

Just one line in my .zshrc. ;)

export PROMPT='%F{235}%B%c%b%f$(_currentKubernetesContextName)$(_currentEnvironmentName)%(?.(%F{198}♥%f‿%F{198}♥%f.(%F{75}ಥ%f_%F{75}ಥ%f)) '

NB: You can omit the Kubernetes part.

Thread Thread
 
2h0n profile image
2h0n

cheers mate.

Collapse
 
dmfay profile image
Dian Fay • Edited on

I use termite with zsh. The calendar is when. Font is Inconsolata-dz (a variant with straight quotation marks). Window titles are displayed in my statusbar so I save a tiny bit of space by eliminating borders and titlebars. Pressing ESC or Ctrl+[ switches the command line from insert to command mode so I can navigate as in vi.

dotfiles here

terminal with calendar and git status

Collapse
 
seanxe profile image
Sean Crossey

is that massive-js as in the not-really-an-orm for postgres? if so i discovered it yesterday - great package!

Collapse
 
dmfay profile image
Dian Fay

It is, yes! Glad you like it!

Collapse
 
msoedov profile image
Alex Miasoiedov

perfect one! 10/10

Collapse
 
jessachandler profile image
Jess Chandler • Edited on

Love the question and all the responses. I'm using zsh and the man theme - ran a few dir and speak commands to show how git and time are incorporated.
myterminal

Collapse
 
bl4met profile image
JD Taft

This kinda looks like a giant Post-It note. I like that.

Collapse
 
jessachandler profile image
Jess Chandler

I stumbled on the yellow while playing around with the default choices in Terminal. :) I like it...almost all of my other coding screens are dark grey.

Collapse
 
akz92 profile image
Lucas Moulin • Edited on

I try to keep it pretty minimal

iTerm with zsh

Collapse
 
noncototient profile image
Bo • Edited on

Here is my minimal setup:

minimal terminal setup

Collapse
 
djerbiien profile image
haythem

how to have 3 different color please

Thread Thread
 
noncototient profile image
Bo

Default Oh My ZSH setup

Thread Thread
 
akoshodi profile image
Akinwale Oshodi • Edited on

Seems more like prezto and not Oh My ZSH.

Thread Thread
 
noncototient profile image
Bo

Yeah you are correct, my bad. I have since switched over to fish shell.

Collapse
 
stephaniecodes profile image
Stephanie

I have a random happy ascii character and a motivational phrase every new window. :)

Collapse
 
monknomo profile image
Gunnar Gissel • Edited on

Here's where I make the money...

Collapse
 
ggallynn profile image
lynn

This is the ideal terminal. You may not like it, but this is what peak performance looks like.

Collapse
 
mikeborn profile image
Michael Born

Is it? From my experience, the windows terminal is both less useful and simply slower to use than any Unix terminal. But it certainly gets the job done.

Thread Thread
 
monknomo profile image
Gunnar Gissel

GG Allyn is referencing this: twitter.com/scrowder/status/687260...

There are definitely better terminals, even on Windows. Still, this is what I get paid for

Thread Thread
 
mikeborn profile image
Michael Born

Ah, I get it. Yeah, for our Windows servers I like git bash.

Thread Thread
 
monknomo profile image
Gunnar Gissel

Our environment is locked down enough that git bash isn’t an option for me. I like it when I get the chance, though!

Thread Thread
 
codevault profile image
Sergiu Mureşan

The Linux simulation you see when you open Git Bash is actually MSYS2 which you can find right here

You can do really cool things with it, like using the GCC tool-chain right inside of Windows.

Collapse
 
drrial profile image
d3rrila • Edited on

Here's mine :D

And on Windows:

Collapse
 
mikeborn profile image
Michael Born

Hold on while I go install neofetch...

Collapse
 
mohammedfoysal profile image
Mohammed Foysal

What terminal are you using for Windows. I've been using Git Bash but am looking for something better, preferably something with ZSH.

Collapse
 
drrial profile image
d3rrila • Edited on

Sorry to disappoint, I'm actually using the Windows Subsystem for Linux together with VcXsrv and basically I just compiled my regular linux terminal for it ( st.suckless.org/ )
The font I'm using is Realtime by Juri Zaech in case anybody cares.

I hope this helps, but I'm sorry if it doesn't.

Edit: st has quite a few drawbacks. It's a terminal emulator and literally nothing else. You don't even have a scrollback buffer. There are patches on the website for it, but expect to manually splice them in with some code surgery, because those patches are always out of date.

Collapse
 
stephanie profile image
Stephanie Handsteiner

In case someone asks, this is the theme.

Collapse
 
cedricbdev profile image
Cedric

Nord is the best theme for terminal

Collapse
 
jess profile image
Jess Lee

On my home machine 😄

mossgreen-iterm

Collapse
 
val_baca profile image
Valentin Baca • Edited on

FYI You can get rid of the "Last login" with touch .hushlogin

Also, I really like the "cash cow" prompt :)

Collapse
 
jess profile image
Jess Lee

Here's my work machine 😇

iterm-pink-terminal

Collapse
 
nektro profile image
Meghan (she/her)

wait, bash has tabs?

Thread Thread
 
gudbadugly2 profile image
T-Bone • Edited on

Iterm ftw

Thread Thread
 
thibmaek profile image
Thibault Maekelbergh

Any macOS terminal has tabs.

Thread Thread
 
kjellski profile image
Kjell Otto

This is just the iTerm app as a Terminal replacement. But you can make "bash has tabs" with screen or tmux :) have a look, it's really great for remote work too.

Thread Thread
 
rftlexists profile image
teakap

Linux OS have tabs as well. Try ctr+shift+t ;)

Collapse
 
akz92 profile image
Lucas Moulin

Quick tip: If you press Cmd+Shift+4 and then press Space you can take a screenshot of a single application :)

Collapse
 
ennor profile image
Enno Rehling (恩諾) • Edited on

What they didn't tell me: Cmd+Ctrl+Shift+4 will put the screenshot into the clipboard, which is a lot easier when what you want is to paste directly into Slack.

Thread Thread
 
akz92 profile image
Lucas Moulin

This is awesome too! Unless you use Safari, because Safari doesn't support this =/

Thread Thread
 
ennor profile image
Enno Rehling (恩諾)

My final recommendation for screenshots is Skitch, which has very nifty tools for annotating. I love the arrows especially.

Thread Thread
 
akz92 profile image
Lucas Moulin

Skitch is great, I stopped using it when I found out that Preview has a lot of those annotating features. It isn't as feature full as Skitch, but it fits me well.

Collapse
 
toby profile image
toby

If on Windows 10 there is the WinKey + Shift + S keycombo to launch selecting an area to screen shot which gets copied to the clipboard.
Or just hit WinKey, type snip, and hit enter, then select the Window selection.
Or use the WinKey + Alt + prntscrn shortcut with the correct window selected and a shot will be saved to your Captures directory

Thread Thread
 
ashleyjsheridan profile image
Ashley Sheridan

All these crazy key combinations, on Linux all you need to do is press the regular old print screen button, and it lets you do any of those things without having to remember arcane sequences ;)

Thread Thread
 
miku86 profile image
miku86

And if you hit Alt + Print,
you get a screenshot of the current focused window.

Thread Thread
 
guneyozsan profile image
Guney Ozsan

Good old print screen still works on Windows. These are for custom crops.

Collapse
 
maestromac profile image
Mac Siri

Woah that is a neat tip.

Collapse
 
khaled_garbaya profile image
Khaled Garbaya • Edited on

here you go

terminal

Collapse
 
rasputn_ profile image
ras

Is that NERDTree or something different?

Collapse
 
khaled_garbaya profile image
Khaled Garbaya

Yep that's nerd tree

Collapse
 
bushwald profile image
Brad

What editor is that? Looks neat.

Collapse
 
drepram profile image
Andre Christoga Pramaditya

Vim.

Thread Thread
 
bushwald profile image
Brad

Lol I know how to exit vim, I swear. Didn't recognize it with the file explorer showing.

Collapse
 
hjfitz profile image
Harry

How's react dev in vim?

I ended up moving away because I couldn't deal with large projects - I've started pulling it up for quick edits in my Vs code terminal though. I miss the utility

Collapse
 
khaled_garbaya profile image
Khaled Garbaya

Works very well for me and especially with the combination of tmux I do all my coding in one terminal window. I can even zoom in one pane, do something and zoom back out.

Collapse
 
dmdinh22 profile image
dmdinh22

Any way you can share your .vimrc? would like to check out your settings.

Collapse
 
khaled_garbaya profile image
Khaled Garbaya

Sure thing, use this branch it is up to date github.com/Khaledgarbaya/dotfiles/...

Collapse
 
ben profile image
Ben Halpern
Collapse
 
kmcginn profile image
Kevin McGinn • Edited on

Zooming out a bit: batcave

Collapse
 
bradoyler_20 profile image
brad oyler

ok, now enhance, pls...

Collapse
 
dkassen profile image
Daniel Kassen

Mac Keyboard shortcut for emojis: ctrl + cmd + space
👌

Collapse
 
sergiodxa profile image
Sergio Daniel Xalambrí • Edited on

That's my terminal, I use Hyper with the zsh theme zeit.zsh-theme. I like to keep it simple.

Collapse
 
toby profile image
toby

Really don't get why anyone would run node just to type in a terminal... This confuses me. Though it does look pretty.

Collapse
 
pmcgowan profile image
p-mcgowan • Edited on

termux on android
Termux on android - I use default terminals (nothing fancy) with dotfiles in source control so all my devices are matching and I can re-provision if I want to destroy them with fire.

My desktop/laptop/server are all the same format (different uname in PS1, semi-transparent background, otherwise default gnome-terminal), and red PS1 when ssh'd in (since I used to shut down the wrong box from time to time). Obviously programming on my phone is a last resort, but it's saved me from production fires before - ssh and data, what else do you need?

Collapse
 
jacoby profile image
Dave Jacoby • Edited on

My work linux box:
 ✔ jacoby@oz 16:40 42°F    ~

Meaning, left-to-right:
My computer is up-to-date
TaskWarrior is happy with me
I'm me on my computer
It's almost time to go
It's not too cold out
I've had two cups of coffee today
I'm in my home directory

Collapse
 
kylegalloway profile image
Kyle Galloway

How??? I want this config!

Collapse
 
jacoby profile image
Dave Jacoby

It helps if you have Font Awesome set up on your system.

This needs cleaning up. As pasted from my prompt.sh

# prompt.sh

# the unified prompt for Dave Jacoby, based on system settings
# and capabilities.

# if a capability is absent for an entry, such as TaskWarrior
# or ACPI, the prompt will drop that in favor of entries it
# can handle.

# Tasks

#   * I have partially added Font Awesome to the prompt,
#     especially for the buttons. I need to more fully 
#     integrate FA fonts. For example, with TaskWarrior 
#     icons

# TASK WARRIOR INTO MY PROMPT
# this part is just fun-with-utf8
# https://twitter.com/pjf/status/852466839145795584
URGENT="2757"
DUETOMORROW="2690"
DUETODAY="2691"
OVERDUE="2639"
OK="2714"

# shows if any TaskWarrior tasks are in need of attention
function task_indicator {
    if [ `task +READY +OVERDUE count` -gt "0" ]  ; then
        printf "%b" "\u$OVERDUE"
    elif [ `task +READY +DUETODAY count` -gt "0" ]  ; then
        printf "%b" "\u$DUETODAY"
    elif [ `task +READY +DUETomorrow count` -gt "0" ]  ; then
        printf "%b" "\u$DUETOMORROW"
    elif [ `task +READY urgency \> 10 count` -gt "0" ]  ; then
        printf "%b" "\u$URGENT"
    else
        printf "%b" "\u$OK"
    fi
}

# here I switch to Font-Awesome, which might not show for dev.to
HOT_BEVERAGE="2615"
POWER="26A1"
#BATTERY="8984"
#POWER="2605"
BATTERY="2606"
NOT=""
fa_bolt=""
fa_plug="" # fa-plug [&#xf1e6
fa_battery="" # fa-battery (alias) [] 4.4
fa_battery_0="" # fa_battery_0 (alias) [] 4.4
fa_battery_1="" # fa_battery_1 (alias) [] 4.4
fa_battery_2="" # fa_battery_2 (alias) [] 4.4
fa_battery_3="" # fa_battery_3 (alias) [] 4.4
fa_battery_4="" # fa_battery_4 (alias) [] 4.4
fa_battery_empty="" # fa_battery_empty [] 4.4
fa_battery_full="" # fa_battery_full [] 4.4
fa_battery_half="" # fa_battery_half [] 4.4
fa_battery_quarter="" # fa_battery_quarter [] 4.4
fa_battery_three="" # fa_battery_three-quarters [] 4.3 fa-bed [&

# PLUGGED IN OR NO
# works on my Linux laptop, not on my desktop

# shows if the battery is currently charging
function battery_charging {
    CHARGING=`/usr/bin/acpi | awk '{ print $3}'`
    if [ $CHARGING = 'Discharging,' ];  then
        printf '%s' $fa_plug
    else
        printf '%s' $fa_bolt
    fi
}

# shows current status of battery
# 0  - 12     EMPTY
# 13 - 37     QUARTER
# 38 - 62     HALF
# 63 - 87     THREE-QUARTER
# 88 - 100    FULL
function battery_life {
    ACPI=`/usr/bin/acpi | awk '{ print $4}'`
    ACPI=${ACPI//[!0-9]/}
    if   [ $ACPI == "100" ];then 
        printf '%s ' $fa_battery_4
    elif [   $ACPI -lt "13" ];then
        printf '%s ' $fa_battery_0
    elif [ $ACPI -lt "38" ];then
        printf '%s ' $fa_battery_1
    elif [ $ACPI -lt "63" ];then
        printf '%s ' $fa_battery_2
    elif [ $ACPI -lt "88" ];then
        printf '%s ' $fa_battery_3
    else 
        printf '%s ' $fa_battery_4
    fi    
}

# opening tag for setting color. depends on a lot of
# variations, including host
function opentag {
    if [ -f "/bin/hostname" ] ; then
        HOST=`/bin/hostname`
    else
        HOST='NONE'
    fi

    if [[ $HOST == *"purdue.edu" ]] ; then
        HOST=`/bin/hostname -s`
    fi

    foreground='38;5;255'
    background=''
    bold='1;'   #1
    dim=''      #2
    italic=''   #3
    reverse=''  #7

    # WORK LINUX COMPUTER
    if [ $HOST = 'oz' ]; then
        foreground='38;5;82'
        bold='1;'
        if [[ -z $DESKTOP_SESSION ]] ; then
            reverse='7;'
        fi

    # WORK WINDOWS 10 COMPUTER 
    elif [ $HOST = 'Lion' ];then
        foreground='38;5;206'
        foreground='38;5;79'
        bold='1;'
        # if [ -z $SYSTEMDRIVE ] ; then
        #    foreground='38;5;196'
        #     bold='1;'
        # fi

    # PERSONAL LINUX COMPUTER
    elif [ $HOST = 'gort' ]; then
        foreground='38;5;39'
        bold='1;'

    # PERSONAL WIN10 COMPUTER
    # works in WSL, not in Git4Windows Bash
    elif [ $HOST = 'K9' ]; then
        foreground='38;5;39'
        bold='1;'

    # REMOVING SOME WORK HOSTS
    fi
    printf "\e[%s%s%s%s%sm" $bold $dim $italic $reverse $background $foreground
    # unset HOST foreground background bold dim italic reverse 
}

# closes all open tag types
function closetag {
    printf "\e[0m"
    }

# if wanted, just bold and white
function boldwhite {
    printf "\e\[1;38;5;255m"
    }

# sets the PS1 variable
# function set_ps1 {

    header="\[\033]0;\u@\h: \w\007\]"
    # chroot="${debian_chroot:+($debian_chroot)}"
    chroot=""
    userhost="\u@\h "
    localtime="\A "
    path="\w "
    end="\n\$ "

    # the coffee, weather and reboot info are called in other programs
    # every time the prompt is run
    task="\$(task_indicator)"
    battery_charging="\$(battery_charging)"
    battery_life="\$(battery_life)"
    timer_show="($timer_show)"
    reboot="\$(~/bin/need_reboot.pl)"
    temp="\$(~/bin/get_temp.pl)"
    coffee="\$(~/bin/get_coffee.pl) "
    dbus="\$(~/local/bin/pull_dbus_address.sh)"
    git="\$(__git_ps1)"

    open="$(opentag)"
    close="$(closetag)"

    prompt=$header

    # I add getting and storing the DBUS address so I can 
    # control Spotify from the command line and take webcam
    # pictures via Crontab
    if [ -f ~/local/bin/pull_dbus_address.sh ];then
        prompt="$prompt$dbus"
    fi

    prompt="$prompt\n\[$open\]"

    if [ -f ~/bin/need_reboot.pl ];then
        prompt="$prompt$reboot "
    fi

    if [ -f /usr/bin/acpi ];then
        prompt="$prompt$battery_charging "
        prompt="$prompt$battery_life "
    fi

    if [ -f /usr/bin/task ];then
        prompt="$prompt$task "
    fi

    prompt=$prompt$userhost
    prompt=$prompt$localtime

    if [ -f ~/bin/get_temp.pl ];then
        prompt="$prompt$temp "
    fi

    if [ -f ~/bin/get_coffee.pl ];then
        prompt="$prompt$coffee "
    fi

    prompt=$prompt$path
    prompt=$prompt$chroot
    prompt=$prompt$git

    if [ -f ~/.timing ];then
        prompt="$prompt$timer_show "
    fi

    prompt=$prompt$end
    prompt="$prompt\[$close\]"

    trap 'timer_start' DEBUG
    PROMPT_COMMAND="timer_stop"
    export PS1=$prompt
    # unset chroot close coffee dbus end git header open path prompt reboot task temp localtime userhost
# }

# set_ps1

and this in my .bashrc:

if [ -f /home/jacoby/bin/prompt.sh ]; then
    source /home/jacoby/bin/prompt.sh 
else
    export PS1="\n\
\[\033]0;\u@\h: \w\007\]\
${debian_chroot:+($debian_chroot)}\
\u@\h \
\A \
\$(~/bin/pull_dbus_address.sh)\w\$(__git_ps1)\
\n\$ "

fi
Thread Thread
 
kylegalloway profile image
Kyle Galloway

Thanks

Collapse
 
jessachandler profile image
Jess Chandler

Wow...and I immediately had to go and look up Taskwarrior :)

Collapse
 
olkinn profile image
olkinn • Edited on

Here's mine! Tmux + fish + custom themes for both iterm and emacs
(github.com/olkinn/forest-blue-iTerm and github.com/olkinn/forest-blue-emacs)

image

Timeless DEV post...

Git Concepts I Wish I Knew Years Ago

The most used technology by developers is not Javascript.

It's not Python or HTML.

It hardly even gets mentioned in interviews or listed as a pre-requisite for jobs.

I'm talking about Git and version control of course.

One does not simply learn git