編輯3個文件:.bashrc,.inputrc,.vimrc
內容分別如下:
1, .bashrc
# base-files version 3.7-1
# To pick up the latest recommended .bashrc content,
# look in /etc/defaults/etc/skel/.bashrc
# Modifying /etc/skel/.bashrc directly will prevent
# setup from updating it.
# The copy in your home directory (~/.bashrc) is yours, please
# feel free to customise it to create a shell
# environment to your liking. If you feel a change
# would be benificial to all, please feel free to send
# a patch to the cygwin mailing list.
# User dependent .bashrc file
# Shell Options
# #############
# See man bash for more options
# Don't wait for job termination notification
# set -o notify
# Don't use ^D to exit
# set -o ignoreeof
# Use case-insensitive filename globbing
# shopt -s nocaseglob
# Make bash append rather than overwrite the history on disk
# shopt -s histappend
# When changing directory small typos can be ignored by bash
# for example, cd /vr/lgo/apaache would find /var/log/apache
# shopt -s cdspell
# Completion options
# ##################
# These completion tuning parameters change the default behavior of bash_completion:
# Define to access remotely checked-out files over passwordless ssh for CVS
# COMP_CVS_REMOTE=1
# Define to avoid stripping description in --option=description of './configure --help'
# COMP_CONFIGURE_HINTS=1
# Define to avoid flattening internal contents of tar files
# COMP_TAR_INTERNAL_PATHS=1
# If this shell is interactive, turn on programmable completion enhancements.
# Any completions you add in ~/.bash_completion are sourced last.
# case $- in
# *i*) [[ -f /etc/bash_completion ]] && . /etc/bash_completion ;;
# esac
# History Options
# ###############
# Don't put duplicate lines in the history.
# export HISTCONTROL="ignoredups"
# Ignore some controlling instructions
# export HISTIGNORE="[ ]*:&:bg:fg:exit"
# Whenever displaying the prompt, write the previous line to disk
# export PROMPT_COMMAND="history -a"
# Aliases
# #######
# Some example alias instructions
# If these are enabled they will be used instead of any instructions
# they may mask. For example, alias rm='rm -i' will mask the rm
# application. To override the alias instruction use a \ before, ie
# \rm will call the real rm not the alias.
# Interactive operation
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'
# Default to human readable figures
# alias df='df -h'
# alias du='du -h'
# Misc :)
# alias less='less -r' # raw control characters
# alias whence='type -a' # where, of a sort
# alias grep='grep --color' # show differences in colour
# Some shortcuts for different directory listings
# alias ls='ls -hF --color=tty' # classify files in colour
# alias dir='ls --color=auto --format=vertical'
# alias vdir='ls --color=auto --format=long'
# alias ll='ls -l' # long list
# alias la='ls -A' # all but . and ..
# alias l='ls -CF' #
# Functions
# #########
# Some example functions
# function settitle() { echo -ne "\e]2;$@\a\e]1;$@\a"; }
###################### 以下為添加部分 ################################
# cygwin中取\usr\share\locale\zh_CN\LC_MESSAGES中*.mo文件,如果提示信息中
# 的字符集為utf8則會顯示有誤(不知何解?,magiclinux無類似情況),為gb2312
# 則正常,大概與gettext這個模塊有關,這個模塊的作用是使linux程序提示信息
# 區域話,即不同地區用不同語言,即常說的i18n;像我們設置的zh_CN.GBK,“.”
# 之前部分“zh_CN”表示地區即“中國大陸”,后面部分“GBK”表示字符集編碼,
# 像我們下面的設置,當程序調用時會到\usr\share\locale\目錄中查找,發現地
# 區為“zh_CN”則到該目錄中查找程序對應的*.mo文件,*.mo文件的名稱是在調用
# 的程序中設置了的。然后取該語種的對應提示,然后按編碼(在mo文件中指明了)
# 處理該文字。
# 當然這些不是自動處理的,要在程序中調用像setlocale、textdomian、gettext
# 這樣的函數處理。
# 在cygwin中有些程序,做了下面的設置,因為對應的mo文件中編碼為utf8而無法
# 顯示,我是直接將它刪除,之后程序會因為找不到mo文件而用默認的英文來顯示
# 的。(下面的編碼設置并沒有錯,應該是cygwin程序中的BUG,只是設置了LC_ALL
# 就沒必要設LANG了,有的文檔上面這樣寫的:))
export set LC_ALL=zh_CN.GBK
export set LANG=zh_CN.GBK
#export set LC_CTYPE=zh_CN.UTF-8
#export set CHARSET=UTF-8
# 解決ls中文顯示問題
alias ls='ls --show-control-chars -hF --color=tty'
alias dir='ls --show-control-chars'
alias less='less --raw-control-chars'
alias ll='ls -l' # long list
alias la='ls -A' # all but . and ..
alias l='ls -CF'
# 添加清屏處理
alias clear='clearn'
alias clr='clearn'
# 添加whereis的別名
alias whereis='which'
2,.inputrc
# base-files version 3.7-1
# To pick up the latest recommended .inputrc content,
# look in /etc/defaults/etc/skel/.inputrc
# Modifying /etc/skel/.inputrc directly will prevent
# setup from updating it.
# The copy in your home directory (~/.inputrc) is yours, please
# feel free to customise it to create a shell
# environment to your liking. If you feel a change
# would be benifitial to all, please feel free to send
# a patch to the cygwin mailing list.
# the following line is actually
# equivalent to "\C-?": delete-char
"\e[3~": delete-char
# VT
"\e[1~": beginning-of-line
"\e[4~": end-of-line
# kvt
"\e[H": beginning-of-line
"\e[F": end-of-line
# rxvt and konsole (i.e. the KDE-app
)
"\e[7~": beginning-of-line
"\e[8~": end-of-line
# VT220
"\eOH": beginning-of-line
"\eOF": end-of-line
# Allow 8-bit input/output
#set meta-flag on
#set convert-meta off
#set input-meta on
#set output-meta on
#$if Bash
# Don't ring bell on completion
#set bell-style none
# or, don't beep at me - show me
#set bell-style visible
# Filename completion/expansion
#set completion-ignore-case on
#set show-all-if-ambiguous on
# Expand homedir name
#set expand-tilde on
# Append "/" to all dirnames
#set mark-directories on
#set mark-symlinked-directories on
# Match all files
#set match-hidden-files on
# 'Magic Space'
# Insert a space character then performs
# a history expansion in the line
#Space: magic-space
#$endif
###################### 以下為添加部分 ################################
# 關閉bash命令行8字節字符轉義符的轉換
set convert-meta off
# 使bash命令行支持8字節字符輸入
set input-meta on
# 使bash命令行支持8字節字符輸出
set output-meta on
# 讓bash的命令行已vi模式執行,屏蔽掉下面一行,BASH的命令行操作
# 就像vi中編輯文本一樣,默認為INSERT模式,可以在BASH啟動后直接
# 輸入:set -o vi,來啟動該開關,set +o vi關閉該模式,但在cygwin
# 中調用set +o vi關閉時會出現一些亂碼,估計也是一個BUG
#set editing-mode vi
3,.vimrc
" 顯示語法高亮度
:syntax on
" 設置字符編碼,可使顯示中文光標移動和字符刪除操作變為雙字節
":set encoding=cp936
" 設置vim中TAB縮進為4個空格
":set ts=4