經常與 shell 為伍的你是不是也會經常碰到下面這些情境:@vern 兄攢寫
1$ mv /somewhere/file /your/folder/
2$ vi /your/folder/file
要儲存某些檔案到特定目錄,然後開始檢視/編輯
1$ cp /somewhere/foo.c /somewhere/foo.c.orig
2$ vi /somewhere/foo.c
或者先備份某個檔案,然後開始搗鼓
1$ tar zcvf archives.tgz /somewhere/folder /and/somewhere/file1 /and/somewhere/file2
2$ scp archives.tgz [email protected]:~/blabla/
或者要打包某些目錄/檔案,然後上傳什麼的。在上面這些情境中,當你輸入第二條命令時,可以試試像這樣:
1$ mv /somewhere/file /your/folder/
2$ vi alt-.file
按住 alt 再按點,你會發現上一條命令的最後乙個引數已經被自動輸入了,繼續輸入 file 回拆。
1$ cp /somewhere/foo.c /somewhere/foo.c.orig
2$ vi alt-1+alt-.
先按 alt 再按數字鍵 1,保持 alt 鍵不鬆,再按點,幫助你補全上乙個命令的第乙個引數。
1$ tar zcvf archives.tgz /somewhere/folder /and/somewhere/file1 /and/somewhere/file2
2$ scp alt-2+alt-. [email protected]:~/blabla/
先按 alt 再按數字鍵 2,保持 alt 鍵不鬆,再按點,自動補全上乙個命令的第二個引數。
用 zsh 的同學要設定一下,5 個應該足夠了。
bindkey 「^[1″ digit-argument
bindkey 「^[2″ digit-argument
bindkey 「^[3″ digit-argument
bindkey 「^[4″ digit-argument
bindkey 「^[5″ digit-argument
bindkey 「^[-」 neg-argument
這些個數字引數在使用時,bash 是從左往右正數的,zsh 是從後往前逆數的。即
$ touch 1a 2b 3c 4d 5e
bash 的 alt-1 是 1a,alt-2 是 2b。zsh 的 alt-1 是 5e,alt-2 是 4d,alt–1 (alt-負1) 是 1a,alt–2 (alt-負2) 是 2b。
省時省力 Shell小技巧一則
經常與 shell 為伍的你是不是也會經常碰到下面這些情境 1 mv somewhere file your folder 2 vi your folder file要儲存某些檔案到特定目錄,然後開始檢視 編輯 1 cp somewhere foo.c somewhere foo.c.orig 2 ...
duilib list效率優化小技巧一則
經常有人問list資料量上萬的時候,更新效率很低的問題 事實上,對任何介面庫,資料量大到一定程度,優化都是必須的 有人提出了虛擬視窗的方法,就是list只維護少數item,滾動的時候根據顯示範圍調整這幾個item的顯示屬性。這也是個優化方法,而且能夠處理的資料量級理論上非常大。不過這種方法不是太通用...
Linux find 命令使用小技巧一則
今天需要清理一下原來每日構建產生的一些用來存放包的目錄,這些目錄名字是按照一定規則存放,比如 dailybuild module name yyyy mm dd 這裡考慮僅需要儲存最近5天的dailybuild,對於早於5天的目錄執行刪除操作。檢視了一下find命令說明,可以 使用 type d 引...