本文是 iTerm2 的使用笔记,不定期更新。

1 注释说明

对于 Preferences 的修改,=> 表示需要切换选项卡,-> 表示在同一选项卡内

2 参考

3 杂

301 如何随时随地一键调用 Quake-like iTerm2

首先声明:由于 Mac OS 本身对窗体「最大化」的设计,某个窗体最大化后似乎就独占这一屏幕了,因此貌似没法实现在已经最大化窗口的那个桌面上调用 iTerm2。

主要更改 Preferences 中的 2 个地方:(写作本文时,iTerm2 版本号为3.1.4)

Keys

Keys -> Hotkey -> Show/hide all windows with a system-wide hotkey:如图

iterm2-hotkey

Profiles

Profiles 点左下方的「+」创建一个新的 Profile,选择 Window,然后修改 Style 为 Full-Width Bottom of Screen 或者 Full-Width Top of Screen,然后修改左下角 Other Actions... 为 Set as Default。此后,退出 iTerm2 当前终端窗口,新建一个 iTerm2 窗口,以后就能用 你在前面设置的热键 Hotkey 来调用了:如图

iterm2-profile

其他的 Profiles 设置备份

General

Working Directory

Reuse previous session's directory:每次打开新的标签页、切割出新的 panel 时,重用切割来源的目录位置。例如我在某个标签页中切换到了 ~/Documents,此时新建 tab,则新的 tab 打开时就在 ~/Documents 下(若不如此修改,默认打开时是在 ~ 下即 Home directory):如图

iterm2-working-directory

Text

在使用 agnoster 作为 zsh 主题的情况下,更改字体为 Font -> Change Font -> All Fonts -> 12 pt Meslo LG S DZ Regular for Powerline

Session

Closing -> Always Prompt before closing

注:Prompt before closing if there are jobs running besides 似乎不起作用……例如我添加了 vim 或 top 后,该关还是关,不知道是不是哪里出了问题。。。

302 显示命令执行时间

菜单栏 View -> Show Timestamps

iterm2-show-time-stamps

303 使用正则表达式搜索

在终端窗口使用 cmd+f 进行搜索时,点选搜索框左侧的下拉三角号,可以选择使用正则表达式搜索:

iterm2-regular-expression-search-regex

304 无鼠标模式复制文本

打开 cmd+f 搜索文本,高亮光标标记了目标文本后,按 Tab 向右选择文本,按 Shift+Tab 向左选择文本,文本同时被复制到了搜索框中;选择足够的文本后,cmd+A 然后 cmd+c 即可完成复制

305 使用 emacs 模式进行行命令编辑

想在 iTerm2 中使用 emacs 模式进行行编辑如光标前单词删除、光标移动,需要使用 Alt 时,一直有问题;后来找到了该帖子,修改了 Preferences => Profiles -> [你自己的Profile] -> Keys,把其中的右 Option 键改为了 Meta 键,左 Option 改成了 Esc+。然后就能用左 Options 即普通键盘上的左 Alt 来使用普通键盘上的 Alt 了。

修改Alt键

关于 shell 行编辑的快捷键,见 MIT 的一个文档,摘录常用的几个:

C- 表示 Ctrl 开头,M- 表示 Alt 开头

位置

行跳转

C-a:跳转到行首

C-e:跳转到行尾

单词跳转

M-b:向光标左侧(行首方向)跳转 1 个单词

M-f:向光标右侧(行尾方向)跳转 1 个单词

编辑

行编辑

C-k:删除至行尾

C-w:删除光标左侧(光标与行首之间)最近的 1 个单词

M-d:删除光标右侧(光标与行尾之间)最近的 1 个单词

tip:

C-a 中的 a 可理解为 stArt 中的 a;C-e 中的 e 可理解为 End 中的 e

C-k 中的 k 可理解为 Kill 中的 k

C-w 和 M-d 的位置正好一组在左,一组在右,可对应理解为删除左侧还是删除右侧

306 使用 vi 模式进行行命令编辑

如果你是原生 Mac 键盘党,这段可以无视;如果你是外接标准键盘党(即键盘上有功能键区 Insert/Delete/Home 等 6 个键),请往下看

改成 vi-mode 方式后,发现在 oh-my-zsh + iTerm2 + vi-mode 条件下进行行编辑的话,vi 模式快捷键不太方便,主要是说按 Home/End/Delete 等键总是会出问题。看到这个issue所说,好像是键位绑定问题。搜到了一个键位绑定修改方案:

# 修改键位绑定的代码

# 来源:https://bbs.archlinux.org/viewtopic.php?pid=201976#p201976

# 原始可能是:http://zshwiki.org/home/zle/bindkeys

autoload zkbd

[[ ! -f ${ZDOTDIR:-$HOME}/.zkbd/$TERM-$VENDOR-$OSTYPE ]] && zkbd

source ${ZDOTDIR:-$HOME}/.zkbd/$TERM-$VENDOR-$OSTYPE

[[ -n ${key[Backspace]} ]] && bindkey "${key[Backspace]}" backward-delete-char

[[ -n ${key[Insert]} ]] && bindkey "${key[Insert]}" overwrite-mode

[[ -n ${key[Home]} ]] && bindkey "${key[Home]}" beginning-of-line

[[ -n ${key[PageUp]} ]] && bindkey "${key[PageUp]}" up-line-or-history

[[ -n ${key[Delete]} ]] && bindkey "${key[Delete]}" delete-char

[[ -n ${key[End]} ]] && bindkey "${key[End]}" end-of-line

[[ -n ${key[PageDown]} ]] && bindkey "${key[PageDown]}" down-line-or-history

[[ -n ${key[Up]} ]] && bindkey "${key[Up]}" up-line-or-search

[[ -n ${key[Left]} ]] && bindkey "${key[Left]}" backward-char

[[ -n ${key[Down]} ]] && bindkey "${key[Down]}" down-line-or-search

[[ -n ${key[Right]} ]] && bindkey "${key[Right]}" forward-char

有几个坑,记录一下:

在需要绑定 F11 时我发现总是展示桌面,无法输入 F11。于是我在想可能是系统快捷键绑定了。于是在「系统偏好设置」->「键盘」中的「快捷键」->「调度中心」找到了 F11,暂时勾选掉该选项,于是能够输入 F11 了

暂时取消系统级F11快捷键

如果想绑定 Meta Key,见「#305 使用 emacs 模式进行行命令编辑」;如果不想绑定 Meta Key,按空格跳过

在绑定 insert 时,不知为啥,一直没法输入该键。但后来注意到一句话 Press Space to skip to the next key.,因此就决定按空格跳过该键的映射(反正这个键位映射主要是给命令行用的,而命令行中要做替换也不需要用到 insert——启用了 vi-mode,用 Esc 然后 R 就行了阿~)

提醒:

不要提前输入。例如在映射 F1 时就按 F1,等到跳出要求映射 F2 时再按 F2,而不要连续按 F1、F2。否则系统会认为 F1+F2 这个(顺序?)组合键才是 F1

在发现映射错误时,如果还没映射完,那就等 10 秒,程序会自己停止;然后重新 source ~/.zshrc 就能重新调用该 zkbd 进行键盘映射了;如果已经映射完,想改,那么删除 ~/.zkbd 文件夹下的对应配置文件(类似 xterm-256color-apple-darwin17.0 字样),然后重新 source ~/.zshrc 即可

0 八卦

【八卦01】由于 Mac OS 自带的 terminal 没有简单的方法实现随时随地从屏幕上方「下拉」/「上拉」调用的功能(具体效果类似 Guake),我找到了 iTerm 2。虽然还是尽可能想避免非三平台通用的软件,不过权衡之后我觉得随时随地调用终端这件事更重要,至于过分依赖单平台特用的软件这种问题……后面具体使用时再看吧。

【八卦02】至于为什么不用 Visor,那是因为它已经切换到 TotalTerminal 了,而后者……已经弃坑了。

iterm php,iTerm2笔记相关推荐

  1. 在MacBook Pro 2015上安装iTerm2笔记

    目前的MacOS版本是10.13.3.昨天早上因为升级针对10.12.6的一个推送,把macOS搞崩了,进入不了系统.找运维兄弟重装了最新版本的系统.下面是我整理的iTerm2的安装笔记,以作备忘. ...

  2. [iTerm] 终端 iTerm2 的简单使用

    直接在其官方的下载地址进行下载:https://www.iterm2.com/downloads.html,下载的直接就是一个 .app 的应用程序,直接拖到 Application 文件夹即可: 加 ...

  3. iterm php,iterm2使用

    iterm2使用 终端中输入命令时,移动光标有两种方式,一个是 emacs,一个 vi,可以通过 set 命令来设置,默认的是 emacs 模式,也可以通过set -o emacs来显式设置.如果想使 ...

  4. mysql工具的使用_产品操作MySQL入门篇-工具使用

    MYSQL 本资料为产品岗位作为日常工作参考,语言口语化 At 2019/4/15 By David.Yang 数据库怎么登录/管理? 登录数据库的方式有多种, 比如 本地Client登录. 通过数据 ...

  5. 来说说Mac活动监控器打不开/耗电快/发热严重等问题的解决过程

    http://tieba.baidu.com/p/6332647910 这是我的帖子,望笑纳. 使用渊源 感受优势 遇到问题 IDE配置 正文开始 磁盘扫描 接近答案 确认问题 解决问题 附带效果 最 ...

  6. 他妈ux,您懂的tmux

    转自 http://louiszhai.github.io/2017/09/30/tmux/ 请尊重原作者 本文首发于CSDN网站,下面的版本又经过进一步的修订. 导读 我一直信奉简洁至上的原则,桌面 ...

  7. Mac iterm/iterm2快捷键

    Mac iterm/iterm2快捷键 水平分割 cmd+shift+d 垂直分割 cmd + d 软件全屏 cmd + enter 删除当前行 ctrl + u

  8. iTerm2 使用笔记

    iTerm2 使用了1年多了,一些功能其实还没有主动去发现,这次接着项目忙完的空闲时间整理一下tips,提高工作效率,方便以后查阅. 一.几个术语 从小到大:session > pane > ...

  9. mac iterm 怎么搜索不能输入_Mac高效开发之iTerm2、Prezto和Solarized主题

    本文首发于个人网站:Mac高效开发之iTerm2.Prezto和Solarized主题 工欲善其事必先利其器,作为开发,我追求极致的高效,因此会在很多细节上追求效率,例如:命令行窗口敲命令的时候,如果 ...

最新文章

  1. 9 单元测试中不得不知的概念
  2. android 自定义 listView
  3. final const java_Java中的final关键字 与 C#中的const, readonly关键字
  4. C# 调用动态链接库读取二代身份证信息
  5. vue scss @font-face 路径问题
  6. 核心动画——CAAnimation
  7. html+css制作一个浪漫爱心表白网页 表白网页在线制作 最浪漫的表白网页
  8. 在Global Mapper中导入点的文本格式
  9. Bochs使用简单教程
  10. 教师计算机应用能力现状分析,信息技术教学应用个人现状分析以及发展计划
  11. 计算机文件夹加密文件,电脑文件夹怎么加密,制作隐私的加密文件夹软件
  12. 打破双亲委派么,怎么打破_打破统一垃圾收集规则
  13. Firefox的下载处理器:FlashGot v1.0 Final颁发
  14. java根据身份证获取出生年月日,性别,年龄
  15. 安卓隐藏摄像_隐藏拍摄app
  16. Qt 设置背景图片
  17. BGP 十一条选路原则与BGP路由传递的注意事项介绍
  18. 为何大量网站不能抓取?爬虫突破封禁的6种常见方法
  19. 同网段能互通,跨网段不通
  20. 什么?作为程序员你还不知道人工智能搜索引擎?

热门文章

  1. DNN(DotNetNuke)注册用户终于突破10万人了,其3.0也终于跳票了...
  2. 1582年日历怎么了_【知乎周边】知乎2020年日历开箱+测评
  3. 上拉加载更多后台数据_6-7【微信小程序全栈开发课程】记录页面(七)--分页加载记录数据...
  4. python连接mysql用哪个模块_Python连接MySQL数据库之pymysql模块使用
  5. [转载] Python 迭代器 深入理解 与应用示例
  6. ruby hash方法_Ruby中带有示例的Hash.rassoc(obj)方法
  7. 哈密顿路径_检查图形是否为哈密顿量(哈密顿路径)
  8. html文段源码,HTML 段落
  9. lvs负载均衡—NAT模式
  10. 15947884 oracle_Oracle Patch Bundle Update