在终端中复制文本块

在终端窗口中,是否有可能只复制文本“块”,而不必复制整行?

示例:

enter image description here

我只想复制上面图片中圈出来的文字,这可行吗?还是我还需要复制要复制的块左边的所有内容?
4个回答

你可以在操作时按住“option”键来完成这个操作。这样会将光标变成一个“+”符号,使你能够选择任意矩形区域的文本。
请参考下方的截图:

enter image description here

如果你仔细看上面的图片,你会发现在左边的窗口中我已经用终端窗口选中了一段文本,在右边的窗口中我成功地将这段文本粘贴到了一个新的TextEdit文档中。

5这在iTerm中不起作用,但在Terminal中运行良好。 - Natsfan

当使用iTerm2时,你可以使用Cmd+Option+鼠标来进行垂直/块选择,这会将你的光标变成一个十字形,类似于Terminal.app。
或者你可以使用复制模式
- 使用Cmd+Shift+C进入复制模式 - 使用Ctrl+v进入垂直/块模式 - 使用键盘上的方向键移动光标(更多移动选项,请参考链接) - 完成后,使用Ctrl+k, y来复制所选择的内容。

你也可以尝试使用awk来限制shell输出,以满足你的需求。甚至可以将其管道传输到pbcopy。

3或者只需使用cut -c 56-或类似的命令。 - Wildcard

在iTerm中,你可以使用 + Option + 鼠标来选择一个文本块,并使用 + c来复制!

选项卡和窗口

我最喜欢的Shell快捷键组合

这些可能对你在使用shell时更快有所帮助,但不仅适用于iTerm2。我假设你在Mac上使用bash或zsh。 有很多技巧,但我经常使用以下几个。有时候也有不止一种方法来完成同样的事情,选择你最喜欢的方式。

希望这些能改变你的生活。:)

功能 快捷键
新建选项卡 + T
关闭选项卡或窗口 + W (与许多 mac 应用程序相同)
转到选项卡 + 数字键 (例如:第二个选项卡为⌘2)
按方向分割 iTerm 窗格 + Option + 箭头键
循环 iTerm 窗口 + 反引号 (对所有 mac 应用程序都是真实的,并可与桌面/任务控制一起使用)
分裂
垂直拆分窗口(相同配置文件) + D
水平拆分窗口(相同配置文件) + Shift + D (助记符:Shift 是一个宽的水平键)
移动
使用鼠标移动窗格 + Alt + Shift,然后从任何位置拖动窗格
全屏模式
全屏模式 + Enter
最大化窗格 + Shift + Enter (在全屏模式下使用,可暂时将窗格全屏显示!)
调整窗格大小 Ctrl + + 箭头 (前提是您尚未将其映射到其他内容)
较少使用
按使用顺序转到拆分窗格 + ] + [
水平拆分窗口(新配置文件) Option + + H
垂直拆分窗口(新配置文件) Option + + V
上一个选项卡 + 左箭头 (我通常按选项卡编号移动)
下一个选项卡 + 右箭头
功能 快捷键 用途
删除至行首(常用) Ctrl + U 使用此功能重新开始输入,无需按下 Ctrl-C
删除至行尾(常用) Ctrl + K 结合命令历史使用,重复执行命令并在末尾进行修改!
重复上一条命令 上箭头键 通过上下箭头循环浏览历史记录。如果你知道要查找的字符串,使用Ctrl-R更快。
在一行上前后移动 箭头键 这会使你离开主键区,但很容易记住
按单词在一行上前后移动 + 箭头键 快速跳转到一个单词以更正拼写错误或进行"再次运行"并进行微小更改
删除前一个单词(在shell中) Ctrl + W 按单词删除更快。尤其在上一条命令只有一个拼写错误或其他问题时。
清屏 Ctrl + L 这告诉shell执行清屏操作。当无效时, + K 告诉iTerm执行清屏操作,在不在shell中时使用。使用此方法代替重复输入 clear

更快地移动

iTerm中有很多快捷方式可以使用,学习这些快捷方式非常有用,因为箭头键、Home/End键和Mac的等效键并不总是有效。例如, + 左箭头通常与Home(跳转到当前行的开头)相同,但在shell中无效。Home在许多应用程序中都有效,但会将光标移出主键区。

功能 快捷键
移动到行首 Ctrl + AHome
移动到行尾 Ctrl + EEnd
向前移动一个单词 Option + F
向后移动一个单词 Option + B
设置标记 + M
跳转到标记 + J
在一行上按单词移动(这是一个shell的功能,但可以正常通过) Ctrl + 左/右箭头
使用鼠标光标跳转(shell和vim - 可能取决于配置) Option + 左键点击

在不使用鼠标的情况下,使用iTerm进行复制和粘贴

我并不经常使用这个功能。

功能 快捷键
进入复制模式 Shift + + C
进入复制模式下的字符选择模式 Ctrl + V
在复制模式中移动光标 HJKL vim动作或箭头键
复制复制模式中的文本 Ctrl + K

复制操作将存入正常的系统剪贴板中,您可以像平常一样进行粘贴。

搜索命令历史记录

功能 快捷键
边输入边搜索 Ctrl + R 并输入搜索词;重复按 Ctrl + R 浏览结果
搜索上次记住的搜索词 Ctrl + R 两次
在当前历史记录条目处结束搜索 Ctrl + Y
取消搜索并恢复原始行 Ctrl + G

其他

功能 快捷键
清屏/清除窗格(当“Ctrl + L”无效时) + K (我一直都在用这个)
向窗口中的所有窗格广播命令(需要时很好用!) + Alt + I (再次按下以切换)
查找光标 + / 或使用易于辨识的主题或光标形状