107.03.02 解決 ale 的 gcc 不顯示錯誤 | 把 gcc 輸出改成英文

ale 是 vim 裡好用的即時偵錯插件
以前不知道為何 ale 中的 gcc 一直不能用,所以用 clang 就解決
但是本篇要來解決 gcc 的問題 !!!!

由於都沒有報錯誤訊息所以主要能夠排除是 ale 的問題

首先關於 linter 的設定,cpp 改成使用 g++
不要因為 cpp 後面的支援寫 gcc 就用 gcc
let g:ale_linters = {
            \   'cpp': ['g++']
            \}

產生一個有錯的 .cpp 檔
$ vim t.cpp

#include 
#include 
#include 
using namespace std;

int main()
{
    here
    return 0;
}



儲存後接著在 vim 裡輸入下方指令打開 ale 的資訊
:ALEInfo


移到最下面,如下圖
發現其實正常運作有指出哪裡錯誤
然後也發現為何會沒有東西了,就是中文 !!!!

ale 偵測不到 "錯誤:" 等字樣
所以原來是 g++ 翻譯成中文惹的禍@@
所以就來第2部份,把 gcc 輸出改成英文
開啟以下路徑
/usr/share/locale/zh_TW/LC_MESSAGES/
找到 gcc.mo

右鍵 > Root Actions > Move/Rename
後面加上 .bak 的副檔名,確定後輸入 root 密碼

重新開啟剛剛的 t.cpp 就會發現有標示錯誤了

再次打開 :ALEInfo 查看
g++ 的訊息變成英文了OuO



參考資料:
gcc g++ 中文錯誤訊息換回英文

沒有留言:

張貼留言

^ Top