2013/07/11

Disable New Line at End of File in Vim

Vim 預設會在檔尾加上換行字元,原因是在 CLI 時 cat 檔案,顯示的結果比較好看。

檔尾有會行字元:
zero@dev$ cat eol.txt
content
zero@dev$

檔尾沒有換行字元:
zero@dev$ cat eol.txt
contentzero@dev$

雖然在檔尾加上換行字元顯示時較清楚,但某些程式裡面可能會造成問題 (像 PHP)。

在 .vimrc 中加入設定,讓 vim 不要在檔尾加上換行字元:
set noeol
set binary

2013/07/09

Alias Command Contains Spaces in Bash

.bashrc 下設定 command alias 的方法是:
alias svm='svn'   # 我常常手殘

不過假設要 alias 的指令包含空白,如「svn commit」要 alias 成「svn commit --editor-cmd vim」,就得靠自訂 function 了。

新增一個 function 蓋掉原本的 svn 指令,如果 svn 後接的參數是 commit,便加上 --editor-cmd:
svn(){
   if [[ $@ == commit ]]; then
      command svn commit --editor-cmd vim
   else
      command svn "$@"
   fi
}

不過 svn commit 有時還會有其他參數,像是檔案路徑等,所以這樣寫還是會發生意外。要把參數判斷要改,順便在執行指令的時候把參數也塞回去:
svn(){
   if [[ $@ == commit* ]] || [[ $@ == ci* ]]; then
      command svn "$@" --editor-cmd vim
   else
      command svn "$@"
   fi
}

2013/07/03

Google Reader Bye

Google Reader 停止服務,這才發現 RSS Reader 在生活中也是不可或缺的一部分。

從收到停止服務的消息以後,開始尋覓還有什麼服務可以用。試了 Fleedly、Bloglines 等,最後還是選 The Old Reader,畢竟能留有原來的 rss 分類,快速鍵也和 Google Reader 一樣,不需要再花什麼時間去適應。

2013/07/01

Firefox PPA on Ubuntu 12.04

Mozilla 官方 PPA:
sudo add-apt-repository ppa:mozillateam/firefox-next
sudo aptitude update
sudo aptitude install firefox  # or aptitude update