I spent years squinting at my terminal. The default themes were either blindingly white or used colors that bled together when I was tired. I tried dozens of popular dark themes—Solarized Dark, Dracula, Nord. They were fine, but something always felt off. The contrast wasn't quite right, or the syntax highlighting for errors didn't pop enough to catch my eye during a late-night debugging session. Then I stumbled onto Im ls7 colors. It wasn't trending on Hacker News, and it didn't have a fancy website. It was just a color scheme file in a GitHub repository. But after applying it, the difference was immediate. My eyes stopped fighting the screen. This is a breakdown of what makes Im ls7 colors different, and why it might be the last terminal theme you ever install.
What You'll Find Inside
What Exactly is Im ls7 Colors?
Im ls7 colors is a terminal color palette. That's it. It's not a full theme with icons and custom prompts. It's a set of 16 colors (plus the background and foreground) designed specifically for dark environments. The name seems cryptic, but it likely originates from its use in the `ls` command with the `--color` flag on a particular setup. The genius is in its restraint. It doesn't try to be colorful for the sake of it. It uses a deep, near-black base (#0a0e14) that eliminates glare, and its accent colors—like a specific cyan (#73d0ff) and green (#bae67e)—are chosen for high legibility against that background.
Most themes get the reds and greens wrong. They're either too neon or too muted. Im ls7 colors uses a red (#ff3333) that signals "error" without vibrating, and a green that reads clearly as "success" or "git diff addition" even in diff outputs with small fonts. I noticed this the first time I ran a `git status`—the file changes were instantly categorizable at a glance.
The Core Color Palette (What You're Actually Getting)
Here’s the breakdown. This isn't just a list of hex codes; it's the logic behind the choices that makes long sessions tolerable.
| Color Role | Hex Code | Real-World Use & Why It Works |
|---|---|---|
| Background | #0a0e14 | Not pure black. Pure black (#000000) can cause a "ghosting" effect with OLED screens and reduces depth perception. This dark blue-black provides a canvas. |
| Foreground (Text) | #c7c7c7 | A warm off-white. Stark white (#ffffff) is too harsh. This has enough contrast to be clear but feels softer on the eyes. |
| Primary Blue/Cyan | #73d0ff | Used for directories (in `ls`), links, and often function names. It's bright but not electric. This is the workhorse accent color. |
| Success Green | #bae67e | For positive feedback, git additions, successful commands. It's a lime-green that feels "active" and clear, not sickly. |
| Warning/Alert Orange | #ffae57 | Warnings, git modifications. More urgent than yellow, less alarming than red. Perfect for "pay attention, but don't panic." |
| Error Red | #ff3333 | Errors, git deletions, failed tests. It's a true red that commands immediate attention but doesn't have a pink or orange tinge that some dark themes use. |
Why Your Current Terminal Theme is Straining Your Eyes
Let's be honest. You probably picked your theme because it looked cool in a screenshot. The problem is, a theme that looks good in a static image often fails in dynamic use. The common pitfalls I've seen (and lived with) boil down to a few key issues that Im ls7 colors sidesteps.
Contrast Ratios and Perceived Brightness
Many dark themes use a gray background like #1e1e1e. It's dark, sure. But when you pair it with a white text at #ffffff, the contrast ratio is extreme, creating a flickering effect as your eyes scan lines of code. Im ls7 uses a darker background and a less bright foreground, which reduces the perceptual load. It's the difference between a spotlight in a dark room and a lamp with a dimmer switch.
Another subtle mistake: using fully saturated colors for all accents. A bright purple (#ff00ff) next to a bright blue (#0000ff) creates visual noise. Im ls7 colors mutes the saturation just enough so colors are distinct but don't compete for attention. The blue (#73d0ff) and magenta (#d4bfff) sit next to each other in a `ls` output without creating a vibrating border.
The "Git Diff" Test
This is my personal litmus test. Open a complex git diff. Can you instantly tell added lines from removed ones? Are the changed sections highlighted in a way that guides your eye? With many themes, the red and green are too similar in value (brightness) on a dark background. I've lost count of the times I've misread a diff because of this. Im ls7's green (#bae67e) and red (#ff3333) have a clear brightness difference while remaining highly saturated, making them immediately distinguishable even for color-blind users (based on common types).
How to Install Im ls7 Colors: A Step-by-Step Guide
The installation isn't about running a magic script. It's about understanding where your terminal stores its color settings. I'll walk through the most common methods. I'm assuming you're on a Unix-like system (Linux, macOS, WSL).
For iTerm2 Users (macOS)
This is the easiest path. You don't even need to download a file manually.
- Open iTerm2 and go to Preferences > Profiles > Colors.
- Click on the Color Presets... dropdown at the bottom right.
- Select Import....
- Navigate to where you cloned or downloaded the Im ls7 colors repository. The file you want is usually named something like
iterm2_im_ls7_colors.itermcolors. - Select it. Now, go back to the Color Presets dropdown, and you should see "im_ls7_colors" listed. Click on it to apply instantly.
The change is live immediately. Open a terminal window and type `ls -la`. You should see directories colored in that distinct cyan.
For Terminal Emulators Using .Xresources or .Xdefaults
This is for emulators like URxvt, Xterm, or even the Linux console. You'll be adding lines to a configuration file.
# Typically, you add this to ~/.Xresources or ~/.Xdefaults
! Im ls7 Colors Palette
*.foreground: #c7c7c7
*.background: #0a0e14
*.color0: #0a0e14
*.color8: #686868
*.color1: #ff3333
*.color9: #ff3333
*.color2: #bae67e
*.color10: #bae67e
*.color3: #ffae57
*.color11: #ffae57
*.color4: #73d0ff
*.color12: #73d0ff
*.color5: #d4bfff
*.color13: #d4bfff
*.color6: #95e6cb
*.color14: #95e6cb
*.color7: #c7c7c7
*.color15: #ffffffAfter saving the file, you need to load the new settings. Run: xrdb -merge ~/.Xresources. You might need to restart your terminal emulator. A common hiccup here is that some emulators cache colors. If it doesn't work, try closing all terminal windows and opening a new one.
Fine-Tuning Your Setup for Maximum Clarity
Applying the colors is only half the battle. To really make Im ls7 colors sing, you need to pair it with the right terminal settings and shell configurations. Here's what most guides don't tell you.
Setting the Correct $TERM Variable
This is a geeky but crucial detail. Your `$TERM` environment variable tells applications how to talk to your terminal. If it's set incorrectly (like just `xterm`), applications might not use the full 256-color palette that Im ls7 is designed for. For modern terminals, you should set it to something like `xterm-256color`. You can check with `echo $TERM`. Set it in your `~/.bashrc` or `~/.zshrc`: export TERM=xterm-256color. After sourcing your config, tools like `ls` with `--color=auto` will look much better.
Configuring LS_COLORS
The `ls` command uses the `LS_COLORS` environment variable to decide how to colorize files. Im ls7 colors looks best with a custom `LS_COLORS` that matches its palette. The default one often uses bold attributes which can look muddy. I use a modified version that emphasizes clarity over flair.
# Example snippet for ~/.bashrc or ~/.zshrc
# This sets directories to the Im ls7 blue, executables to green, etc.
export LS_COLORS="di=1;34:ln=35:so=32:pi=33:ex=1;32:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43"
# Then alias ls to always use color
alias ls='ls --color=auto'You might need to tweak these codes. The point is, don't just accept the default `ls` colors. They were likely made for a different theme.
Using Im ls7 Colors Beyond the Terminal
The true test of a great color palette is how well it translates to other tools. You don't want visual whiplash when switching from your terminal to your code editor.
Porting to Visual Studio Code
You won't find "Im ls7" in the VS Code marketplace. But you can create a near-perfect match by customizing any dark theme. Here's what I did with the default Dark+ theme:
- Go to File > Preferences > Settings.
- Click on the Open Settings (JSON) icon.
- Add or edit the "workbench.colorCustomizations" section.
"workbench.colorCustomizations": {
"[Default Dark+]": {
"terminal.background": "#0a0e14",
"terminal.foreground": "#c7c7c7",
"terminal.ansiBlue": "#73d0ff",
"terminal.ansiGreen": "#bae67e",
"terminal.ansiRed": "#ff3333",
"terminal.ansiYellow": "#ffae57",
"editor.background": "#0a0e14",
"editor.foreground": "#c7c7c7",
"sideBar.background": "#0f1419"
}
}This doesn't change the syntax highlighting colors, but it aligns the UI and integrated terminal with Im ls7, creating a cohesive environment. The side effect? Your eyes don't have to readjust constantly.
Answers to Common Setup Questions
Im ls7 colors isn't about flashy trends. It's a tool engineered for a specific job: reducing cognitive load and eye strain during long periods of terminal work. It won't make you code faster, but it might help you code longer with less fatigue. The setup requires a bit more manual work than clicking an "Install Theme" button, but that's the point—the customization leads to a setup that truly fits your environment. Give it an afternoon of tweaking. Your eyes will notice the difference by sundown.
This guide is based on personal configuration experience across multiple systems and terminals.
Reader Comments