Linux Shell命令提示样式修改
对linux shell命令样式进行美化。
修改前的效果:
修改后的效果:
直接给出.bashrc脚本代码:
1 # ~/.bashrc: executed by bash(1) for non-login shells. 2 # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) 3 # for examples 4 5 # If not running interactively, don't do anything 6 case $- in 7 *i*) ;; 8 *) return;; 9 esac 10 11 # don't put duplicate lines or lines starting with space in the history. 12 # See bash(1) for more options 13 HISTCONTROL=ignoreboth 14 15 # append to the history file, don't overwrite it 16 shopt -s histappend 17 18 # for setting history length see HISTSIZE and HISTFILESIZE in bash(1) 19 HISTSIZE=1000 20 HISTFILESIZE=2000 21 22 # check the window size after each command and, if necessary, 23 # update the values of LINES and COLUMNS. 24 shopt -s checkwinsize 25 26 # If set, the pattern "**" used in a pathname expansion context will 27 # match all files and zero or more directories and subdirectories. 28 #shopt -s globstar 29 30 # make less more friendly for non-text input files, see lesspipe(1) 31 [ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" 32 33 # set variable identifying the chroot you work in (used in the prompt below) 34 if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then 35 debian_chroot=$(cat /etc/debian_chroot) 36 fi 37 38 # set a fancy prompt (non-color, unless we know we "want" color) 39 case "$TERM" in 40 xterm-color) color_prompt=yes;; 41 esac 42 43 # uncomment for a colored prompt, if the terminal has the capability; turned 44 # off by default to not distract the user: the focus in a terminal window 45 # should be on the output of commands, not on the prompt 46 #force_color_prompt=yes 47 48 if [ -n "$force_color_prompt" ]; then 49 if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then 50 # We have color support; assume it's compliant with Ecma-48 51 # (ISO/IEC-6429). (Lack of such support is extremely rare, and such 52 # a case would tend to support setf rather than setaf.) 53 color_prompt=yes 54 else 55 color_prompt= 56 fi 57 fi 58 59 if [ "$color_prompt" = yes ]; then 60 PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' 61 else 62 PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' 63 fi 64 unset color_prompt force_color_prompt 65 66 # If this is an xterm set the title to user@host:dir 67 case "$TERM" in 68 xterm*|rxvt*) 69 PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" 70 ;; 71 *) 72 ;; 73 esac 74 75 # enable color support of ls and also add handy aliases 76 if [ -x /usr/bin/dircolors ]; then 77 test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" 78 alias ls='ls --color=auto -F' 79 #alias dir='dir --color=auto' 80 #alias vdir='vdir --color=auto' 81 82 alias grep='grep --color=auto' 83 alias fgrep='fgrep --color=auto' 84 alias egrep='egrep --color=auto' 85 fi 86 87 # some more ls aliases 88 alias ll='ls -alF' 89 alias la='ls -A' 90 alias l='ls -CF' 91 92 # Add an "alert" alias for long running commands. Use like so: 93 # sleep 10; alert 94 alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' 95 96 # Alias definitions. 97 # You may want to put all your additions into a separate file like 98 # ~/.bash_aliases, instead of adding them here directly. 99 # See /usr/share/doc/bash-doc/examples in the bash-doc package. 100 101 if [ -f ~/.bash_aliases ]; then 102 . ~/.bash_aliases 103 fi 104 105 # enable programmable completion features (you don't need to enable 106 # this, if it's already enabled in /etc/bash.bashrc and /etc/profile 107 # sources /etc/bash.bashrc). 108 if ! shopt -oq posix; then 109 if [ -f /x/usr/local/share/bash-completion/bash_completion ]; then 110 . /usr/local/share/bash-completion/bash_completion 111 elif [ -f /etc/bash_completion ]; then 112 . /etc/bash_completion 113 fi 114 fi 115 116 PS1='[\[\e[1;35m\]\u\e[0m\[\e[0;37m\]@\e[0m\[\e[1;36m\]\h\e[0m] \[\e[1;32m\w\e[0m\]\[\e[1;33m\]\e[0m\n$ ' 117 export EDITOR="vim" 118 alias emacs='emacs -nw' 119 export LANGUAGE=en_US.UTF-8
直接替换用户目录下的.bashrc即可。
另外给出vim样式修改脚本,直接替换用户目录下的.vimrc即可。
.vimrc脚本:
1 set mouse=a 2 set number 3 set ic 4 set autoindent 5 set tabstop=4 6 set softtabstop=4 7 set shiftwidth=4 8 set cindent 9 set hlsearch 10 set ruler 11 syntax on 12 if has('mouse') 13 set mouse-=a 14 endif 15 map <F4> ms:call AddAuthor()<cr>'s 16 function AddTitle() 17 call append(0,"/*****************************************************") 18 call append(1," * Last modified : ".strftime("%Y-%m-%d %H:%M")) 19 call append(2," * Filename : ".expand("%:t")) 20 call append(3," * Author : Huruke") 21 call append(4," * Email : huruke@163.com") 22 call append(5," * Description :") 23 call append(6," ****************************************************/") 24 echohl WarningMsg | echo "Successful in adding the copright!" | echohl None 25 endfunction 26 27 function UpdateTitle() 28 normal m' 29 execute '/* Last modified\s*:/s@:.*$@\=strftime(": %Y-%m-%d %H:%M")@' 30 normal '' 31 normal mk 32 execute '/* Filename\s*:/s@:.*$@\=": ".expand("%:t")@' 33 execute "noh" 34 normal 'k 35 echohl WarningMsg | echo "Successful in updating the copy right." | echohl None 36 endfunction 37 38 function AddAuthor() 39 let n=1 40 while n < 7 41 let line = getline(n) 42 if line =~'^\s*\*\s*\S*Last\s*modified\s*:\s*\S*.*$' 43 call UpdateTitle() 44 return 45 endif 46 let n = n + 1 47 endwhile 48 call AddTitle() 49 endfunction