分享兩個土制script
在terminal上工作久後,不遇遇到一個很常見,但是沒多少人認真考慮過的問題。

在此之前我得先說明一下自己使用的鍵盤佈局並不是大家常用的QWERTY鍵,而是會考慮人機工竹學的Dvorak鍵。
我轉用Dvorak鍵己是兩年前的事了,當時我QWERTY打字的速度還不算慢,決定的時候很痛苦呢。(要割捨已有的習慣重新學習,需要一定勇氣吧。)

記得那時我編程編了大概三個小時後手指就會開始酸痛了。

我覺得長久以來這麼痛不是辦法,於是我Google了這個問題,發現QWETY鍵在人機工學上跟本不科學,五指的用量並不平均,寫文章手指得經常向奇怪的地方伸延。

這就是我接獨Dvorak的開端。

嘛,回到正題,這兩個script的出發點也是從我手指酸痛開始的。

go

使用terminal,說到最常按的鍵,除了空白鍵之外就是「Tab」了。

這就是第一個script「go」的延生。

其實主要目的是減少不停按「Tab」的問題,例如「 cd /etc/apache/sites-available 」就裏我可能按了6次Tab了。(輸入順序為「cd /e > Tab > apa > Tab > site > Tab > Tab > -av > Tab > Enter」)
~$ go
Usage: go [MODE] SITE TARGET_DIR
       go <up|down> [MODE] TARGET_DIR

go是一個比較繁複的工具,它會從 ~/.go_conf 這個設定檔來決定你想到那裏。也就是說,你需要在~/.go_conf設定好幾個你常到的地方,這樣可以加快command的搜㝷速度。

在「go [MODE] SITE [SEARCH_DIR]」裏面,SITE就是 .go_conf 設定好的位置,而SEARCH_DIR就是在SITE之下吻合的地方

不過這個command不太常用,但如果你像我一樣會經常在不同的地方來來去去,這個東西是後方便的。

而「go <up|down> [MODE] TARGET [SEARCH_DIR]」是比較常用的一個,下例:
~/this/is/my/awesome/directory $ go up awe
~/this/is/my/awesome $ go up this
~/this $ go down dir
~/this/is/my/awesome/directory $

這樣應該簡易懂吧,go up/down 是基於現在位置,尋找最適當的落腳點「TARGET」,

pivot

pivot的出發點是因為go尚有不足之處——不可能每個地方都記在~/.go_conf之上。通常在某個地方我都會做一些短距離移動,例如「cd ../abc」或者「cd ../../abc/」,而這些「cd ../」的數量也不容小覻。

其實我們常打的指令「cd」也很常用。而「../」也經常會跟在「cd」後頭,這「../」有夠可惡的,極端的話可能會「cd ../../../../../」,就這麼打著打著,手指又要不行了。

忍無可忍,於是又作了一個script。

當然也考慮到處理的速度,若果每次cd都要等一秒鐘,我的時間感大概會慢慢變得不正常。cd的速度是最快的,不可能超越,但只要我感覺不到很大分別就可以了。

下例:
~/this/is/my/awesome/directory $ pvt
Usage: pvt [MODE] PIVOT_DIR LAND_DIR

~/this/is/my/awesome/directory $ pvt awe sec
~/this/is/my/secret/directory $ pvt my bob
~/this/is/bobs/secret/directory $ pvt dir col
~/this/is/bobs/secret/collection $

我叫這個動作為「支點移動」,以PIVOT_DIR作為支點目錄,跳到目標之下的相同位置。

啊,忘了說「MODE」了,MODE有三種,分別為p/c/e,c就是使用cd 來執行目標地址,e是echo,而p就是pushd。

e mode可以用來複製或者移動檔案:
~/ $ cp $( go e blog img )/logo.png ./

p mode可以記下上一個位置:
~ $ go p blog img
~/projects/blog/assets/img ~
~/projects/blog/assets/img $ p
~ ~/projects/blog/assets/img
~ $

我自己會將記目錄的三個指令alias下來,分別為:
p=pushd
o=popd
d=`dirs -v`

c mode是默認模式,可以省略。

下載:
Tag(s): utilities bash
Profile picture
斟酌 鵬兄
Sun Jan 18 2015 04:52:11 GMT+0000 (Coordinated Universal Time)
Last modified: Sun Apr 10 2022 13:08:37 GMT+0000 (Coordinated Universal Time)
Comments
No comments here.
Do you even comment?
website: 
Not a valid website
Invalid email format
Please enter your email
*Name: 
Please enter a name
Submit
抱歉,Google Recaptcha 服務被牆掉了,所以不能回覆了