1. ITerm2 支持图片查看操作
- 安装
iterm2 integration
- 在
~/.zshrc
中,放开以下注释
|
|
- 直接通过``imgls
,
imgcat`命令查看图片
2. oh-my-zsh 安装
oh-my-zsh 之前一直在用,安装也较为容易,配合iterm
终端+一些字体配置就可作出比较炫酷开发环境;
建议将个人的相关配置信息(命令别名、PATH 路径导出、环境参数设定等)与原有的~/.zshrc
分离,通过source ~/.my.sh
方式加载,与 zsh 表现样式、插件相关配置分离,更好的管理。
安装地址:https://github.com/robbyrussell/oh-my-zsh
3. iterm2 下 oh-my-zsh 支持 Git CommitID 提示配置
3.1. atime
样式定制 & 效果
- 全路径展示
- 在 git 仓库内,支持 git 分支提示、git commitID 提示
- 支持时间展示
- 整体命令行比较简洁
3.2. atime.zsh-theme
样式文件内容
|
|
对应内容:
|
|
3.3. 修改 ~/.zshrc 内容
|
|
3.4. iterm2 样式、颜色、github 参考
- iterm2 颜色选择: https://iterm2colorschemes.com/
- 样式借鉴:
- https://github.com/iplaces/astro-zsh-theme
- 官方内的
amuse
样式文件
- oh-my-zsh 关于 git 提示: https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/git.zsh
- oh-my-zsh github: https://github.com/ohmyzsh/ohmyzsh
4. 终端/编辑器环境常用快捷键
BTW,以下快捷键在 Linux 下和 Mac 下的行为有些许差异,在不同终端,比如 xshell 和 iterm2 的某些行为也是不一样,需要注意做适当处理,比如在~/.zshrc
或 iterm2 的管理设置中进行相关快捷键的自定义
参考: iterm2-kuai-jie-jian-da-quan: https://cnbin.github.io/blog/2015/06/20/iterm2-kuai-jie-jian-da-quan/
4.1. 光标移动
- 到行首:
ctrl + a
- 到行尾:
ctrl + e
- 字符前进后退:
ctrl + f/b
(相当于左右方向键) forward/back - 单词前进后退:
esc + f/b
(需要按 esc,然后再按 forward/back)
4.2. 字符交换
- 交换光标与光标前的两个字符:
ctrl+t
,通常与ctrl+f/b
配合前进/后退一个字符 - 交换光标前的两个单词:
esc+ t
,通常与esc+f/b
配合前进/后退一个单词
4.3. 删除/裁剪/粘贴
- 裁剪字符操作
- 删除光标之前的字符:
ctrl + h
(相当于 delete 键) - 删除光标之后的字符:
ctrl + d
- 删除光标之前的字符:
- 裁剪单词
- 删除光标之前的一个单词:
ctrl + w
- 删除光标之后的一个单词:
esc+d
- 删除光标之前的一个单词:
- 裁剪更多的字符
- 删除光标到行尾的字符:
ctrl + k
- 删除光标到行首的字符:
ctrl + u
(MAC 下为删除整行)
- 删除光标到行尾的字符:
- 删除整行:
ctrl + u
- 粘贴,复制裁剪的内容:
ctrl+y
4.4. 大小写转换
- 字符转成大写:
esc + u
- 字符转成小写:
esc + l
4.5. 历史记录
- 上一条命令:
ctrl + p
- 搜索命令历史:
ctrl + r
- 历史剪贴板:
ctrl+;
- 剪切板历史:
⌘ + shift + h
4.6. 字符拷贝
- 复制+粘贴:
ctrl + shift + v
4.7. 清屏
- 清屏 1:
ctrl + l
- 下一屏:
⌘ + r
tips: 还可以通过stty -a
了解下相关信息,另外在 Linux 和 Mac 下,以及不同终端环境下的快捷可能和上述有一定差异,需要自己尝试
4.8. 复制+粘贴
复制+粘贴:ctrl + shift + v
5. 如何在 zsh 中绑定和 bash 中一致的快捷键
6. 针对第三方
zsh 和 bash 还有一定的差别,还可以在 zsh 中的配置默认快捷绑定,重新绑定 key,不过在iterm2
中的优先级会更高!
|
|
6.1. 查看组合键
- 运行 cat,然后输入组合键
- 查看 zsh line editor:https://web.cs.elte.hu/local/texinfo/zsh/zsh_10.html
7. MAC 下基于 alt+<-和 alt->光标前后快速移动的效果
参考: alt+left arrowkey
参考:https://stackoverflow.com/questions/12382499/looking-for-altleftarrowkey-solution-in-zsh
在 MAC 中的使用 Iterm2,如果不想通过上述通过修改~/.zshrc
方式,也可以基于 Iterm 的系统配置修改:
- 取消系统的服务快捷键(alt+<-和 alt+->,以及 ctrl+<-和 ctrl+->)
- 设置 Iterm2 加载系统配置:
Load Prestent >> Natural Text Editing
8. Mac 的开发环境配置
8.1. Mac Awesome 仓库
Mac Awesome 仓库,包含了各类 Mac 相关软件,和 Awesome 系列仓库有类似的效果
地址: https://github.com/jaywcjlove/awesome-mac#developer-tools`
9. Iterm 下无权限操作
在Iterm2
下操作dd
或者ls
查看磁盘内容,提示Operation not permitted
解决方法:通用 > 安全和隐私 > 完全磁盘访问权限
,把 iTerm.app 勾选上,重启 iTerm.app 就可以了
10. bash-it: 类似 oh-my-zsh
bash-it 类似于,oh-my-zsh,只是针对 bash 环境,功能包括自动完成,主题,别名,自定义功能等
地址:https://github.com/Bash-it/bash-it
11. Iterm 常用其他插件或配置
11.1. zsh-completions 自动提示
|
|
类似的bash shell
可以采用bash-completions
11.2. autojump 快速 cd 跳转
autojump 是一种更快捷的文件系统导航方式。它的工作原理是从命令行维护您最常使用的目录的数据库。该 autojump -s 命令显示数据库的当前内容。
每天都在命令行下不断的cd
到不同的目录,autojump 做到了一个简单的统计概率,利用j keywords
可以基于权重值(反映了您在目录中花费的时间)快速 jump 到指定的目录
参考:https://github.com/wting/autojump/wiki
也可以基于man autojump
查看更多
|
|
11.3. rz/sz 上传或下载
https://github.com/lupguo/iterm2-zmodem
- Install lrzsz on OSX:
brew install lrzsz
- Save the
iterm2-send-zmodem.sh
anditerm2-recv-zmodem.sh
scripts in /usr/local/bin/ - Set up
Triggers
(Profiles > YourProfile > Advanced > Triggers
) in iTerm 2 like so:
|
|
To send a file to a remote machine:
- Type rz on the remote machine
- Select the file(s) on the local machine to send
- Wait for the coprocess indicator to disappear
The receive a file from a remote machine
- Type
sz filename1 filename2 … filenameN
on the remote machine - Select the folder to receive to on the local machine
- Wait for the coprocess indicator to disappear Future plans (patches welcome)
- Visual progress bar indicator
12. Window 框选择
针对分栏或者多 tab 情况下,可以快速切到特定 tab 和栏目
- panel 面板
cmd+alt+上/下/左/右箭头
: 选择对应的 panel
- tab 栏目
shift+cmd+[/]
: 选择对应的 tab 栏cmd+1/2/3/4..
: 快速选定到 1/2/3/4 tab 栏