2015/04/02

僕が使ってるbashの設定(.bashrcと.inputrc)

はじめに

Linux系OSのシステムを運用する上ではシェルの機能は重要です。zshなどはかなり高機能ですが一般的には標準のbashが使われることが多いので、できるだけbashを使いやすくなるよう .bashrc の設定をカスタマイズしてます。

.bashrcの内容

とりあえず現状は以下のようにしてます。

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
 . /etc/bashrc
fi

# User specific aliases and functions

## カスタマイズ設定
# プロンプトの設定
case ${UID} in
0)
    PS1='\[\033[31m\]${PWD}\$\[\033[0m\] '
    PS2='\[\033[31m\]>\[\033[0m\] '
    [ -n "${REMOTEHOST}${SSH_CONNECTION}" ] && PS1='\[\033[30m\]\h'" ${PS1}"
    ;;
*)
    PS1='\[\033[37m\]\w:\$\[\033[0m\] '
    PS2='\[\033[37m\]$\[\033[0m\] '
    [ -n "${REMOTEHOST}${SSH_CONNECTION}" ] && PS1='\[\033[36m\]\D{%F} \t \u@\h'" ${PS1}"
    ;;
esac

# ターミナルの表示設定
case "${TERM}" in
kterm*|xterm)
    PROMPT_COMMAND='echo -e "\033]0;'"${USER}@${HOSTNAME%%.*}:"'${PWD}\007\c"'
    ;;
esac

#  ヒストリ系の環境変数の設定
export HISTSIZE=100000
export HISTFILESIZE=100000
export HISTCONTROL=ignoredups
export HISTIGNORE=?:??:exit
export HISTFILE=~/.bash_history/.bash_history-$OSTYPE-`date +%Y%m%d`

# 標準エディタ環境変数の設定
EDITOR=vim

# ロケール環境変数の設定
LANG=ja_JP.UTF-8

# パスの設定
PATH=$PATH:~/bin

export PATH LANG EDITOR

# .inputrcの読み込み
[ -f ~/.inputrc ] && bind -f ~/.inputrc

.inputrcに readline の設定を記載し、読み込ませます。

$if Bash
  set show-all-if-ambiguous off

  set bell-style none

  set visible-stats on

  set completion-ignore-case on

  set horizontal-scroll-mode off

  set bell-style none
  set expand-tilde off

  set convert-meta off
  set input-meta on
  set output-meta on

  space: magic-space

  "\C-p": history-search-backward
  "\C-n": history-search-forward
  "\e[A": history-search-backward

  "\e[B": history-search-forward

   "\C-xp": "PATH=${PATH}\e\C-e\C-a\ef\C-f"

   "\es":"\C-e\C-uls\C-m"

   "\C-g": ""
   "\C-gr": "grep -r ./\eb\C-f \"\"\C-b"
   "\C-gg": "grep *\C-b\C-b \"\"\C-b"

   "\e\"": "\eb\"\ef\""

   "\e\"": "\eb\"\ef\""
   "\e\'": "\eb\'\ef\'"
   "\e\`": "\eb\`\ef\`"
   "\e\]": "\eb\[\ef\]"
   "\e\[": "\eb\[\ef\]"
   "\e\}": "\eb\{\ef\}"
   "\e\{": "\eb\{\ef\}"
   "\e\)": "\eb\(\ef\)"
   "\e\(": "\eb\(\ef\)"

$endif

おわりに

もっと良い設定があれば随時カスタマイズしていこうと思います。

0 Comments:

コメントを投稿