10

So I've downloaded and set my iterm2 colors based on the themes from this site: http://iterm2colorschemes.com

I wanted to know though, how to set the terminal to the 40m, 41m, 42m, etc. colors. What are those, and is there a way to change the default iterm2 settings to have that?

How would I change it for things like nano or vim?

Thanks!

ProtonChain
  • 121
  • 2
  • 10
  • 1
    the answers below aren't real clear: 40 - 47 are background colors - 40 is generally black, 41 is generally red, 42 is green and so on. You can read about in the Wikipedia [ANSI escape code](https://en.wikipedia.org/w/index.php?title=ANSI_escape_code&oldid=787261570#Colors) article. For specific programs like nano or vim, I think they might be hardcoded in that program or in the shell, and configuration depends on the program. Leaving this is a comment since I'm not 100% sure about the details. – Ben Creasy Jul 13 '17 at 04:01

2 Answers2

8

40m and 41m those are just samples how it will look like when you change the background color. if you like 41m just change color to that background color.

it just shows you how it looks like before you change to it. You change the background color manually.

:)

helloworld331
  • 166
  • 2
  • 9
  • 2
    Thank you. It is a relief to finally know what does it mean. But how about the virtical 1m, 30m, 1,30m, etc ...) ? – McLan May 13 '19 at 16:30
  • 1
    vertical = character colors, horizontal = background colors – helloworld331 Dec 16 '19 at 08:07
  • "*if you like 41m just change color to that background color*" - how!? If I want the default bg colour to be eg 41m, how do I do that? The colour pickers in iTerm prefs don't accept those codes, so how to use them? – Don't Panic Jun 28 '21 at 10:24
4

Each line is the color code of one foreground color, out of 17 (default + 16 escapes), followed by a test use of that color on all nine background colors (default + 8 escapes).

Those are escape sequences, the row and column are combined to form different color foreground/background combinations. The second column from the left in the color theme table is what your shell will use for its primary display.

Try running this script from one of your iTerm shells:

#!/bin/bash
#
#   This file echoes a bunch of color codes to the
#   terminal to demonstrate what's available.  Each
#   line is the color code of one forground color,
#   out of 17 (default + 16 escapes), followed by a
#   test use of that color on all nine background
#   colors (default + 8 escapes).
#

T='gYw'   # The test text

echo -e "\n                 40m     41m     42m     43m\
     44m     45m     46m     47m";

for FGs in '    m' '   1m' '  30m' '1;30m' '  31m' '1;31m' '  32m' \
           '1;32m' '  33m' '1;33m' '  34m' '1;34m' '  35m' '1;35m' \
           '  36m' '1;36m' '  37m' '1;37m';
  do FG=${FGs// /}
  echo -en " $FGs \033[$FG  $T  "
  for BG in 40m 41m 42m 43m 44m 45m 46m 47m;
    do echo -en "$EINS \033[$FG\033[$BG  $T  \033[0m";
  done
  echo;
done
echo

Ref: https://github.com/mbadolato/iTerm2-Color-Schemes/blob/master/tools/screenshotTable.sh

Example output from one of my shells:

enter image description here

SushiHangover
  • 73,120
  • 10
  • 106
  • 165
  • Is there any way of changing the terminal to use those particular combinations? – ProtonChain Dec 13 '15 at 23:12
  • That is what the color theme does... select one themes that you want and follow the Install instructions @ https://github.com/mbadolato/iTerm2-Color-Schemes or edit the colors yourself : iTerm's Preferences / Profiles (select one) / Colors – SushiHangover Dec 13 '15 at 23:19