dshimizu/blog

アルファ版

僕が使ってる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

おわりに

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