mac下 iTerm2使用技巧
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mac下 iTerm2使用技巧相关的知识,希望对你有一定的参考价值。
windows下使用secureCRT和xshell习惯了,如何在mac下过渡到iTerm2?
首先要比windwos下的shell terminal好看,这样你才有动力,配色可以是Solarized或者是别的什么,然后半透明,贴着屏幕上边沿,然后设置一个快捷键呼出、隐藏。
其次是把默认的shell换成zsh,会比bash方便不少,当然就ssh而言因为主要操作在服务器上,所以改观并不明显。同样可以使用oh-my-zsh,加载不同的zsh配置以获得一些酷炫的效果。
官网是http://ohmyz.sh/
最后,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 :交换光标和之前的字符
参考技术A首先要比windwos下的shell terminal好看,这样你才有动力,配色可以是Solarized或者是别的什么,然后半透明,贴着屏幕上边沿,然后设置一个快捷键呼出、隐藏。
其次是把默认的shell换成zsh,会比bash方便不少,当然就ssh而言因为主要操作在服务器上,所以改观并不明显。同样可以使用oh-my-zsh,加载不同的zsh配置以获得一些酷炫的效果。
官网是http://ohmyz.sh/
最后,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 :交换光标和之前的字符
以上是关于mac下 iTerm2使用技巧的主要内容,如果未能解决你的问题,请参考以下文章
Mac下,使用sshpass让iterm2支持多ssh登录信息保存