指令速记
Tmux相关
语法
新建窗口:
tmux new -s <session-name>
分离窗口:
tmux detach
列出所有会话:
tmux ls
接入会话:
# 使用会话编号
$ tmux attach -t 0
杀死会话:
# 使用会话编号
tmux kill-session -t 0
# 使用会话名称
tmux kill-session -t <session-name>
切换会话:
# 使用会话编号
tmux switch -t 0
# 使用会话名称
tmux switch -t <session-name>
重命名会话:
tmux rename-session -t 0 <new-name>
Screen 相关:
语法:
screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]
参数说明
-A 将所有的视窗都调整为目前终端机的大小。
-d <作业名称> 将指定的screen作业离线。
-h <行数> 指定视窗的缓冲区行数。
-m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r <作业名称> 恢复离线的screen作业。
-R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s 指定建立新视窗时,所要执行的shell。
-S <作业名称> 指定screen作业的名称。
-v 显示版本信息。
-x 恢复之前离线的screen作业。
-ls或--list 显示目前所有的screen作业。
-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。
常用screen参数
screen -S yourname -> 新建一个叫yourname的session
screen -ls -> 列出当前所有的session
screen -r yourname -> 回到yourname这个session
screen -d yourname -> 远程detach某个session
screen -d -r yourname -> 结束当前session并回到yourname这个session
Godot ImGui相关
创建子窗口
# 设置子窗口大小. 设置为0似乎会导致自适应缩放?
var child_size = Vector2(200, 100)
# 开始子窗口
ImGui.BeginChild("子窗口ID", child_size, true, ImGui.WindowFlags.None)
ImGui.Text("这是子窗口的内容") # 其他内容...
ImGui.EndChild()
可折叠标题
if ImGui.CollapsingHeader("可折叠的子窗口", ImGui.TreeNodeFlags_DefaultOpen):
ImGui.Text("这是子窗口的内容")
ImGui.Button("示例按钮")
# 其他内容...
ChildFlags (子窗口标志)
这些标志用于控制子窗口(使用 BeginChild()
/EndChild()
创建的窗口)的行为:
基本标志
- ChildFlags_None (0) - 默认行为,无特殊标志
- ChildFlags_Borders (1) - 显示边框
- ChildFlags_AlwaysUseWindowPadding (2) - 总是使用窗口内边距
大小调整控制
- ChildFlags_ResizeX (4) - 允许水平调整大小
- ChildFlags_ResizeY (8) - 允许垂直调整大小
- ChildFlags_AutoResizeX (16) - 自动调整水平大小以适应内容
- ChildFlags_AutoResizeY (32) - 自动调整垂直大小以适应内容
- ChildFlags_AlwaysAutoResize (64) - 自动调整大小以适应内容(等同于同时设置AutoResizeX和AutoResizeY)
其他
- ChildFlags_FrameStyle (128) - 使用框架样式而不是窗口样式
- ChildFlags_NavFlattened (256) - 在导航中扁平化(子窗口内容被视为父窗口的一部分)
WindowFlags (窗口标志)
这些标志用于控制常规窗口(使用 Begin()
/End()
创建的窗口)的行为:
窗口装饰控制
- WindowFlags_NoTitleBar (1) - 无标题栏
- WindowFlags_NoResize (2) - 不可调整大小
- WindowFlags_NoMove (4) - 不可移动
- WindowFlags_NoCollapse (32) - 不可折叠
- WindowFlags_NoDecoration (43) - 无任何装饰(等同于 NoTitleBar | NoResize | NoMove | NoCollapse)
滚动条控制
- WindowFlags_NoScrollbar (8) - 无滚动条
- WindowFlags_NoScrollWithMouse (16) - 不能用鼠标滚轮滚动
- WindowFlags_AlwaysVerticalScrollbar (16384) - 总是显示垂直滚动条
- WindowFlags_AlwaysHorizontalScrollbar (32768) - 总是显示水平滚动条
- WindowFlags_HorizontalScrollbar (2048) - 显示水平滚动条
自动调整
- WindowFlags_AlwaysAutoResize (64) - 自动调整窗口大小以适应内容
背景与输入控制
- WindowFlags_NoBackground (128) - 无背景
- WindowFlags_NoMouseInputs (512) - 不接受鼠标输入
- WindowFlags_NoNavInputs (65536) - 不接受导航输入
- WindowFlags_NoNavFocus (131072) - 不接受导航焦点
- WindowFlags_NoInputs (197120) - 不接受任何输入(等同于 NoMouseInputs | NoNavInputs | NoNavFocus)
特殊窗口类型
- WindowFlags_MenuBar (1024) - 有菜单栏
- WindowFlags_ChildWindow (16777216) - 子窗口(内部使用)
- WindowFlags_Tooltip (33554432) - 工具提示窗口
- WindowFlags_Popup (67108864) - 弹出窗口
- WindowFlags_Modal (134217728) - 模态窗口
- WindowFlags_ChildMenu (268435456) - 子菜单(内部使用)
其他
- WindowFlags_NoSavedSettings (256) - 不保存设置到ini文件
- WindowFlags_NoFocusOnAppearing (4096) - 出现时不获取焦点
- WindowFlags_NoBringToFrontOnFocus (8192) - 获取焦点时不提到前面
- WindowFlags_UnsavedDocument (262144) - 显示未保存标记(带*)
- WindowFlags_NoDocking (524288) - 禁止停靠
VCPKG初次安装:
The repository containing vcpkg recipes cannot legally be included, so you
will have to manually clone it to the $HOME/.local/share/vcpkg directory.
git clone https://github.com/microsoft/vcpkg $VCPKG_ROOT
You are also responsible for manually updating this repository.
git -C $VCPKG_ROOT pull
For CMake to recognize libraries provided by vcpkg, the above repository
includes a CMake module, which can be found at:
$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake
This file can be copied to your CMake project directory and included in
CMakeLists.txt via include(vcpkg).
Alternatively, you can pass the following to CMake when configuring:
-D CMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake