2015年6月11日 星期四

解決 git 顯示中文檔名的問題

我的 daily system 使用 git 的時候,會有中文檔名顯示的問題,看起來像是:

$ git diff

diff --git "a/\346\210\221" "b/\346\210\221"
index f13588b..75050e9 100644
--- "a/\346\210\221"
+++ "b/\346\210\221"
@@ -1 +1,4 @@
 asdfasdf
+22222222

可以用下面的指令解決這個問題[2]:

git config core.quotepath false

原本上面的亂碼看起來就會是:

$ git diff
diff --git a/我 b/我
index f13588b..75050e9 100644
--- a/我
+++ b/我
@@ -1 +1,4 @@
 asdfasdf
+22222222
也就是說中文檔名「我」現在被正確顯示了。










[1] 不太確定有沒有關聯,但先記下我當時的系統語言環境變數是

$echo $LANG
en_US.UTF-8

[2] 查詢 git-config 使用手冊

man 1 git-config

core.quotePath
The commands that output paths (e.g. ls-files, diff), when not given the -z option, will quote "unusual" characters in the pathname by enclosing the pathname in a double-quote pair and with backslashes the same way strings in C source code are quoted. If this variable is set to false, the bytes higher than 0x80 are not quoted but output as verbatim. Note that double quote, backslash and control characters are always quoted without -z regardless of the setting of this variable.

Blogger 方便快速套用貼程式碼的方法:覆寫 Blogger 的 Quote 樣式

之前在使用 Blogger 貼程式碼的時候,都會手動切換到 HTML 編輯模式,然後插入下面語法:

<pre class="codeblock">
</pre>

這段標記會搭配我事先在 Blogger 準備好的 CSS 樣式:

.post .codeblock {
background-color: #eeeeee;
border: 1px dashed #999999;
color: black;
font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace;
font-size: 12px;
line-height: 14px;
overflow: auto;
padding: 5px;
width: 100%;
}

就成了之前大家看到的樣子。

但這種「手動切換到HTML 編輯模式,再手動找到程式碼,然後插入對應語法」的方式實在嚴重違反程式設計師的三大美德[1]之一的懶惰原則。本來想說看有沒有辦法在 Blogger 編輯模式下新增自己的小工具,後來乾脆心一橫直接覆寫原本 Quote 按鍵的樣式(反正我很少用到 Blogger 提供給我的樣式)。作法其實很簡單,也是事先準備好 CSS 範本就好,只要注意有使用到關鍵字 blockquote 即可[2]:

blockquote {
background-color: #eeeeee;
border: 1px dashed #999999;
color: black;
font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace;
font-size: 12px;
line-height: 14px;
overflow: auto;
padding: 5px;
width: 100%;
}
之後每次貼上程式碼後,只要用滑鼠選好區域,按下 Blogger 提供的 Quote 按鍵,就會套用我原本慣用貼程式碼的樣式了。

方便多了;寫文章就是要行雲流水才爽啊!Bravo!

[1] 設計師美德:懶惰、不耐煩、驕傲 - Programming Perl, Larry Wall
[2] 可參考:https://www.nosegraze.com/how-to-style-blockquotes/

chrome 異常:外觀變成大分頁(低解析度)workaround


昨天自己的 XPS 上的 Ubuntu trusty 系統更新後,一早開機發現 chrome 外觀整個大亂,即使是清掉系統快取、重新安裝之後也還是一樣,心想說天啊該不會跟什麼圖形渲染的函式庫衝突或是有臭蟲吧!!?? 幸好在網路上有找到一個適用於我的 workaround:

用終端機執行 chrome ,並且搭配下面的參數

google-chrome --force-device-scale-factor



使用 Chrome 一陣子之後變慢而且常顯示沒有正確關閉的 workaround


Ubuntu 14.04 上面使用 Chrome 一陣子之後,
會變很慢,或是有一些不太穩定的感覺。
而且在剛開機完後,
瀏覽器會顯示沒有「上次沒有正常關閉」。

解決變慢、變不穩定的 workaround

其實就是放大絕重裝。但是 chrome 提供的 debian rule 似乎沒有足夠完整,所以即使使用 apt-get purge 還是沒辦法清乾淨[1]。下面是我自己試出來、認為有效的方式,提供給大家參考。

首先使用下面指令把程式清除:

apt-get purge google-chrome

接著清除下面這些設定檔和快取[2]

$HOME/.cache/google-chrome
$HOME/.config/google-chrome
$HOME/.local/share/applications/chrome-*

之後再重新安裝 chrome 就會取得清爽多了的 chrome 了!!(雖然還是很吃記憶體)

常常顯示上一次沒有正確關閉

這是因為 chrome 預設會在背景持續跑, 可以透過 Unity 桌面右上角 chrome applet 選擇, 把背景跑 chrome 的功能關閉。 或是進到 chrome 的設定選項, 取消裡面類似的 checkbox 。 如果你的 Unity 桌面右上角沒有看到 chrome applet , 就可能表示你的 chrome 已經被你搞到很髒了[3], 可以考慮使用上面的方法清掉一堆系統上的快取、重新安裝 chrome 。 [1] 只用 apt-get purge 清除之後,立刻去 google 下載 chrome debian package 重新安裝的話,我們可以注意到很多設定、外掛等等其實都還在。 [2] 如果擔心造成系統不穩,記得先把這些檔案移到 [3] 自己曾經按照這個方法把快取位置改來改去,最後好像就把自己的系統搞髒了 XD