wt split-pane -V; move-focus left; split-pane -H; move-focus right; split-pane -H
或者,你可以使用新的startupActions设置,但目前需要使用Windows Terminal预览版。
我在另一个线程中回答了类似问题。你可以通过在设置的根目录下添加以下行来修改Windows终端settings.json
文件:
"startupActions": "split-pane -V; move-focus left; split-pane -H; move-focus right; split-pane -H"
这意味着从现在开始,这将是你的默认设置(即使你从“开始”菜单或任务栏启动WT,而不仅仅是通过命令行)。2021年9月6日更新
我们终于可以通过命令行参数来实现它了。以下是一个可用的示例:
wt -M -d "./dir-a"; ^
split-pane -V -d "./dir-b"; ^
move-focus left; ^
split-pane -H -d "./dir-c"; ^
move-focus right; ^
split-pane -H -d "./dir-d"
旧答案
我能够使用 JScript 编程使其工作。虽然不像使用 wt.exe
参数那样优美,但现在从批处理文件的角度来看这是我们最好的选择。
@if (@X) == (@Y) @end /*
@cscript //E:JScript //nologo "%~f0" "%*"
@exit /b %errorlevel%
*/
// run windows terminal
var shell = WScript.CreateObject("WScript.Shell");
shell.run("wt.exe");
WScript.Sleep(500);
// ALT+SHIFT+=
shell.SendKeys("%+=");
WScript.Sleep(500);
// ALT+SHIFT+-
shell.SendKeys("%+-");
WScript.Sleep(500);
// focus left pane
shell.SendKeys("%{LEFT}");
// ALT+SHIFT+-
WScript.Sleep(500);
shell.SendKeys("%+-");
wt -p "Command Prompt" `; sp -V -p "openSUSE-Leap-15-1" `; sp -H -p "Windows PowerShell"; [void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); Start-Sleep -s 2; [System.Windows.Forms.SendKeys]::SendWait("%{LEFT}"); Start-Sleep -s 2; [System.Windows.Forms.SendKeys]::SendWait("%+{5}")
从左上角开始顺时针方向移动,然后停在左下角,在我的Windows终端中,序列是:cmd提示符、OpenSUSE、Windows PowerShell和Kali Linux。
它将在Windows终端中均匀地打开4个窗格。
在Windows终端(WT)上使用PowerShell运行它。
将这两个示例添加到您的Windows终端settings.json文件中。
{ "command": { "action": "splitPane", "split": "horizontal", "index": 4 }, "keys": "alt+shift+5" }
"backgroundImage": "%USERPROFILE%/Downloads/win_terminal_bg_img/kali_linux.jpg",
"backgroundImageOpacity": 0.3
其中索引4和alt shift 5((“%+ {5}”))是指在我的Windows终端(wt)菜单中的kali-linux,图片用于其背景,
将这两个示例按顺序添加并根据您的wt菜单进行自定义。
以下是教程:
https://www.howtogeek.com/673729/heres-why-the-new-windows-10-terminal-is-amazing/ https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.sendkeys.send?view=net-5.0 https://learn.microsoft.com/en-us/windows/terminal/customize-settings/actions#move-pane-focus https://pureinfotech.com/set-image-background-windows-terminal/
祝你好运。
我想要这个,但我认为目前不可能。
我能做到的最好的是3个窗格,1x一半和2x四分之一。正如你所说,另一个分割总会给出1x一半,1x四分之一,2x八分之一。
我尝试使用配置文件加载另一个wt并拆分第一个窗格,但它总是一个新的窗口/进程。
更新: 可以通过键盘快捷键移动焦点在窗格之间移动,因此可能可以编写一个PowerShell脚本来实现这一点。
wt sp -V; mf left; sp -H; mf up; sp -V; sp -H; mf left; sp -H; mf down; sp -V; sp -H; mf left; sp -H; mf right; mf right; sp -H; mf up; sp -V; sp -H; mf left; sp -H; mf down; sp -V; sp -H; mf left; sp -H
Translated: 4x4 grid:wt sp -V; mf left; sp -H; mf up; sp -V; sp -H; mf left; sp -H; mf down; sp -V; sp -H; mf left; sp -H; mf right; mf right; sp -H; mf up; sp -V; sp -H; mf left; sp -H; mf down; sp -V; sp -H; mf left; sp -H
- Lewik