iTerm2常用功能
光标移动
Ctrl+a
光标移动到行首
Ctrl+e
光标移动到行末
Ctrl+f
前移一个字符
Ctrl+b
后退一个字符
屏幕分割
command+d
垂直分割
command+shift+d
水平分割
系统热键
勾选hotkey,然后输入cmd+.
以后可以直接用快捷键呼出iTerm2。
Command 键
按住⌘键
- 可以拖拽选中的字符串;
- 点击 url:调用默认浏览器访问该网址;
- 点击文件:调用默认程序打开文件;
- 如果文件名是filename:42,且默认文本编辑器是 Macvim、Textmate或BBEdit,将会直接打开到这一行;
- 点击文件夹:在 finder 中打开该文件夹;
- 同时按住option键,可以以矩形选中,类似于vim中的ctrl v操作。
历史纪录
- 按
⌘+Shift+h
弹出历史记录窗口
高亮当前鼠标的位置
⌘+/
找到当前光标位置
zsh高级设置
安装 zsh-syntax-highlighting
zsh-syntax-highlighting
是一款高亮命令行的插件,当输错命令的时候会显示红色,正确的命令会显示绿色。
-
安装方法(OS X下)
brew install zsh-syntax-highlighting
然后把source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
加在.zshrc
文件中最后一行。最后执行source .zshrc
或者重启iTerm2就可以生效。 -
问题解决
我安装的时候由于安装方法错误导致每次启动iTerm2都会报错并且输出一大段代码,通过研究发现是
zcompdump-xxx Pro-x.x.x
文件存在问题,删除之后再次重新打开iTerm2就好了,从字面理解应该是和自动补全有关的文件,没有深究。
安装 autojump
oh-my-zsh
是自带autojump
插件的,但是这个只是插件,还需要安装autojump
,它的功能是记录你曾经cd过的路径,比如你执行过cd user/download/a
,下次只要j a
,这个插件就会自动跳到合适的目录。
-
安装
brew install autojump
,安装完之后需要在.zshrc
文件中加入plugins=(autojump)
和[[ -s $(brew --prefix)/etc/profile.d/autojump.sh ]] && . $(brew --prefix)/etc/profile.d/autojump.sh
,然后source .zshrc
或者重启iTerm2。
Textmate
同样也是自带的插件,主要用来在命令行里打开文件编辑。如果只是在.zshrc
里配置plugins=(textmate)
是不会有作用的,除非之前你已经设置textmate到/usr/local/bin
目录下了。
-
安装
如果没有安装textmate要首先安装,安装完之后要链接到
/usr/local/bin
目录下。具体命令为ln -s /Applications/TextMate.app/Contents/Resources/mate usr/local/bin/mate
。然后再设置.zshrc
就可以了。打开文件tm xxxfile
。
其他插件
- osx-设置
plugins=(osx)
|
|
可以设置alias preview="quick-look"
给预览命令设置别名
zsh 好处
- 兼容bash,无缝切换
- 强大的历史纪录功能,输入 grep 然后用上下箭头可以翻阅你执行的所有 grep 命令。
- 各种补全:路径补全、命令补全,命令参数补全,插件内容补全等等。触发补全只需要按一下或两下 tab 键,补全项可以使用
ctrl+n/p/f/b
上下左右切换。比如你想杀掉 java 的进程,只需要输入kill java + tab
键,如果只有一个 java 进程,zsh 会自动替换为进程的 pid,如果有多个则会出现选择项供你选择。ssh + 空格 + 两个tab键,zsh会列出所有访问过的主机和用户名进行补全 - 目录浏览和跳转:输入 d,即可列出你在这个会话里访问的目录列表,输入列表前的序号,即可直接跳转。
- 在当前目录下输入 … 或 … ,或直接输入当前目录名都可以跳转,你甚至不再需要输入 cd 命令了。
- 通配符搜索:
ls -l **/*.sh
,可以递归显示当前目录下的 shell 文件。 - 强大的插件和别名系统。例如
alias -s html=vi
意思是如果在命令行里输入以html
结尾的文件会用vi打开,vi可以换成任意设置好的编辑器。
恢复到 bash
直接在命令行里输入uninstall_oh_my_zsh
。
补充
如果遇到/usr/local/etc/bash_completion:138: command not found: complete
之类的问题,可能是由于之前安装过bash_completion
导致的,需要在.bash_profile
或者.bashrc
里去掉
|
|
然后重启终端就应该好了,目前没找到比较好的方法。