每次安裝新的 debian 系統時,總要自行設定自己習慣的環境
每次都要手動去改那些設定檔,有些麻煩,也有些懶
所以就寫了底下的 shell script
因為是初學,所以裡面寫了詳細的註解
#!/bin/bash
#檢查vim是否存在
# -e 檢查檔案是否 exist (存在) 不論是否為檔案、目錄、軟連結
# $? 回傳值為0 則條件成立(存在),執行 then 後面的內容
# $? 回傳值為1 則條件不成立(不存在),直接執行 else 後面的內容
if [ -e /usr/bin/vim ] ; then
echo "檢查 vim 已安裝,程式繼續設定vim環境"
else
echo "開始安裝vim"
sleep 1
aptitude install vim -y
fi
#設定 vimrc 將搜尋到的字加hilight,底下判斷式將判斷是否有修改過 vimrc 此檔了
#判定方法:搜尋vimrc此檔內是否有 "hlsearch" 字串
#找到的話則執行 then 後面的指令,即只顯示 已修改過了 之後就離開這個判斷式
#找不到的話則執行 else 後面的指令
if grep "hlsearch" /etc/vim/vimrc > /dev/null ; then
echo "提示:檔案已修改過了"
else
cp /etc/vim/vimrc /etc/vim/vimrc.bak
sed -in 's/\"syntax on/syntax on/g' /etc/vim/vimrc
sed -in 's/\"set background=dark/set background=dark/g' /etc/vim/vimrc
sed -in 's/\"set ignorecase/set ignorecase/g' /etc/vim/vimrc
echo "set hlsearch" >> /etc/vim/vimrc
echo "\"↑將搜尋到的字加hilight" >> /etc/vim/vimrc
echo "highlight Search term=reverse ctermbg=4 ctermfg=7" >> /etc/vim/vimrc
echo "\"↑將搜尋到的字由土黃色變成深藍色" >> /etc/vim/vimrc
fi
#指令環境設定
echo "請選擇指令簡化環境要套用在 1 全系統 或 2 個人環境"
read -p "請輸入數字 1 或 2: " choice
case $choice in
1) filename="/etc/profile" ;;
2) filename=$HOME/.bashrc ;;
# $HOME 為系統保留變數 即家目錄
esac
#底下判斷式檢查是否有修改過了
if grep "history" $filename > /dev/null ; then
echo "提示:檔案已修改過了"
else
echo "# Added aliases" >> $filename
echo "alias cls='clear'" >> $filename
echo "alias ls='ls --color=auto -F'" >> $filename
echo "alias dir='ls -alh --color=auto -F'" >> $filename
echo "alias ll='ls -lh --color=auto -F'" >> $filename
echo "alias la='ls -alh --color=auto -F'" >> $filename
echo "alias md="mkdir"" >> $filename
echo "alias rd="rmdir"" >> $filename
echo "#history加時間日期" >> $filename
echo "export HISTTIMEFORMAT='%F %T '" >> $filename
echo "#history剔除連續重覆的指令" >> $filename
echo "export HISTCONTROL=ignoredups" >> $filename
fi
[note]參考資料:Bash Shell Script教學與心得、鳥哥、[/note]
補充說明:
若要讓 vim 記住上一次編輯檔案時游標所在的位置可以這樣設定。
大約在 26行左右的位置已經有底下內容了,將前面的 ” 拿掉即可,要是找不到的話自行加在最後方也行
" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif