tmux,terminal tab, vim tab

前一陣子學弟問我說  tmux可以開多視窗(session)、 gnome terminal 也可以、vim 也可以,那這樣到底要怎麼使用呢?  我來分享一下我的用法。

常常有時候你會同時處理好幾個專案,假設是A & B 專案好了,那麼這時候就要使用  gnome terminal tab 去切開。

tmux則是要跟vim分工合作。像是如果你在寫shell script 那麼你需要切一個window給 vim使用,另外一個來跑執行的結果。

如果是在寫程式的話,可以把目前要實做功能所需要修改的檔案給開在一個vim裡面(vim tab),另外一個功能所需要修改的檔案放到另外一個tmux session 中。

寫網站的話也是類似,可以把js /html/css 拆開使用不同的 tmux session 裡面的  vim tab來使用 ,也就是說 有一個vim 是專門寫js的,有一個是專門寫html的。

大概就是這樣,不知道有沒有更有效率的作法@@

 

廣告

X11 forward

上禮拜組織裡面有個需求就是透過 X11 forward 回來遠端主機的程式。 不過有個問題就是這兩隻程式需要不同的使用者,這造成了X11的認證會過不了。 也就是說 如果你用A登入,之後切到B 那麼就你就無法把程式畫面傳回來。因為使用者B沒有跟你的 X11 server  認證過。  剛剛找了一下資料。

請參閱這篇  http://www.debian-administration.org/articles/494

最簡單的作法就是: 安裝sux套件。然後使用root登入。

原本使用  su username –  “put your shell here"

現在改用 sux username –  “put your shell here"

然後就可以回傳了。

所以兩個就兩個囉 ~~

還沒再組織裡面的環境測試過不過在我這邊的環境  (ubuntu server + mac client)  是可以的。

我的阿呆英文文法

最近每天都花點時間看 英文研究論文寫作文法指引。

真的是太殘酷了,每個問題幾乎都有阿…orz   我對不起之前改我論文的老師,應該是一邊吐血一邊改吧!!  (可能得一邊輸血..)

目前看到動詞部份的第一個範例:

同學常寫出以下錯誤的句子:

I discussed about my thesis proposal with my advisor.  (  discuss 是及物動詞後面直接加受詞,所以正確的寫法是沒有about的 !!)

好慘…. 我不知道這樣搞了多久…

====

不過實在很認同裡面這一段:

但是我們對於英文這種外語,畢竟接觸的時間和質量都有限,通常就必須有意識地努力學習文法,才能深入瞭解該語言的字詞組合和句型篇章結構。尤其是在撰寫英文論文時,我們無法像用中文一樣單靠語感或直覺來寫作,而必須依賴我們對於英文文法知識的涵養才能知道如何適切地用字、遣詞、造句、作文,其重要性不言可喻。

雖然說打臉很不好,但是還是要來打臉了….. 打臉的奇妙之旅~~~~

code review

續上篇重構中提到的概念。每個禮拜都要po一篇可以讓自己更快完成事情的小技巧或是概念、亦或是一種工具可以對生涯有所幫助。

本週開場的是 redmine + code review plugin 。  非常有用,可以互相觀看程式碼且給予意見。能好好善用的話對於團隊成員的程式功力會有很大的幫助。

重構

一直很怕哪天終了的時候遇到天神來跟我說:「crazylion 嗯  你不錯,你有二十幾年以上的程式設計經驗。」

「不過很可惜的是,你只有一年經驗重複了二十幾次。你的迴圈的計數器 i  一直沒有++  (這個bug你一直沒抓出來)。就算給你永生大概也是這樣一直跑著直到把 世界的 cpu資源吃光。 給你intel 的i100000 cpu 也是浪費。」

「來,這邊不是你待的,請走旁邊側門的樓梯下去。到 B18  club,那裡比較適合你喔」

====

最近在看「重構:朝範式前進一書」 。對於這個邊寫程式邊重構這個方式感到很有趣。自從工作後,越來越忙(本來公司就會把你用到乾),但很多時候都是瞎忙,不是那種做第二次比第一次快,第三次又比第二次快這種。

後來想想,我對自己的生涯應該也要進行重構,不斷地精鍊自己的技巧跟使用的工具才是。這一兩個月來了幾個新人,基礎的訓練也差不多了所以打算把這個精神帶給他們,希望他們每個禮拜跟我一樣都可以寫一篇這個禮拜對於自己工作上的長進。像是說知道了什麼樣的工具且實際用在工作環境上。知道了什麼樣子的概念(ex:  自動化建構、測試先行…)且實際去試用過發現對自己的開發有無幫助(答案不一定要總是有幫助,主要是到底有無去做)。甚至是遇到怎樣頻繁的困擾(像是不會寫Makefile來進行簡單的版本打包動作),後來是怎樣解決的、或是自己學習的方法哪邊錯了。諸如此類的改進。 畢竟要期待高手上身、醍醐灌頂實在太難了。不如自己一點一滴的前進。

對於我們這種等級的程式設計師來說,不斷地反思大概是跳脫出老鼠競賽的唯一辦法。要像顏回一樣吾日三省吾身有點困難啦,但至少一週一次應該是很合理的。

 

研究部分也是,不過這邊時間相當受限,有一些想法,但是希望可以繼續持續下去。

command-T 還真好用

這禮拜安裝了一個之前沒用過得  vim plugin   command-T 。 他是模擬 mac上的編輯器 textmate 裡面 goto file 鍵入關鍵字即可去模糊搜尋目前目錄底下的檔案功能。

相當好用阿,不過安裝比較麻煩,它需要啟用 vim的 ruby 支援。

ubuntu 上安裝  vim-gnome  即可。 但是mac上就需要重新編譯了(請參閱上一篇)。是可以用macvim啦, 但是我其實並沒有要gui畫面阿!! 這樣我反而很困擾…因為這樣一來 vim 就無法嵌在tmux 的視窗中。

 

根據他的安裝方式裝好後(注意:不是只把檔案丟到plugin裡面,還需要針對各平台編譯ruby的擴充)。 使用方式很簡單

 

\t 之後會出現輸入框可以鍵入檔案的關鍵字。

ctrl+n (j) 是下一個接近的結果

ctrl + p(k) 是上一個接近的結果

ctrl+t是開到新tab

ctrl+v 是開成左右分割視窗

enter 是打開目前選到的檔案

* 水平分割視窗 會當掉….  還不知道怎麼回事 XD

這樣大概就夠使用了,跟NERDTree 搭起來很不錯!! 互補阿