编程 如何自定义Mac终端并使其更有用
1、终端窗口的基础知识
当您打开终端应用程序时,您将看到一个几乎为空的窗口,其中包含两行文本。第一行显示您上次登录的日期和时间。例如:
Last login: Wed Feb 13 01:08:35 on ttys000
第二行是实际的命令提示符; 最后的矩形框是你的光标。您将在此行上键入命令:
Rahul-Mac:~ rahulsaigal$
以下是每个元素的含义:
提示的第一部分是Mac的名称。冒号(:)是视觉分离器。
第二部分以波浪号(〜)开头。它表示您位于主目录中并使用短用户名。
最后,美元符号($)表示您以非root用户身份登录。

2、修改终端窗口
终端窗口的行为与macOS中的任何其他应用程序一样。您可以最小化,移动,调整大小,缩放和滚动内容。在使用终端任何时间后,您键入的命令将产生大量文本。
此文本很小,难以分析,并且可能使定位光标变得困难。虽然您可以调整窗口大小,但退出应用程序时这些更改会丢失。
要修改终端窗口,请转到Shell> Show Inspector或按Cmd + I打开Inspector窗口。在“ 窗口”部分下,在“ 列和行”字段中输入值,或根据自己的喜好调整窗口大小以自动填充这些值。
将终端窗口设置为特定大小,形状和位置后,选择“ 外壳”>“将设置用作默认值”。

3、调整终端主题
默认终端在白色背景上带有黑色文本。但您可以自定义其各种属性,如背景颜色,字体(字体和大小),文本颜色,光标类型等等。
导航到Shell> New Window并尝试一些内置主题。这些包括Grass,Homebrew,Man Page,Ocean,Red Sands等。
首选项”>“配置文件”窗格显示所有预先构建的主题。它显示左侧边栏上的可视缩略图和右侧面板上的属性。它分为六个部分:文本,窗口,制表符,外壳,键盘和高级。
要调整属性,请选择主题,然后从“ 齿轮”菜单中选择“ 复制轮廓 ” 。


4、文字属性
终端允许您自定义各种文本属性。要更改使用的字体,请单击“ 字体”部分中的“ 更改”按钮,然后选择字体字体和大小。
您可以应用文本平滑,使用粗体字体,使用明亮的颜色作为粗体文本等。如果要更改文本的颜色,请单击“ 文本”颜色并选择一个选项。
要更改光标形状,请选择“ 块”,“ 下划线 ”或“ 垂直条”。单击单词光标旁边的颜色按钮也可以更改其颜色。您可以通过调整“ 不透明度”和“ 模糊”滑块来使“终端”窗口透明。
通过这种方式,您可以将终端窗口直接放在网页上方,并在阅读说明时输入命令。

5、窗口属性
窗口属性包括标题,大小,回滚限制和其他行为。请记住,您在此窗格中选择的选项仅适用于配置文件,而不适用于整个终端应用。要更改窗口名称,请在“ 标题”字段中键入新文本。
选择任意或所有复选框以显示活动进程的名称,工作目录,路径,shell名称等。您可以更改当前主题的默认窗口大小,甚至可以配置回滚缓冲区的大小,以便将您键入的命令的历史记录保存到终端天或几周前。

6、外壳属性
在本节中,您可以微调终端的工作方式。您可以选择在启动时运行的命令; 例如,启动备用shell。在关闭窗口之前,终端也可以提示您。在关闭之前设置Ask以始终防止意外杀死它,或者如果您发现提示烦人则将其设置为Never。
如果您选中“ 只有登录shell以外的进程”,终端将在您退出应用程序之前提醒您。如果您不小心单击了错误的窗口元素或按错了键序列,此功能非常有用。

7、使用窗口组
您是否希望以特定方式安排终端窗口并希望恢复会话而无需重新安排和重新启动?窗口组功能可以节省您的时间并提高您的工作效率。使用它,每个窗口都可以在桌面上拥有自己的进程,属性和位置。
例如,您可能正在一个窗口中使用Vim编辑文件,而在另一个窗口中运行Octave。也许你想在另一个窗口中尝试命令时在一个窗口中引用程序的手册页。如果一个shell忙于执行长任务,您可能希望在另一个窗口中运行命令。

8、保存窗口组
在建立窗口组之前,您需要:
根据需要在屏幕上组织窗口。
调整每个窗口的属性,大小和形状。
为要恢复的每个窗口运行任何命令。
然后选择Window> Save Windows as Group。键入名称,选中“ 终端启动时使用窗口组”,然后单击“ 保存”。

9、恢复窗口组
要还原窗口组,请选择“ 窗口”>“打开窗口组”。这样,您可以继续处理当前的shell,但只要需要运行一组特定的任务,就可以打开该组。
打开“首选项”>“窗口组”,然后单击“ 齿轮”图标以导入,导出或删除窗口组。如果有其他应用程序窗口,请将窗口组分配给单独的桌面工作区以避免分心。

10、设置默认Shell
macOS的默认登录shell是bash shell。但是,它还提供了许多不同的shell,包括/ bin / bash,/ bin / csh,/ bin / zsh,/ bin / ksh等。Unix爱好者喜欢使用zsh(或Z)shell,因为它在bash shell之上提供了许多功能,并支持许多插件。
11、找出你正在使用的外壳
要找出您正在使用的shell,请输入以下命令:
echo $0
终端显示shell名称,前面有连字符。
12、更改登录Shell
1.要更改用户帐户的默认shell,请打开“ 系统首选项”>“用户和组”。单击锁定图标,然后输入管理员凭据。然后在列表中右键单击您的名称,然后选择“ 高级选项”。
2.在出现的对话框窗口中,更改Login shell下的选项。您无需重新启动Mac即可使其生效; 只是退出并恢复终端会话以开始新的shell。
3.要更改任何用户帐户的默认shell终端,请选择“ 终端”>“首选项”,然后单击工具栏上的“ 常规 ”。在打开的Shells旁边,选择Command(完整路径)并在字段中输入新shell的路径。



13、自定义命令提示符
每次打开终端时,默认的命令行提示都会显示相同的信息。有许多特殊的字符序列,当用于定义提示时,可以显示有趣的数据位。
提示的外观存储在环境变量$ PS1中。当您键入以下内容时:
echo $PS1
生成的文本使用以下格式的shell提示符的默认设置进行字符串编码:
\h:\W \u\$
\ h表示主机名
\ W是当前的工作目录
\ u代表当前用户
在macOS上,.bash_profile可以包含各种首选项,以了解shell的外观和行为方式。您在.bash_profile中进行的自定义仅适用于shell会话; 它们不适用于shell脚本。要在nano中编辑.bash_profile,请键入:
nano ~/.bash_profile
在新行中,添加PS1 =“...”。在这些引号之间,放置一系列字符来自定义提示。bash文档手册中有一个全面的提示特殊字符列表。例如:
PS1="\!\d\u\$"
!表示此命令的历史编号
\ d是工作日/月/日期格式的日期
\ u代表用户名
$是有效的UID
输入序列后,按Control + O键编写新信息。然后按Control + T将此信息保存到.bash_profile文件中。退出并重新启动终端以查看更改。
我喜欢的一个提示序列是:
PS1="\w \! \$"
尝试一下,看看你是否喜欢它。在多用户系统上,您可以输入主机名,用户名,bash版本,命令历史记录数等,以获取更多信息。

14、尝试一些终端替代品
几十年来,终端应用程序一直是默认的命令行界面。无论您是刚入门还是长时间使用终端,这些自定义都可以提高您的工作效率。与大多数Apple应用程序一样,终端尝试在新用户的可访问性和开发人员的电源功能之间取得平衡。
要成为命令行的超级用户,您需要更多功能,例如拆分窗格支持,自动填充建议,搜索,粘贴历史记录等。查看适合您工作流程的这些有用的终端替代方案。