ඔබේ පර්යන්තය සහ ෂෙල් පරිසරය වර්ණ ගැන්වීම?


267

මම වැඩි කාලයක් ගත කරන්නේ යුනික්ස් පරිසරවල වැඩ කිරීම සහ ටර්මිනල් ඉමුලේටර් භාවිතා කිරීමෙනි. විධාන රේඛාවේ වර්ණය භාවිතා කිරීමට මම උත්සාහ කරමි, මන්ද වර්ණය ප්‍රතිදානය වඩාත් ප්‍රයෝජනවත් සහ අවබෝධාත්මක කරයි.

මගේ පර්යන්ත පරිසරයට වර්ණය එක් කිරීමට ඇති විකල්ප මොනවාද? ඔබ භාවිතා කරන උපක්‍රම මොනවාද? ඔබ මුහුණ දී ඇති අන්තරායන් මොනවාද?

අවාසනාවකට, වර්ණ සඳහා සහාය ටර්මිනල් වර්ගය, මෙහෙයුම් පද්ධතිය, TERM සැකසුම, උපයෝගීතාව, දෝෂ සහිත ක්‍රියාත්මක කිරීම් ආදිය අනුව වෙනස් වේ.

බොහෝ අත්හදා බැලීම් වලින් පසුව, මගේ සැකසුම වෙතින් උපදෙස් කිහිපයක් මෙන්න:

  1. මම සැකසීමට නැඹුරු TERM=xterm-colorවන අතර එය බොහෝ සත්කාරක සමාගම් සඳහා සහය දක්වයි (නමුත් සියල්ලම නොවේ).
  2. මම විවිධ ධාරකයන්, විවිධ මෙහෙයුම් පද්ධති අනුවාදයන් ගණනාවක වැඩ කරමි. මම මැකෝස් එක්ස්, උබුන්ටු ලිනක්ස්, ආර්එච්එල් / සෙන්ටෝස් / විද්‍යාත්මක ලිනක්ස් සහ ෆ්‍රීබීඑස්ඩී වෙතින් සෑම දෙයක්ම භාවිතා කරමි. හැකි නම් මම දේවල් සරල හා සාමාන්‍ය ලෙස තබා ගැනීමට උත්සාහ කරමි.
  3. මම GNU භාවිතා කරමින් වැඩ screenරාශියක් කරන අතර එය තවත් විනෝද තට්ටුවක් එක් කරයි.
  4. බොහෝ මෙහෙයුම් පද්ධති dircolorsපෙරනිමියෙන් වැනි දේ සකසයි , විවිධ ධාරක සියයක් මත මෙය වෙනස් කිරීමට මට අවශ්‍ය නැත. ඒ නිසා මම පෙරනිමි සමඟ රැඳී සිටීමට උත්සාහ කරමි. ඒ වෙනුවට, මම මගේ පර්යන්තයේ වර්ණ වින්‍යාසය වෙනස් කරමි.
  5. භාවිතා සමහර වර්ණ යුනික්ස් විධාන ( ls, grep, less, vim) සහ කඩිනම් බෑෂ් . මෙම විධානයන් සම්මත " ANSI ගැලවීමේ අනුක්‍රම " භාවිතා කරන බව පෙනේ . උදාහරණයක් වශයෙන්:

    alias less='less --RAW-CONTROL-CHARS'
    export LS_OPTS='--color=auto'
    alias ls='ls ${LS_OPTS}'

මම මගේ පළ කර මගේම .bashrcප්‍රශ්නයට පිළිතුරු දෙන්නෙමි ජියෝපාඩි ස්ටයිල්.


fyi මගේ ප්‍රවේශය (පහත පිළිතුර බලන්න) OSX සහ ලිනක්ස් වෙනස්කම් සමඟ ගැටලු විසඳයි, උදාහරණයක් ලෙස එකක් මත වර්ණය ls -G වන අතර අනෙක ls --color-auto
Michael Durrant

1
තීරු වර්ණ ගැන්වීමේ මෙවලමක් කිසිවෙකු දුටුවාද? එය අ column -t --color?
ටොමේ පොස්පෙක්

Answers:


125

ඔබට කළ හැකි කරුණු කිහිපයක් මෙන්න:

සංස්කාරකවරුන් + කේතය
බොහෝ සංස්කාරකවරුන්ට සින්ටැක්ස් ඉස්මතු කිරීමේ සහාය ඇත. vimහා emacsපෙරනිමියෙන් එය මත ඇත. ඔබට එය යටතේ සක්‍රීයnano කළ හැකිය .

විධාන රේඛා මෙවලමක් ලෙස පිග්මන්ට්ස් භාවිතා කිරීමෙන් ඔබට ටර්මිනලයේ උද්දීපනය කිරීමේ කේතය සින්ටැක්ස් කළ හැකිය .

grep
grep --color=auto සියළුම තරඟ ඉස්මතු කරයි. export GREP_OPTIONS='--color=auto'අන්වර්ථයක් නොමැතිව එය නොනැසී පැවතීමටද ඔබට භාවිතා කළ හැකිය . ඔබ භාවිතා කරන්නේ නම් --color=always, එය පයිප්ප දැමීමේදී පවා වර්ණය භාවිතා කරයි.

ls

ls --color=always

නිශ්චිතව දක්වා ඇති වර්ණ:

export LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33'

(ඉඟිය: dircolorsප්‍රයෝජනවත් විය හැකිය)

PS1
වර්ණ භාවිතා කිරීම සඳහා ඔබේ PS1 (shell විමසුම) සැකසිය හැකිය. උදාහරණයක් වශයෙන්:

PS1='\e[33;1m\u@\h: \e[31m\W\e[0m\$ '

වැනි PS1 එකක් නිපදවනු ඇත:

[කහ] ලූකස් ub උබුන්ටු: [රතු] ~ [සාමාන්‍ය] $

ඔබට මෙය සමඟ සැබවින්ම නිර්මාණශීලී විය හැකිය. අදහසක් ලෙස:

PS1='\e[s\e[0;0H\e[1;33m\h    \t\n\e[1;32mThis is my computer\e[u[\u@\h:  \w]\$ '

අහඹු තොරතුරු කිහිපයක් සමඟ ඔබේ පර්යන්තයේ ඉහළින් තීරුවක් තබයි. (හොඳම ප්‍රති results ල සඳහාද භාවිතා කරන්න alias clear="echo -e '\e[2J\n\n'".)

පලායාමේ අනුක්‍රමයන් ඉවත් කිරීම

ඔබට අවශ්‍ය නැති විට යමක් ප්‍රතිදානය කරන දෙයක් හිර වී ඇත්නම් sed, ගැලවීමේ අනුපිළිවෙල ඉවත් කිරීමට මම මෙම රේඛාව භාවිතා කරමි :

sed "s/\[^[[0-9;]*[a-zA-Z]//gi"

ඔබට වඩාත් අව්‍යාජ අත්දැකීමක් අවශ්‍ය නම්, ඔබට ආරම්භ වන රේඛා ඉවත් කළ හැකිය \e[8m, එමඟින් පෙළ සැඟවීමට පර්යන්තයට උපදෙස් දෙයි. (පුළුල් ලෙස සහාය නොදක්වයි.)

sed "s/^\[^[8m.*$//gi"

ඒවා සත්‍ය [වචනාර්ථයෙන් විය යුතුය. ^ V ^ [bash, එනම් Ctrl+ V, Ctrl+ එබීමෙන් ඔබට ඒවා ටයිප් කළ හැකිය [.


1
පළමු PS1 පේළිය මේ ආකාරයට කියවිය යුතුය : PS1='\e[33;1m\u@\h: \e[31m\W\e[0m\$ '. සිව්වන බැක්ස්ලෑෂ් පසු අතිරික්ත x ඇත.
ක්‍රිස්

5
පලා යා යුතු ය, \[...\]නැතහොත් දෙවන පේළියේ විධාන පළමු පේළිය නැවත ලියයි. PS1 = '[\ e [33; 1m] \ u @ \ h: [\ e [31m] \ W \ e [0m \ $'
yanglifu90

මෙම ls --color=alwaysවැඩ කරන්නේ නැහැ. Ic මයිකල් ඩුරන්ට්ගේ ප්‍රවේශය මේ සඳහා වඩා හොඳය:ls --color=al > /dev/null 2>&1 && alias ls='ls -F --color=al' || alias ls='ls -G'
සයිමන් සී.

86

මම ද භාවිතා කරමි:

export TERM=xterm-color
export GREP_OPTIONS='--color=auto' GREP_COLOR='1;32'
export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad

ඔබේ විමසුම වර්ණ ගැන්වීමට ඔබ කැමති නම්, අර්ථ දක්වන ලද වර්ණ වර්ස් ප්‍රයෝජනවත් විය හැකිය:

export COLOR_NC='\e[0m' # No Color
export COLOR_WHITE='\e[1;37m'
export COLOR_BLACK='\e[0;30m'
export COLOR_BLUE='\e[0;34m'
export COLOR_LIGHT_BLUE='\e[1;34m'
export COLOR_GREEN='\e[0;32m'
export COLOR_LIGHT_GREEN='\e[1;32m'
export COLOR_CYAN='\e[0;36m'
export COLOR_LIGHT_CYAN='\e[1;36m'
export COLOR_RED='\e[0;31m'
export COLOR_LIGHT_RED='\e[1;31m'
export COLOR_PURPLE='\e[0;35m'
export COLOR_LIGHT_PURPLE='\e[1;35m'
export COLOR_BROWN='\e[0;33m'
export COLOR_YELLOW='\e[1;33m'
export COLOR_GRAY='\e[0;30m'
export COLOR_LIGHT_GRAY='\e[0;37m'

එවිට මගේ විමසුම මේ වගේ දෙයක්:

case $TERM in
     xterm*|rxvt*)
         local TITLEBAR='\[\033]0;\u ${NEW_PWD}\007\]'
          ;;
     *)
         local TITLEBAR=""
          ;;
    esac

local UC=$COLOR_WHITE               # user's color
[ $UID -eq "0" ] && UC=$COLOR_RED   # root's color

PS1="$TITLEBAR\n\[${UC}\]\u \[${COLOR_LIGHT_BLUE}\]\${PWD} \[${COLOR_BLACK}\]\$(vcprompt) \n\[${COLOR_LIGHT_GREEN}\]→\[${COLOR_NC}\] "  

v (vcprompt) මගේ ~ / sbin හි පයිතන් ස්ක්‍රිප්ට් එකක් අමතන අතර එය වර්තමාන මාර්ගය පිළිබඳ අනුවාද පාලන තොරතුරු මුද්‍රණය කරයි. එයට මර්කුරියල්, ගිට්, එස්වීඑන්, සීවී යනාදිය සඳහා සහාය ඇතුළත් වේ. පිටපතෙහි කතුවරයාට මෙහි මූලාශ්‍රය ඇත .

Bash ක්ෂණික තිර රුව

මේ වන සම්පූර්ණ ප්රභව මගේ කඩිනම් වින්යාසය පිළිබඳ:


ඉහත PS1 භාවිතා කරන විට මට ඇති වූ රේඛීය ගැටලුවකට විසඳුම සඳහා මෙහි බලන්න: stackoverflow.com/questions/5087036/…
Xander Dunn

විමසුමේ වර්ණ සඳහා ගැලවී ගිය වරහන් පිළිබිඹු කිරීම සඳහා මම පිළිතුර යාවත්කාලීන කර ඇත. ස්තූතියි!
ක්‍රිස්

1
$LSCOLORSහා $CLICOLORBSD ls සඳහා වේ. GNU ls (ලිනක්ස්) $LS_COLORSවෙනස් සින්ටැක්ස් සමඟ භාවිතා කරයි . GNU මට නිවහනක් සේ හැඟෙන බැවින්, මම LSCOLORS=exgxfxDacxBaBaCaCaeaEaBSD හි GNU හි වර්ණ අනුකරණය කිරීමට භාවිතා කරමි .
ඇඩම් කැට්ස්

grep: warning: GREP_OPTIONS is deprecated; please use an alias or script
ස්ටීවන් අල්මෙරොත්

1
.bashrcවෙනස් කිරීම .ලදායී වීමට ඔබට ගොනුව මූලාශ්‍ර කිරීමට අවශ්‍ය විය හැකිය. පහත දැක්වෙන විධානය මඟින් ඔබට එය කළ හැකිය. source /path/to/.bashrc
amiabl

18

grepහා lsදැනටමත් සඳහන් කර ඇති, ඔබට ගොඩක් වැඩි අවශ්ය නම් වර්ණ පරීක්ෂා Generic බලපත්රය යටතේ අවසර ලබා ඇත Coloriser , එහි මූලික අරමුණ logfiles colorize විය, නමුත් එය ද colorizes කොටුව අයිතිය පෙන්වා ping, traceroute, gcc, make, netstat, diff, last, ldap, සහ cvs.

ඔබ රීජෙක්ස් දන්නේ නම් එය පහසුවෙන් දිගු වේ. මම එකතු කලා psහා nmapලැයිස්තුවට (ඔබ වෙත ලබා නම් grcමම එම මෙවලම් දෙක සඳහා .conf ගොනු බෙදා හදා ගැනීමට වඩා සතුටු වනු ඇත)

(Btw හරහා එය ස්ථාපනය කිරීමට synaptic, pacmanහා සමානව බෙදාහදා ගැනීම ඔබ "ජාන සම්පත් මධ්යස්ථානෙය්" සඳහා වඩා හොඳ වාසනාව සොයන්නාට තිබිය හැකිය)


grcදැන් psපෙරනිමියෙන් සහය දක්වයි . මම ඔබේ nmapවර්ණ ගැන්වීම් ගැන උනන්දු වෙමි . ඔබ grc උත්ශ්‍රේණිගත කිරීමේදී නව විධානයන් උරා ගන්නා අයුරින් මේ සියල්ල අන්වර්ථකරණය කිරීම සඳහා මගේ පිළිතුර ද බලන්න.
ඇඩම් කැට්ස්

මම ඒක දැක්කා. මෙන්න මගේ conf.nmap (සහ අනෙක් සියල්ල, ඇත්ත වශයෙන්ම) gist.github.com/sygo/844982#file-conf-nmap - ඔබ ඉන්ෆොසෙක් හි වැඩ කරන බව මම දුටුවෙමි, ඔබට conf.hexdump සිත්ගන්නාසුළු විය හැකිය, මම තවම එය අවසන් කර නැත නමුත්.
සිගෝ

ස්තූතියි y සයිගෝ. මම ඔබේ සාරාංශය සංශෝධනය කර සංශෝධනය කර ඇත්තෙමි. මම කිසි විටෙකත් git සමඟ දත්ත බැඳී නොමැත (ගිතූබ්ගේ සාරාංශ පමණක් නොව) එය ඔබට නැවත ඒකාබද්ධ කිරීමට යෝජනා කරන්නේ කෙසේදැයි මට සිතාගත නොහැක (මම මෙය අනුමාන කරන්නේ සාරාංශ ඉතා සරල නිසා).
ඇඩම් කැට්ස්

එය සාරාංශයක් මිස නිසි ගබඩාවක් නොවන නිසා ඔබට එය කළ නොහැකි යැයි මම සැක කරමි. මම ඔබේ දෙබල පරීක්ෂා කර බැලුවද මම අනිවාර්යයෙන්ම ඔබේ අනුවාදය අත්හදා බලමි. මට කුතුහලයක් ඇති වන්නේ එම හෙක්ස් ඩම්ප් එකක් බවට
පත්වන්නේ කුමක් ද යන්නයි

12

OSX සහ උබුන්ටු යන දෙඅංශයේම වැඩ කිරීමට මම වසර ගණනාවක් තිස්සේ මගේ .bashrc ට ගෞරව කළෙමි.
සංයුක්ත තත්ව ප්‍රකාශ සමඟ මම එය ප්‍රමාණයෙන් පේළි 28 දක්වා අඩු කර ඇත්තෙමි.
එය සමඟ, මගේ PS1 විමසුම මෙසේ පෙනේ: රූප විස්තරය මෙහි ඇතුළත් කරන්න

කාලය රතු පැහැයෙන්, පරිශීලක නාමය කොළ පැහැයෙන්, යන්ත්‍රයේ නම ලා නිල් පැහැයෙන්, pwd තද නිල් පැහැයෙන් සහ git ශාඛාව කහ පැහැයෙන්.

මගේ PS1 විමසුමේ විශේෂාංගය:

  • git ශාඛාව පෙන්වයි!
  • දිගු ඩිරෙක්ටරි මාර්ග (මූලද්‍රව්‍ය 6 කට වඩා වැඩි) ඒ අතර ඇති ඉහළම 3 සහ පහළ 3 නාමාවලි පෙන්වීමට 'කැපීම' කර ඇත _(එය pwd sedLOCATION හි කොටසයි).
  • ප්‍රවාහනය අවසානයේ නැවත පැමිණීම නිසා එම විමසුම සැමවිටම වම්පස ඇත!

මගේ .bashrcගොනුවේ අදාළ රේඛා :

git_branch () { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'; }
HOST='\033[02;36m\]\h'; HOST=' '$HOST
TIME='\033[01;31m\]\t \033[01;32m\]'
LOCATION=' \033[01;34m\]`pwd | sed "s#\(/[^/]\{1,\}/[^/]\{1,\}/[^/]\{1,\}/\).*\(/[^/]\{1,\}/[^/]\{1,\}\)/\{0,1\}#\1_\2#g"`'
BRANCH=' \033[00;33m\]$(git_branch)\[\033[00m\]\n\$ '
PS1=$TIME$USER$HOST$LOCATION$BRANCH
PS2='\[\033[01;36m\]>'

ලබා ගත හැකි විට වර්ණ ඇති ls සඳහා සහ නොමැති විට දෝෂ නොමැත (එනම් OSX):

ls --color=al > /dev/null 2>&1 && alias ls='ls -F --color=al' || alias ls='ls -G'

1
lsඕඑස් එක්ස් සඳහා වර්ණ ලබා ගත හැකි නමුත් එය භාවිතා කිරීමෙන් සිදු කෙරේ export CLICOLOR=1.
තෝමස් ඩබ්ලිව්

3
HThomasW නමුත් ලිනක්ස් මත නොවේ :-p මිනිහා මේ දෙකම භාවිතා කරයි.
ජිමී කේන්

1
එසේ වුවද, මැකෝස් 10 හි වර්ණ ලබා ගත නොහැකි බව පැවසීමේදී පිළිතුර වැරදියි කියා පෙන්වා දීම තෝමස් ඩබ්ලිව්. lsමෙහි ඇති කඩිනම් නූල් ඇත්ත වශයෙන්ම දෝෂ සහිත බැවින් පිළිතුර ද වැරදිය. ඔවුන් නැහැ නිවැරදිව තුලනය \[හා\] , හා මෙම පිළිතුර පිටපත් අවම වශයෙන් එක් පුද්ගලයෙකු සඳහා ප්රශ්න ඇති කර .
JdeBP

9

මෑන් පිටු සඳහා වර්ණ ( වැඩි විස්තර ):

function _colorman() {
  env \
    LESS_TERMCAP_mb=$(printf "\e[1;35m") \
    LESS_TERMCAP_md=$(printf "\e[1;34m") \
    LESS_TERMCAP_me=$(printf "\e[0m") \
    LESS_TERMCAP_se=$(printf "\e[0m") \
    LESS_TERMCAP_so=$(printf "\e[7;40m") \
    LESS_TERMCAP_ue=$(printf "\e[0m") \
    LESS_TERMCAP_us=$(printf "\e[1;33m") \
      "$@"
}
function man() { _colorman man "$@"; }
function perldoc() { command perldoc -n less "$@" |man -l -; }

Grep සඳහා වර්ණ ( 1;32දීප්තිමත් කොළ පාටයි, වෙනත් වර්ණ සඳහා මෙහි වෙනත් ලිපි බලන්න):

GREP_OPTS='--color=auto'      # for aliases since $GREP_OPTIONS is deprecated
GREP_COLOR='1;32'             # (legacy) bright green rather than default red
GREP_COLORS="ms=$GREP_COLOR"  # (new) Matching text in Selected line = green
alias   grep='grep $GREP_OPTS'
alias egrep='egrep $GREP_OPTS'
alias fgrep='fgrep $GREP_OPTS'

GNU ls සඳහා තවත් වර්ණ :

# use the config at ~/.dircolors if it exists, otherwise generate anew
eval "$( dircolors --sh $(ls -d ~/.dircolors 2>/dev/null) )"

# Usage: _ls_colors_add BASE NEW [NEW...]
# Have LS color given NEW extensions the way BASE extension is colored
_ls_colors_add() {
  local BASE_COLOR="${LS_COLORS##*:?.$1=}" NEW
  if [ "$LS_COLORS" != "$BASE_COLOR" ]; then
    BASE_COLOR="${BASE_COLOR%%:*}"
    shift
    for NEW in "$@"; do
      if [ "$LS_COLORS" = "${LS_COLORS#*.$NEW=}" ]; then
        LS_COLORS="${LS_COLORS%%:}:*.$NEW=$BASE_COLOR:"
      fi
    done
  fi
  export LS_COLORS
}

_ls_colors_add zip jar xpi            # archives
_ls_colors_add jpg ico JPG PNG webp   # images
_ls_colors_add ogg opus               # audio (opus now included by default)

CLICOLOR=1   # BSD auto-color trigger (like  ls -G  but for everything)
if ls -ld --color=auto / >/dev/null 2>&1
  then alias ls="ls -ph --color=auto"
  else alias ls="ls -ph"
fi

ස්ථාපනය කරන්න grc( සාමාන්‍ය වර්ණකය ) එය ඔබගේ අන්වර්ථ නාමයට එක් කරන්න:

# using this as a variable allows easier calling down lower
export GRC='grc -es --colour=auto'

# loop through known commands plus all those with named conf files
for cmd in g++ head ld ping6 tail traceroute6 `locate grc/conf.`; do
  cmd="${cmd##*grc/conf.}"  # we want just the command
  # if the command exists, alias it to pass through grc
  type "$cmd" >/dev/null 2>&1 && alias "$cmd"="$GRC $cmd"
done

# This needs run-time detection. We even fake the 'command not found' error.
configure() {
  if [[ -x ./configure ]]; then
    colourify ./configure "$@"
  else
    echo "configure: command not found" >&2
    return 127
  fi
}

# GRC plus LS awesomeness (assumes you have an alias for ls)
unalias ll 2>/dev/null
if ls -ld --color=always / >/dev/null 2>&1; then GNU_LS="--color=always"; fi

ll() {
  if [[ -t 1 ]] || [[ -n "$CLICOLOR_FORCE" ]]
    then colourify ls -l $GNU_LS "$@"
    else ls -l "$@"
  fi
}

වෙනස සඳහා වර්ණ : ශ්‍රිතයක් සඳහා ඕනෑවට වඩා අන්තර්ගතය, ස්ක්‍රිප්ට් එකක් භාවිතා කර එය ඔබේ rc ගොනුවේ අන්වර්ථ කරන්න (ඔබ ස්ථාපනය කර ඇත්නම් අනවශ්‍ය grc):

#!/usr/bin/perl
use strict;
use warnings;

open (DIFF, "-|", "diff", @ARGV) or die $!;

my $ydiff = 1;
while (<DIFF>) {
  if (not -t 1) {
    print;
    next;
  }
  chomp;
  $ydiff = 0 if /^[ <>\@+-]/ or ($. == 1 && /^\d+[a-z]{1,5}\d+$/);
  my $color = "";
  if (! $ydiff && /^[\@+-<>]/) {
    $color = (/^[<-](?!--$)/ ? 1 : /^[+>]/ ? 2 : 5);
  } elsif ($ydiff && /\t {6}([<|>])(?:\t|$)/) {
    $color = ($1 eq "<" ? 1 : $1 eq ">" ? 2 : 4);
  }
  $color ? printf ("\e[1;3%dm%s\e[0;0m\n",$color,$_) : print "$_\n";
}
close DIFF;

Bash විමසුම සඳහා වර්ණ :

# Shorten home dir, cygwin drives, paths that are too long
if [ -d /cygdrive ] && uname -a |grep -qi cygwin; then CYGWIN_OS=1; fi
function PSWD() {
  local p="$*" space A B cols="${COLUMNS:-`tput cols 2>/dev/null || echo 80`}"
  p="${p/$HOME/\~}"         # shrink home down to a tilde
  if [ -n "$CYGWIN_OS" ] && [ "${p#/cygdrive/?/}" != "$p" ]; then
    p="${p:10:1}:${p:11}"   # /cygdrive/c/hi -> c:/hi
  fi
  space="$((${#USER}+${#HOSTNAME}+6))"  # width w/out the path
  if [ "$cols" -lt 60 ]; then echo -n "$N "; space=-29; p="$p$N\b"; fi
  if [ "$cols" -lt "$((space+${#p}+20))" ]; then # < 20 chars for the command
    A=$(( (cols-20-space)/4 ))      # a quarter of the space (-20 for cmd)
    if [ $A -lt 4 ]; then A=4; fi   # 4+ chars from beginning
    B=$(( cols-20-space-A*2 ))      # half (plus rounding) of the space
    if [ $B -lt 8 ]; then B=8; fi   # 8+ chars from end
    p="${p:0:$A}..${p: -$B}"
  fi
  echo "$p"
}

PSC() { echo -ne "\[\033[${1:-0;38}m\]"; }
PR="0;32"       # default color used in prompt is green
if [ "$(id -u)" = 0 ]; then
    sudo=41     # root is red background
  elif [ "$USER" != "${SUDO_USER:-$USER}" ]; then
    sudo=31     # not root, not self: red text
  else sudo="$PR"   # standard user color
fi
PROMPT_COMMAND='[ $? = 0 ] && PS1=${PS1[1]} || PS1=${PS1[2]}'
PSbase="$(PSC $sudo)\u$(PSC $PR)@\h $(PSC 33)\$(PSWD \w)"
PS1[1]="$PSbase$(PSC $PR)\$ $(PSC)"
PS1[2]="$PSbase$(PSC  31)\$ $(PSC)"
PS1="${PS1[1]}"
unset sudo PR PSbase

bash විමසුමේ නිරූපණය


1
තිර රුවක් සඳහා ඉහළට
හරිත

මගේ PSWD()කාර්යය POSIX- අනුකූල වන නමුත් bash / zsh උපස්ථර හැසිරවීම භාවිතා කිරීම පහසුය. POSIX අනුවාදය සඳහා 6 වන සංශෝධනය බලන්න , එය ප්‍රශ්න ලකුණු රාශියක් ඇතුළත් වන අතර එය කිසිසේත්ම පර්යන්ත පළලට අනුගත නොවීය. මම තිර රුව යාවත්කාලීන කළේ නැත, නමුත් එය අක්ෂර 80 පළලෙහි සුළු වෙනසක් පමණි.
ඇඩම් කැට්ස්

CLICOLOR=1FREEBSD 11.2 සමඟ මා වෙනුවෙන් වැඩ නොකරයි
සයිමන් සී.

1
Im සිමොන් සී. - ඔබ BSD වලට වඩා ඔබේ FreeBSD පද්ධතියේ GNU උපයෝගිතා භාවිතා කරයි. BSD භාවිතා කිරීම CLICOLOR=1 lsහා සමාන දෙයක් කළ යුතුය ls -G( ls -gපැරණි BSD වල). ls --colorක්‍රියා කරන්නේ නම් (දෝෂයක් නොමැත), ඔබ GNU හි lsවිධානය භාවිතා කරන අතර $CLICOLORඑය නොසලකා හරිනු ලැබේ.
ඇඩම් කැට්ස්

1
Im සිමොන් සී. - ~/.bashrcයම් වෙනසක් සිදුවීමට නම් ඔබ සැබවින්ම ඔබේ බර පැටවිය යුතුය. එක්කෝ source ~/.bashrcනව බාෂ් සැසියක් ධාවනය කරන්න හෝ ආරම්භ කරන්න (පර්යන්තයක් දියත් කරන්න හෝ ධාවනය කරන්න bash).
ඇඩම් කැට්ස්

8

තද / වර්ණ විමසුමක් සකසන්න. සිට cyberciti.biz සහ BashFAQ

# 'tput bold' will work regardless of the foreground and background colors.
# Place the tput output into variables, so they are only execd once.
bold=$(tput bold) # This could also be a color.
reset=$(tput sgr0)
export PS1="\u@\[$bold\]\h\[$reset\]:\w \$ "

පුළුල් ලෙස සහාය දක්වන සහ පැරණි පරිසරවල (FreeBSD4 පවා) ගොබ්ලෙඩිගුක් අක්ෂර මුද්‍රණය නොකරන වර්ණ සැකසුම් සොයා ගැනීමට මට හැකි වී ඇති අතර TERM = vt100, xterm, xterm-color නම් හොඳින් ක්‍රියා කරන බව පෙනේ. (බොහෝ දුරට). මගේ .bashrc වෙතින්:

# Set some options, based on the OS
OS=`uname -s` 

case "$OS" in
    "SunOS" ) 
        # Solaris ls doesn't allow color, so use special characters
        LS_OPTS='-F'
        alias  ls='ls ${LS_OPTS}'
        ;;
    "Linux" )
        # GNU ls supports colors!
        # See dircolors to customize colors
        export LS_OPTS='--color=auto' 
        alias  ls='ls ${LS_OPTS}'

        # Get color support for 'less'
        export LESS="--RAW-CONTROL-CHARS"

        # Use colors for less, man, etc.
        [[ -f ~/.LESS_TERMCAP ]] && . ~/.LESS_TERMCAP

        export GREP_OPTIONS="--color=auto"

        ;;
    "Darwin"|"FreeBSD")

        # Most FreeBSD & Apple Darwin supports colors
        export CLICOLOR=true
        # Get color support for 'less'
        export LESS="--RAW-CONTROL-CHARS"

        # Use colors for less, man, etc.
        [[ -f ~/.LESS_TERMCAP ]] && . ~/.LESS_TERMCAP

        export GREP_OPTIONS="--color=auto"
        ;;
    * ) 
        echo "Unknown OS [$OS]"
        ;;
esac

1
නැතහොත් ඔබට ZSH භාවිතා කිරීමට අවශ්‍ය නම්, aperiodic.net/phil/prompt හි ෆිල් ගෝල්ඩ්ගේ විමසුම කලා කෘතියකි.
tsvallender

6

දැනටමත් මෙහි පවසා නැති දේවල්:

ඔබගේ සම්පාදනයේ ප්‍රතිදානය gcc සමඟ වර්ණ ගැන්වීමට, ජොහැන්නස් ෂ්ලෙටර් විසින් colorgcc ඇත

ල logs ු-සටහන් වර්ණ ගැන්වීම සඳහා, බහුකාර්ය ඇත

ඕනෑම stdout වර්ණ ගැන්වීම සඳහා, මම xcol එකට දැමුවෙමි

xcol උදාහරණය

මම පෞද්ගලිකව මේවා xcol මෙවලමෙන් භාවිතා කරමි.

#normal=$(tput sgr0)                      # normal text
normal=$'\e[0m'                           # (works better sometimes)
bold=$(tput bold)                         # make colors bold/bright
red="$bold$(tput setaf 1)"                # bright red text
green=$(tput setaf 2)                     # dim green text
fawn=$(tput setaf 3); beige="$fawn"       # dark yellow text
yellow="$bold$fawn"                       # bright yellow text
darkblue=$(tput setaf 4)                  # dim blue text
blue="$bold$darkblue"                     # bright blue text
purple=$(tput setaf 5); magenta="$purple" # magenta text
pink="$bold$purple"                       # bright magenta text
darkcyan=$(tput setaf 6)                  # dim cyan text
cyan="$bold$darkcyan"                     # bright cyan text
gray=$(tput setaf 7)                      # dim white text
darkgray="$bold"$(tput setaf 0)           # bold black = dark gray text
white="$bold$gray"                        # bright white text

මම මෙම විචල්‍යයන් මගේ ස්ක්‍රිප්ට් වල භාවිතා කරමි

echo "${red}hello ${yellow}this is ${green}coloured${normal}"

මමත් කැමතියි මේ කුඩා ක්‍රියාකාරී වර්ණ එක්කෝ (ස්ටැක් පිටාර ගැලීම් වල දක්නට ලැබේ)

function coloredEcho(){
    local exp=$1;
    local color=$2;
    if ! [[ $color =~ '^[0-9]$' ]] ; then
       case $(echo $color | tr '[:upper:]' '[:lower:]') in
        black) color=0 ;;
        red) color=1 ;;
        green) color=2 ;;
        yellow) color=3 ;;
        blue) color=4 ;;
        magenta) color=5 ;;
        cyan) color=6 ;;
        white|*) color=7 ;; # white or invalid color
       esac
    fi
    tput setaf $color;
    echo $exp;
    tput sgr0;
}

coloredEcho "This text is green" green

කණගාටුයි, තවත් සබැඳි පළ කිරීමට අවසර නැත


2
හෙලෝ, ඔබ කොඩි සාදා ගන්නේ කෙසේද, ක්ෂණික මාවත සඳහා? ත්රිකෝණාකාර කෙළවර සහිත සෘජුකෝණාස්රාකාර බාර් ගැන මම සඳහන් කරමි. ස්තූතියි
ආටුර් වීරා

එය උබුන්ටු ග්නු පර්යන්තයක ද ක්‍රියාත්මක වේද?
හෙල්



4

මා දුටු වඩාත්ම බලගතු කොන්සෝල අංගයන්ගෙන් එකක් වන ZSH සහ එහි ප්ලගිනය oh-my-zsh පරීක්ෂා කර බැලීමට මම යෝජනා කරමි. ඒවායින් එකක් වන්නේ ඔබේ පර්යන්තය සඳහා තේමාව තෝරා ගැනීමයි. මෙය මගේ තේමාවට උදාහරණයකි ... වර්ණ එතරම් උණුසුම් නොවන නමුත් ඒවා මෙම පින්තූරයේ මෙන් සමාන වේ ... ඕනෑම ආකාරයකින් ඔබ එයට කැමති වනු ඇත!

රූප විස්තරය මෙහි ඇතුළත් කරන්න


2
මට හැකි නම්, මම ඕ-මයි-ඉසෙඩ්එච් යෝජනාව සඳහා මෙය අවතක්සේරු කරමි. පර්යන්තයේ පුළුල් ලෙස වැඩ කරන පද්ධති ඉංජිනේරුවෙකු ලෙස සහ මගේ වැඩ ප්‍රවාහයට zsh / oh-my-zsh භාවිතා කිරීමට උත්සාහ කළ අයෙකු ලෙස, මට අවංකවම කිව හැකිය මම කිසි විටෙකත් ZSH කිසිවෙකුට නිර්දේශ නොකරමි. ඔබට වෙනත් ෂෙල් එකක නම් කරන ලද ගොනුවකට zsh සමමුහුර්ත කර එම කවචය අනුකරණය කළ හැකිය, නමුත් ඔබ එය කරන විට එය ඔබේ .bashrc, .bash_profile යනාදිය කියවන්නේ නැත. එසේම, ඔබට emulate bashඔබේ .zprofile හෝ .zshrc ඇතුළත් කළ නොහැක. ගොනු. BASH හි උසස් විශේෂාංග සමඟ වැඩ කරන ඕනෑම කෙනෙකුට, ඔබට දෂ්ට කරන බොහෝ සියුම්කම් තිබේ. BASH වඩා හොඳ sh.
චාල්ස් අඩිස්

2
ZSH කොටුවෙන් පිටත ඇති එකම දෙය විධාන සම්පුර්ණ කිරීමයි, නමුත් එය පවා BASH හි වැඩසටහන්ගත කළ හැකිය. ඉඳහිට ලෞකික කාර්යයන් හැරුණු විට කවචය භාවිතා නොකරන කෙනෙකු ZSH භාවිතා කළ යුතුය, නමුත් එය කවචය පුළුල් ලෙස භාවිතා කළ යුතු කිසිවෙකුට නොවේ. මෙම =~ක්රියාකරු ඔබ ZSH හැන්ඩ්ල් පෙලගැස්මක් ආදිය, ඔබ දෂ්ට කළ හැකි මම එය ප්රමාණවත්, මාස 9 ක් පමණ ZSH / අපොයි-මගේ-ZSH භාවිතා කිරීමෙන් පසු මාර්ගය දෂ්ට හැක. මම මා විසින්ම ලියන ලද අභිරුචි තේමාවක් භාවිතා කරමින් සිටියෙමි, මම එය BASH වෙත ගෙන ගොස් මගේම git විමසුමක් ලියා ඇති අතර මම කිසි විටෙකත් ආපසු හැරී බැලුවේ නැත. දැන් මම අතේ ගෙන යා හැකි දේ ගැන තවදුරටත් කරදර නොවෙමි
චාල්ස් ඇඩිස්

1
"එය මා දුටු වඩාත්ම බලගතු කොන්සෝල අංගයන්ගෙන් එකකි. ඒවායින් එකක් වන්නේ ඔබේ පර්යන්තය සඳහා තේමාව තෝරා ගැනීමයි."
ජොනතන් හාර්ට්ලි

On ජොනතන් හාර්ට්ලි, ඔබේ අදහස අසම්පූර්ණ වූ බවක් පෙනේ. ?
වයිල්ඩ්කාඩ්

2
ඔබගේ සැලකිල්ලට ස්තූතියි නමුත් මගේ ප්‍රකාශය මා පැවසීමට අදහස් කළ සියල්ල පවසයි.
ජොනතන් හාර්ට්ලි

4

විවිධ ප්‍රතිදානය වර්ණයෙන් බැලීමට, colordiff භාවිතා කරන්න .

sudo apt-get install colordiff

ඕනෑම වෙනස් හැඩතල ප්‍රතිදානයක් කොලර්ඩිෆ් වෙත නල කරන්න:

කොලෝර්ඩිෆ් තුළට නල මාර්ගයේ ප්‍රතිදානය

-y(පැති දෙපස) වැනි වෙනසක විකල්ප ආකෘති කිහිපයක් මෙයට ඇතුළත් වේ .

විකල්පයක් ලෙස, තනිවම ආයාචනා කළ හොත් (එයට කිසිවක් නල රහිතව) එය 'වෙනස' වටා එතීමක් ලෙස ක්‍රියා කරන අතර ප්‍රතිදානය වර්ණවත් කරයි. එබැවින් මෙය මගේ .bashrc හි අන්වර්ථය 'වෙනස' සිට කොලර්ඩිෆ් දක්වා ඇත.

# if colordiff is installed, use it
if type colordiff &>/dev/null ; then
    alias diff=colordiff

1
මෙම .bashrcඋදාහරණය අවසන් අතුරුදහන් fi, සහ එක් පේලියක් විධාන පරිවර්තනය කළ හැකි:type colordiff &> /dev/null && alias diff='colordiff'
Teemu Leisti

3

මූල සහ මූල නොවන කවච අතර පහසුවෙන් වෙන්කර හඳුනා ගැනීම සඳහා සමහර පෙළ සැරසිලි (තද). Zsh සඳහා:

if test $UID = 0
    then PS1="%B${PS1}%b "
fi

Bash සඳහා:

if test $UID = 0
    then PS1="\033[1m${PS1}\033[0m"
fi

කරුණාකර ඔබේ කවචය සඳහන් කරන්න. ප්‍රශ්නයේ එකම ෂෙල් විශේෂිත ටැගය බාෂ් ය , නමුත් ඔබේ කේතය එසේ නොවන බව මට හැඟේ bash.
manatwork

atmanatwork: කණගාටුයි, එය Zsh බව සඳහන් කිරීමට අමතක විය. මගේ සටහන යාවත්කාලීන කරන ලදි.
මිස්චා අරෙෆීව්

3

මම කල්පනා කළේ එකම දෙයයි. මට මගේම ප්‍රවේශයක් ඇත, නමුත් මම විකල්ප සොයමි.

මම වැඩසටහන් ඇමතුම් වටා බැෂ් එතීම් ලියන අතර ඒවායේ ප්‍රතිදානය නල කරන්නෙමි sed. මා කැමති sedදෙය නම්, එය එක් එක් පේළිය එකවරම වෙනස් කර ප්‍රතිරාවය කරනු ඇත => වැඩි බෆරයක් නොවේ. කෙසේ වෙතත්, ඔතා ඇති වැඩසටහනකට කරන sedසෑම ඇමතුමකටම කේතය විග්‍රහ කොට සම්පාදනය කිරීම මම අකමැතියි.

උදාහරණයක් ලෙස මෙහි ප්‍රතිදානය වර්ණ ගැන්වීමට මා කරන්නේ මෙයයි ip:

#
# Colorcodes
#
NORMAL=`echo -e '\033[0m'`
RED=`echo -e '\033[31m'`
GREEN=`echo -e '\033[0;32m'`
LGREEN=`echo -e '\033[1;32m'`
BLUE=`echo -e '\033[0;34m'`
LBLUE=`echo -e '\033[1;34m'`
YELLOW=`echo -e '\033[0;33m'`


#
# command: ip
# highlight ip addresses, default route and interface names
#

IP4=$GREEN
IP6=$LBLUE
IFACE=${YELLOW}
DEFAULT_ROUTE=$LBLUE

IP_CMD=$(which ip)

function colored_ip()
{
${IP_CMD} $@ | sed \
    -e "s/inet [^ ]\+ /${IP4}&${NORMAL}/g"\
    -e "s/inet6 [^ ]\+ /${IP6}&${NORMAL}/g"\
    -e "s/^default via .*$/${DEFAULT_ROUTE}&${NORMAL}/"\
    -e "s/^\([0-9]\+: \+\)\([^ \t]\+\)/\1${IFACE}\2${NORMAL}/"
}

alias ip='colored_ip'

3

විමසුම සැකසීම සඳහා, මෙය මගේ .bashrc ගොනුවේ ඇත.

#Set variables for foreground colors
fgRed=$(tput setaf 1)     ; fgGreen=$(tput setaf 2)  ; fgBlue=$(tput setaf 4)
fgMagenta=$(tput setaf 5) ; fgYellow=$(tput setaf 3) ; fgCyan=$(tput setaf 6)
fgWhite=$(tput setaf 7)   ; fgBlack=$(tput setaf 0)
#Set variables for background colors
bgRed=$(tput setab 1)     ; bgGreen=$(tput setab 2)  ; bgBlue=$(tput setab 4)
bgMagenta=$(tput setab 5) ; bgYellow=$(tput setab 3) ; bgCyan=$(tput setab 6)
bgWhite=$(tput setab 7)   ; bgBlack=$(tput setab 0)
#Set variables for font weight and text decoration
B=$(tput bold) ; U=$(tput smul) ; C=$(tput sgr0)
#NOTE: ${C} clears the current formatting

if [[ $USER = "root" ]]; then
  PS1="${B}${fgRed}\u${C}@\h(\s): ${fgGreen}\w${C} > "
else
  PS1="${B}${fgCyan}\u${C}@\h(\s): ${fgGreen}\w${C} > "
fi

මෙය මට මේ වගේ දෙයක් පෙනෙන විමසුමක් ලබා දෙයි:

user@host(bash): ~/bin >

වැඩ කරන නාමාවලිය කොළ පාටින් ඇත. මම ෂෙල් එක සමඟ ධාවනය නොකළහොත් පරිශීලක නාමය තද සහ සයන් වේ sudo, එම අවස්ථාවේදී පරිශීලක නාමය ("root") තද සහ රතු පැහැයෙන් දිස් වේ.

ආකෘතිකරණ පාලන අක්ෂර විචල්‍යයන්හි ගබඩා කර තැබීමට මම පෞද්ගලිකව ඇත්තෙන්ම කැමතියි, මන්ද එය විමසුම සැකසීම සඳහා කේතය කියවීම පහසු කරයි. එමඟින් විමසුම සංස්කරණය කිරීම වඩාත් පහසු කරයි.

මා භාවිතා කිරීමට හේතුව tputඑය අමුතු 033[01;31m\]අනුපිළිවෙලට වඩා විශ්වීය ලෙස සහාය වීමයි. අමතර ප්‍රසාද දීමනාවක් ලෙස, ඔබ echo $PS1විමසුමේදී කරන්නේ නම්, එම නොතේරෙන පාලන අනුක්‍රම වෙනුවට වර්ණ සහිත අමු විමසුමක් ඔබට පෙනෙනු ඇත .


2

ස්ක්‍රිප්ට් ප්‍රතිදානය වර්ණ ගැන්වීමට උපකාරී වන ව්‍යාපෘතියක් ඔබට උත්සාහ කළ හැකිය, එහි නම් කර ඇති ScriptEchoColor නම් මූලාශ්‍රය: http://scriptechocolor.sourceforge.net/

උදා :.

echoc "@{lr}text output in light red"
echoc "@{bLGu}text outpus in blue, light green background and underlined"
echoc "you @{lr} can @{bLGu} mix @{-a} it all too"
echoc -x "ls" #executes ls command and colorizes it automatically to be easy to be seen

ස්වයංක්‍රීය වර්ණ වින්‍යාසගත කළ හැකිය.

මෙය එය සමඟ කළ උදාහරණයකි: රූප විස්තරය මෙහි ඇතුළත් කරන්න


2

විධානවල ප්‍රතිදානය වර්ණ ගැන්වීම සඳහා පොදු පොදු අරමුණු සහිත පයිතන් මෙවලමක් වන්නේ ' කොලූට් ' ය

ඔබ එයට N කාණ්ඩ සමඟ රීජෙක්ස් එකක් ලබා දෙන අතර, කොමා මඟින් වෙන් කරන ලද N වර්ණ ලැයිස්තුවක් අනුගමනය කරයි. කණ්ඩායමකට ගැලපෙන ඕනෑම පෙළක් අනුරූප වර්ණයෙන් දර්ශනය වේ.

උදාහරණයක් ලෙස, ඔබ යම් පරීක්ෂණ ප්‍රතිදානයක් දෙස බලන්නේ නම්:

python -m unittest discover -v

සමහර පයිතන් යුනිටෙට් වල වර්ණ ගැන්වූ ප්‍රතිදානය

එවිට ඔබට එය ඉසිය හැක:

python -m unittest discover -v 2>&1 | colout '(.*ERROR$)|(.*FAIL$)|(\(.*\))' red,yellow,black bold

සමහර පයිතන් යුනිටෙට් වල වර්ණ ප්‍රතිදානය

මගේ රීජෙක්ස් කාණ්ඩ තුනක් (වරහන්) ඇති අතර ඉන්පසු වර්ණ තුනක් (සහ විකල්ප වශයෙන් මෝස්තර තුනක් ඇත, නමුත් මම සියලු වර්ණ 'තද' ලෙස සැකසීමට කෙටිමං භාවිතා කර ඇත, එබැවින් වරහන් වල පෙළට ගැලපෙන 'කළු' කණ්ඩායම , තද අළු පැහැයක් ගනී.)

2>&1පයිතන් ආයාචනයේ අවසානයට මා එකතු කළ යුතු ආකාරයද සැලකිල්ලට ගන්න , මන්ද යුනිටෙස්ට්හි ප්‍රතිදානය stderr මත ඇති බැවින් මම එය stdout වෙත මාරු කළෙමි.

මෙය සාමාන්‍යයෙන් භාවිතා කිරීම පහසුය, බොහෝ විට මා පියාසර කරන විට නව ඇමතුම් ආයාචනා නිර්මාණය කරන අතර ඒවා මගේ විධාන රේඛා ඉතිහාසයෙන් නැවත භාවිතා කිරීම හෝ වෙනස් කිරීම සිදු කරයි.

එහි ඇති අවාසිය නම් එය පැමිණෙන්නේ පයිතන් පැකේජයක් ලෙස මිස ස්වාධීනව ක්‍රියාත්මක කළ නොහැකි නිසා ඔබ එය පයිප්ප භාවිතයෙන් ස්ථාපනය කළ යුතුය, නැතහොත් sudo python setup.py install.



2

විධාන රේඛාවේ ගොනු නාම වර්ණ ගැන්වීම සඳහා ඔබට මගේ cf භාවිතා කළ හැකිය, එය පයිප්ප හරහා ක්‍රියා කරන ඉක්මන් කුඩා අවුල්-වර්ණකයකි - Truecolor sRGB හි ගොනු නාම වර්ණ ගැන්වීම.

එය දීප්තිමත් වර්ණ පෙරනිමි වින්‍යාසයක් ඇති අතර ls මෙන් නොව නව වර්ණ එකතු කිරීම සඳහා කාර්ය සාධන ද penalty ුවමක් නොලැබේ. (ls එක් එක් මිස් සඳහා සම්පූර්ණ LS_COLORS නූල පරිලෝකනය කළ යුතුය).

https://github.com/AdamDanischewski/cf

cf භාවිතය

cf තිර රුව


1

මම වර්ණ එතීම භාවිතා කරමි .

cw යනු GNU / linux හි පොදු යුනික්ස් මත පදනම් වූ විධාන සඳහා ආක්‍රමණශීලී නොවන තත්‍ය කාලීන ANSI වර්ණ එතුමකි. cw නිර්මාණය කර ඇත්තේ විධාන ක්‍රියාත්මක වන පරිසරය අනුකරණය කිරීම සඳහා වන අතර එමඟින් පුද්ගලයෙකු 'ඩු', 'ඩීඑෆ්', 'පිං' යනාදිය ඔවුන්ගේ කවචයේ ටයිප් කළහොත් එය ස්වයංක්‍රීයව ප්‍රතිදානය තත්‍ය කාලීනව අර්ථ දැක්වීමකට අනුව වර්ණවත් කරයි. අපේක්ෂිත වර්ණ ආකෘතිය අඩංගු ගොනුව. වයිල්ඩ්කාඩ් මැච් වර්ණ ගැන්වීම, ටෝකනකරණය කළ වර්ණ ගැන්වීම, ශීර්ෂක / පාදක, සිද්ධි දර්ශන වර්ණ ගැන්වීම, විධාන රේඛාව මත රඳා පවතින අර්ථ දැක්වීම් වර්ණ ගැන්වීම සඳහා cw සතුව සහය ඇත.

එය බොහෝ දුරට බාධා රහිත ය, නමුත් වරක් මම සොයා ගත් විට අන්තර්ක්‍රියාකාරී කවචයේ ඇති ps නලයක ps හා සසඳන විට විවිධ ප්‍රතිදානයන් ලබා දෙයි.


0

මැක් සඳහා ඔබට මෙහි දක්වා ඇති පරිදි පහත සඳහන් දෑ භාවිතා කළ හැකිය

if [ "$TERM" = xterm ]; then TERM=xterm-256color; fi

0

ඔබට මෙන් ඔබේ vimවර්ණවත් කිරීමට ඔබට අවශ්‍ය නම් , පියවර දෙකක් අනුගමනය කිරීමට මම ඔබට යෝජනා කරමි:

  1. මෙම සබැඳිය අනුගමනය කිරීමෙන් විශේෂාංගය සක්‍රිය කරන්නේ කෙසේදැයි ඉගෙන ගන්න: vi හෝ vim වලින් වර්ණ සින්ටැක්ස් ඉස්මතු කිරීම සක්‍රිය කරන්න .

සබැඳියේ ප්‍රධාන පියවර:

  1. විධානය ටයිප් කිරීමෙන් ~ / .vimrc ගොනුව සංස්කරණය කරන්න: vi ~ / .vimrc

  2. පහත විකල්පය එකතු කරන්න: සින්ටැක්ස් සක්‍රිය කරන්න

  3. ගොනුව සුරකින්න සහ වසා දමන්න

  4. Vim විධානය ක්‍රියාත්මක කිරීමෙන් එය පරීක්ෂා කරන්න: vim foo.sh

  1. ඔබ කැමති වර්ණ පටිපාටියක් සොයාගෙන එය භාවිතා කරන්න. මා භාවිතා කරන යෝජනා ක්‍රමය : මා භාවිතා කරන යෝජනා ක්‍රමය

බාහිර ප්‍රභවයට සබැඳි භාවිතා කරන විට, ඔබ මාර්ගෝපදේශයේ අදාළ කොටසේ “සබැඳි සඳහා සන්දර්භය සපයන්න” කොටස (වැදගත් කොටස් උපුටා දක්වන්න
Gert van den Berg

0

Bash ඔබේ තේරීම නම්, මම නිර්දේශ කරන්නේ oh-my-bash . Zsh ඔබේ තේරීම නම්, මම නිර්දේශ කරන්නේ oh-my-zsh . දෙකම ඔබේ පර්යන්තය වර්ණ ගැන්වීමට සහ විවිධ ප්‍රතිදානයට සහාය වේ.


0

මම යටහත් පහත්ව වෙළඳ දැන්වීම් පළ කිරීමට කැමතියි මෑත මගේ ප්රකාශන වල taහෝ textattr , අරමුනු වර්ණ එකතු කිරීමට බව පුස්තකාල හා විධාන රේඛා මෙවලමක් හා මානව කියවිය හැකි උපැස් ANSI පලා කේත පරිවර්තනය විසින් පහසු ඔබේ වැඩසටහන ප්රතිදාන අලංකාර කිරීමේ ගුණාංග.

උදාහරණයක් වශයෙන්:

echo "The Git repo $(ta yellow)${CUR_REPO}$(ta off) is $(ta green)up-to-date$(ta off)"

හෝ ඊටත් වඩා කෙටි:

echo "The Git repo $(ta y)${CUR_REPO}$(ta f) is $(ta g)up-to-date$(ta f)"

හෝ විකල්පයක්:

tawrite "The Git repo " @y ${CUR_REPO} @f " is " @g up-to-date @f "\n"

ඔබට මෙවැනි දෙයක් ලබා දෙනු ඇත:

රූප විස්තරය මෙහි ඇතුළත් කරන්න

දැනට මෙම පුස්තකාලය ඔබේ ප්‍රියතම කවචයෙන් විධාන රේඛා භාවිතයට අමතරව C, C ++, D සහ Python යන භාෂා හතරෙන් භාවිතා කළ හැකිය.

එය වෙනත් කිසිදු වැඩසටහනක ප්‍රතිදානය ස්වයංක්‍රීයව වර්ණවත් නොකරන බව සලකන්න. වියුක්ත කේත මතක තබා නොගැනීම සඳහා ඔබට උදව් කිරීම තරමක් උපයෝගීතාවයකි. ඔබට අවශ්‍ය වන්නේ පැහැදිලි වර්ණ නම් හෝ ඒවායේ පහසුවෙන් මතක තබා ගත හැකි rgb cmyk w (හයිට්) (of) f කෙටි යෙදුම් පමණි.

වැඩි විස්තර සඳහා textattr repo වෙත පිවිසෙන්න .

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.