mac下 iTerm2使用技巧

windows下使用secureCRT和xshell習慣了,如何在mac下過渡到iTerm2?


確認
取消
邀請回答

我來回答

舉報

1條回答
時間排序
|
熱門排序

owen_oh

mac下 iTerm2使用技巧

首先要比windwos下的shell terminal好看,這樣你才有動力,配色可以是Solarized或者是別的什麼,然後半透明,貼著屏幕上邊沿,然後設置一個快捷鍵呼出、隱藏。其次是把默認的shell換成zsh,會比bash方便不...
查看全部

首先要比windwos下的shell terminal好看,這樣你才有動力,配色可以是Solarized或者是別的什麼,然後半透明,貼著屏幕上邊沿,然後設置一個快捷鍵呼出、隱藏。

mac下 iTerm2使用技巧

其次是把默認的shell換成zsh,會比bash方便不少,當然就ssh而言因為主要操作在伺服器上,所以改觀並不明顯。同樣可以使用oh-my-zsh,載入不同的zsh配置以獲得一些酷炫的效果。

官網是http://ohmyz.sh/

mac下 iTerm2使用技巧

最後,Windows 下的secureCRT和xshell支持rz和sz,雖然Linux下的scp會比rz和sz方便快捷,但是可能並不是直連伺服器,要經過堡壘機,因此scp就不適用了,此時需要通過rz和sz以輸入輸出的方式進行文件傳輸。

需要先安裝lrzsz,推薦用homebrew,可以直接brew install lrzsz

然後將iterm2-recv-zmodem.sh 和 iterm2-send-zmodem.sh腳本保存到 /usr/local/bin/

#!/bin/bash

# iterm2-recv-zmodem.sh

FILE=`osascript -e "tell application "iTerm" to activate" -e "tell application "iTerm" to set thefile to choose folder with prompt "Choose a folder to place received files in"" -e "do shell script ("echo "&(quoted form of POSIX path of thefile as Unicode text)&"")"`

if [[ $FILE = "" ]]; then

echo Cancelled.

# Send ZModem cancel

echo -e \x18\x18\x18\x18\x18

echo # Cancelled transfer

echo

else

echo $FILE

cd "$FILE"

/usr/local/bin/rz

echo # Received $FILE

echo

fi

#!/bin/bash

# iterm2-send-zmodem.sh

FILE=`osascript -e "tell application "iTerm" to activate" -e "tell application "iTerm" to set thefile to choose file with prompt "Choose a file to send"" -e "do shell script ("echo "&(quoted form of POSIX path of thefile as Unicode text)&"")"`

if [[ $FILE = "" ]]; then

echo Cancelled.

# Send ZModem cancel

echo -e \x18\x18\x18\x18\x18

echo # Cancelled transfer

echo

else

echo $FILE

/usr/local/bin/sz "$FILE"

echo # Received $FILE

echo

fi

最後打開iTerm的Preferences,或者使用 command + , ,點進Profiles項,Advanced項,進入Tirggers,點擊Edit,添加兩條規則:

Regular expression: rz waiting to receive.**B0100

Action: Run Silent Coprocess

Parameters: /usr/local/bin/iterm2-send-zmodem.sh

Regular expression: **B00000000000000

Action: Run Silent Coprocess

Parameters: /usr/local/bin/iterm2-recv-zmodem.sh

至此,iterm2已經基本順手了,當然可能有同學說secureCRT和xshell可以保存連接信息、開代理,保存連接信息可以通過配置ssh config的alias來實現,但是大多數情況下有堡壘機的存在,所以就不常用了,而開socks代理可以通過ssh -N -f -D實現。

常用快捷鍵

? + Click :可以打開文件,文件夾和鏈接

? + n :新建窗口

? + t :新建標籤頁

? + w :關閉當前頁

? + 數字 & ? + 方向鍵 :切換標籤頁

?? + 數字 :切換窗口

? + enter :切換全屏

? + d :左右分屏

?? + d :上下分屏

? + ; :自動補全歷史記錄

?? + h :自動補全剪貼板歷史

?? + e :查找所有來定位某個標籤頁

? + r & ? + l :清屏

? + / :顯示游標位置

?? + b :歷史回放

? + f :查找,然後用 tab 和 ? + tab 可以向右和向左補全,補全之後的內容會被自動複製, 還可以用 ? + enter 將查找結果輸入終端

選中即複製,滑鼠中鍵粘貼

通用的Linux shell快捷鍵

? + u :清空當前行

? + a :移動到行首

? + e :移動到行尾

? + f :向前移動

? + b :向後移動

? + p :上一條命令

? + n :下一條命令

? + r :搜索歷史命令

? + y :召回最近用命令刪除的文字

? + h :刪除游標之前的字元

? + d :刪除游標所指的字元

? + w :刪除游標之前的單詞

? + k :刪除從游標到行尾的內容

? + t :交換游標和之前的字元



首先要比windwos下的shell terminal好看,這樣你才有動力,配色可以是Solarized或者是別的什麼,然後半透明,貼著屏幕上邊沿,然後設置一個快捷鍵呼出、隱藏。

mac下 iTerm2使用技巧

其次是把默認的shell換成zsh,會比bash方便不少,當然就ssh而言因為主要操作在伺服器上,所以改觀並不明顯。同樣可以使用oh-my-zsh,載入不同的zsh配置以獲得一些酷炫的效果。

官網是http://ohmyz.sh/

mac下 iTerm2使用技巧

最後,Windows 下的secureCRT和xshell支持rz和sz,雖然Linux下的scp會比rz和sz方便快捷,但是可能並不是直連伺服器,要經過堡壘機,因此scp就不適用了,此時需要通過rz和sz以輸入輸出的方式進行文件傳輸。

需要先安裝lrzsz,推薦用homebrew,可以直接brew install lrzsz

然後將iterm2-recv-zmodem.sh 和 iterm2-send-zmodem.sh腳本保存到 /usr/local/bin/

#!/bin/bash

# iterm2-recv-zmodem.sh

FILE=`osascript -e "tell application "iTerm" to activate" -e "tell application "iTerm" to set thefile to choose folder with prompt "Choose a folder to place received files in"" -e "do shell script ("echo "&(quoted form of POSIX path of thefile as Unicode text)&"")"`

if [[ $FILE = "" ]]; then

echo Cancelled.

# Send ZModem cancel

echo -e \x18\x18\x18\x18\x18

echo # Cancelled transfer

echo

else

echo $FILE

cd "$FILE"

/usr/local/bin/rz

echo # Received $FILE

echo

fi

#!/bin/bash

# iterm2-send-zmodem.sh

FILE=`osascript -e "tell application "iTerm" to activate" -e "tell application "iTerm" to set thefile to choose file with prompt "Choose a file to send"" -e "do shell script ("echo "&(quoted form of POSIX path of thefile as Unicode text)&"")"`

if [[ $FILE = "" ]]; then

echo Cancelled.

# Send ZModem cancel

echo -e \x18\x18\x18\x18\x18

echo # Cancelled transfer

echo

else

echo $FILE

/usr/local/bin/sz "$FILE"

echo # Received $FILE

echo

fi

最後打開iTerm的Preferences,或者使用 command + , ,點進Profiles項,Advanced項,進入Tirggers,點擊Edit,添加兩條規則:

Regular expression: rz waiting to receive.**B0100

Action: Run Silent Coprocess

Parameters: /usr/local/bin/iterm2-send-zmodem.sh

Regular expression: **B00000000000000

Action: Run Silent Coprocess

Parameters: /usr/local/bin/iterm2-recv-zmodem.sh

至此,iterm2已經基本順手了,當然可能有同學說secureCRT和xshell可以保存連接信息、開代理,保存連接信息可以通過配置ssh config的alias來實現,但是大多數情況下有堡壘機的存在,所以就不常用了,而開socks代理可以通過ssh -N -f -D實現。

常用快捷鍵

? + Click :可以打開文件,文件夾和鏈接

? + n :新建窗口

? + t :新建標籤頁

? + w :關閉當前頁

? + 數字 & ? + 方向鍵 :切換標籤頁

?? + 數字 :切換窗口

? + enter :切換全屏

? + d :左右分屏

?? + d :上下分屏

? + ; :自動補全歷史記錄

?? + h :自動補全剪貼板歷史

?? + e :查找所有來定位某個標籤頁

? + r & ? + l :清屏

? + / :顯示游標位置

?? + b :歷史回放

? + f :查找,然後用 tab 和 ? + tab 可以向右和向左補全,補全之後的內容會被自動複製, 還可以用 ? + enter 將查找結果輸入終端

選中即複製,滑鼠中鍵粘貼

通用的Linux shell快捷鍵

? + u :清空當前行

? + a :移動到行首

? + e :移動到行尾

? + f :向前移動

? + b :向後移動

? + p :上一條命令

? + n :下一條命令

? + r :搜索歷史命令

? + y :召回最近用命令刪除的文字

? + h :刪除游標之前的字元

? + d :刪除游標所指的字元

? + w :刪除游標之前的單詞

? + k :刪除從游標到行尾的內容

? + t :交換游標和之前的字元



推薦閱讀:

命令行基礎小知識
新手友好的Python開發環境配置指南
iterm2有什么酷功能?

TAG:Mac | iterm2 | macOS | OSX應用 |