安装package control后,通过命令面板安装terminus插件;2. 使用ctrl+shift+p输入terminus: open default shell in view在当前视图打开终端;3. 通过view > layout选择分栏布局如columns: 2;4. 在不同分栏中分别执行terminus打开命令以实现多窗口终端;5. 可通过自定义快捷键配置快速切换布局和打开终端;6. 在terminus设置中配置shell_configs以支持多shell环境;7. 调整字体、主题、工作目录等参数优化使用体验;8. 可结合sublime构建系统实现命令在terminus中执行。最终实现sublime text内嵌多窗口终端分屏显示,且各终端会话独立运行并可持久化恢复,完整提升开发效率。
在sublime text中实现终端分屏显示和集成多窗口终端,主要依赖于安装第三方插件,因为Sublime本身并没有内置的终端功能。目前,最成熟且功能强大的解决方案是使用
Terminus
插件。它能让你在Sublime内部直接运行多个独立的终端会话,并配合Sublime的分栏布局功能,轻松模拟出“分屏”的效果。
解决方案
要让Sublime Text拥有强大的终端功能,核心在于安装并配置
Terminus
插件。以下是具体步骤:
- 安装Package Control: 如果你还没有安装Package Control,这是Sublime Text管理插件的必备工具。你可以在Sublime Text的官方网站找到安装代码,通常是在
View > Show console
中粘贴并运行一段python代码。
- 安装Terminus插件:
- 按下
Ctrl+Shift+P
(macOS:
Cmd+Shift+P
) 打开命令面板。
- 输入
Install Package
并选择它。
- 在弹出的列表中输入
Terminus
,然后选择并安装它。等待安装完成。
- 按下
- 打开第一个终端:
- 安装完成后,再次按下
Ctrl+Shift+P
。
- 输入
Terminus: Open Default Shell in View
并选择它。这会在当前Sublime窗口的底部或一个新的分栏中打开一个终端面板。
- 安装完成后,再次按下
- 实现多窗口/分屏终端:
- 利用Sublime的分栏布局: 这是实现“分屏”效果的关键。
- 前往
View > Layout
,选择你想要的分栏布局,例如
Columns: 2
(两列) 或
Rows: 2
(两行)。
- 光标会默认在其中一个分栏中。
- 你可以通过
Ctrl+Shift+数字键
(例如
Ctrl+Shift+2
移动到第二个分栏) 来切换当前活动的分栏。
- 在每个分栏中,重复步骤3 (
Ctrl+Shift+P
->
Terminus: Open Default Shell in View
),就能在不同的分栏中打开独立的终端实例。
- 前往
- Terminus内部的分屏(如果需要):
Terminus
自身也支持在单个终端面板内进行分屏,但这通常不如直接利用Sublime的布局功能直观。你可以探索
Terminus: Split View
等命令,但对于真正的多窗口体验,Sublime的布局更胜一筹。
- 利用Sublime的分栏布局: 这是实现“分屏”效果的关键。
- 自定义快捷键 (可选但推荐): 为了方便快速打开终端或切换布局,你可以自定义快捷键。
- 前往
Preferences > Key Bindings
。
- 在右侧的用户自定义文件中添加类似下面的配置(以windows/linux为例):
[ { "keys": ["ctrl+`"], "command": "terminus_open", "args": {"panel_name": "Terminus"} }, { "keys": ["ctrl+alt+t"], "command": "terminus_open", "args": {"view_id": "terminus_view", "panel_name": "Terminus"} }, { "keys": ["ctrl+alt+1"], "command": "set_layout", "args": {"cols": [0.0, 1.0], "rows": [0.0, 1.0], "cells": [[0, 0, 1, 1]]} }, { "keys": ["ctrl+alt+2"], "command": "set_layout", "args": {"cols": [0.0, 0.5, 1.0], "rows": [0.0, 1.0], "cells": [[0, 0, 1, 1], [1, 0, 2, 1]]} }, { "keys": ["ctrl+alt+3"], "command": "set_layout", "args": {"cols": [0.0, 0.33, 0.66, 1.0], "rows": [0.0, 1.0], "cells": [[0, 0, 1, 1], [1, 0, 2, 1], [2, 0, 3, 1]]} } ]
第一个
ctrl+
快捷键可以快速打开或关闭Terminus面板。
ctrl+alt+t
可以直接在一个新的视图中打开终端。后面的
ctrl+alt+1/2/3
是快速切换到单列、两列或三列布局的示例。
- 前往
Sublime Text集成终端:为什么Terminus是首选?
当谈到Sublime Text的终端集成,
Terminus
几乎是唯一的、也是最好的选择。这并不是因为它没有竞争者,而是因为它在功能、稳定性和用户体验上做得确实很到位。Sublime Text本身设计之初就没考虑集成一个完整的命令行环境,它更专注于代码编辑。所以,任何想在Sublime里敲命令的需求,都得依靠插件的力量。
我个人在使用
Terminus
的过程中,最看重的是它真正做到了“集成”二字。它不是简单地弹出一个外部终端窗口,而是把终端会话直接嵌入到Sublime的视图面板里。这意味着你可以像操作一个普通的文件标签页一样,在不同的终端会话之间切换,或者把它们拖拽到不同的分栏里。这种无缝的体验,对于那些习惯了ide里集成终端的开发者来说,简直是福音。
此外,
Terminus
支持多种Shell,无论是Linux/macOS下的bash、Zsh,还是Windows下的CMD、PowerShell,都能很好地兼容。我有时需要在不同项目中使用不同的开发环境,比如一个项目用WSL的ubuntu,另一个直接用Windows的PowerShell,
Terminus
都能轻松切换,甚至可以为不同的项目配置不同的默认Shell,省去了很多切换环境的麻烦。它还能保持终端会话的状态,即使你关闭Sublime再打开,只要配置得当,终端会话也能恢复,这对我这种经常开着一堆终端窗口的人来说,简直是救命稻草。
如何配置Terminus实现多窗口终端布局?
要真正实现多窗口终端布局,不仅仅是打开多个
Terminus
实例那么简单,更重要的是如何让它们井然有序地排列在Sublime的界面里。这得益于Sublime Text强大的布局管理功能。
首先,你需要明确你想要的工作区布局。Sublime提供了多种预设布局,比如两列、三列、两行等。你可以在
View > Layout
菜单下找到它们。我通常喜欢使用两列或三列布局,这样可以在左侧编辑代码,右侧放一到两个终端,或者一个终端一个文件浏览器。
设置好布局后,关键在于如何将
Terminus
实例“放置”到这些分栏中。Sublime的每个分栏都是一个独立的“组”。当你激活一个分栏时(点击它或者使用
Ctrl+数字键
切换),你在这个分栏里打开的任何文件或面板都会出现在这里。所以,实现多窗口终端布局的步骤是:
- 选择布局: 例如,选择
View > Layout > Columns: 2
。
- 激活第一个分栏: 默认情况下,光标会在第一个分栏。
- 打开第一个Terminus实例:
Ctrl+Shift+P
,输入
Terminus: Open Default Shell in View
。
- 激活第二个分栏: 按下
Ctrl+Shift+2
(对于macos可能是
Cmd+Shift+2
)。
- 打开第二个Terminus实例: 再次
Ctrl+Shift+P
,输入
Terminus: Open Default Shell in View
。
- 重复: 如果是三列布局,就激活第三个分栏 (
Ctrl+Shift+3
),然后打开第三个Terminus实例。
这样操作下来,你就能看到多个独立的终端会话分别显示在不同的分栏里。这种布局的好处是,它们都是Sublime内部的视图,你可以像拖拽文件标签页一样,把一个终端标签页从一个分栏拖到另一个分栏,非常灵活。
为了提高效率,我通常会为这些操作设置自定义快捷键。比如,我可能会设置一个快捷键来快速切换到两列布局并自动在右侧打开一个终端,或者设置一个快捷键来直接在当前活动的分栏中打开一个新的终端。这在
Preferences > Key Bindings
中可以实现,利用
set_layout
命令和
terminus_open
命令的组合,能大大提升工作流的顺畅度。
优化Terminus使用体验:常用配置与技巧
使用
Terminus
并非仅仅是安装和打开那么简单,深入其配置能让你的终端体验更上一层楼。我个人在日常使用中,摸索出了一些能显著提升效率和舒适度的配置和技巧。
首先是自定义Shell。默认情况下,
Terminus
会尝试使用系统默认的Shell。但如果你像我一样,在Windows上主要用WSL的Bash,或者在macOS上用Zsh,你就需要明确告诉
Terminus
使用哪个Shell。这可以在
Preferences > Package Settings > Terminus > Settings
中配置。你会看到一个JSON文件,在其中你可以定义
shell_configs
。例如:
{ "shell_configs": [ { "id": "wsl_bash", "name": "WSL Bash", "cmd": ["bash.exe"], "env": { "TERM": "xterm-256color" }, "windows_cmd": ["bash.exe"] }, { "id": "powershell", "name": "PowerShell", "cmd": ["powershell.exe", "-NoLogo"], "windows_cmd": ["powershell.exe", "-NoLogo"] } ] }
配置好后,你就可以通过
Terminus: Open Specific Shell
命令来选择打开哪个Shell了。我通常会把最常用的设为默认,或者为它们绑定快捷键。
其次是字体和主题的匹配。一个好的集成终端,应该在视觉上与你的编辑器主题保持一致。
Terminus
允许你配置字体、字号以及颜色方案。在
Terminus
的设置文件中,你可以调整
font_size
、
font_face
,甚至
theme
。我喜欢将终端的背景色和字体颜色设置为与Sublime主题的主体色调相近,这样在切换代码和终端时,视觉上不会有突兀感。比如,如果我用的是深色主题,终端也设成深色背景,字体颜色也保持一致,看起来就像是一个整体。
工作目录(
cwd
)的设置也至关重要。默认情况下,
Terminus
可能会在你的用户主目录打开。但通常你希望它在当前项目或当前文件的目录下打开。你可以在
shell_configs
中为每个Shell配置
cwd
,或者更灵活地,在打开
Terminus
的快捷键或命令中指定
cwd
。例如,
"args": {"cwd": "$file_path"}
可以让终端在当前文件所在的目录打开,或者
{"cwd": "$project_path"}
在当前项目根目录打开。这避免了每次打开终端都要
cd
到项目目录的麻烦。
有时候,你可能会遇到
Terminus
启动比较慢,或者一些特殊字符显示不正常的情况。我遇到过
Terminus
启动很慢的情况,通常是由于shell路径配置不当或者某些环境变量冲突导致的。这时,检查
cmd
路径是否正确,或者尝试简化
env
配置,往往能解决问题。对于字符显示,确保你的终端字体支持你所使用的字符集,并且
TERM
环境变量设置正确(比如
xterm-256color
)。
最后,与Sublime构建系统的集成也是一个高级用法。虽然
Terminus
提供了交互式终端,但有时你可能希望运行一个构建命令,并在
Terminus
中看到输出。你可以创建一个自定义的Sublime构建系统,在
target
中指定
terminus_exec
命令,这样构建命令的输出就会直接在
Terminus
中显示,并且你可以继续在同一个终端中进行后续操作,而不是仅仅在Sublime的输出面板中看到静态结果。这对于需要交互式输入的构建脚本或测试流程尤其有用。
评论(已关闭)
评论已关闭