尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

lazygit 葡萄牙语键位速查表(Keybindings_pt)深度解析:从按键定义到自动生成机制

lazygit 葡萄牙语键位速查表(Keybindings_pt)深度解析:从按键定义到自动生成机制 lazygit 葡萄牙语键位速查表Keybindings_pt深度解析从按键定义到自动生成机制【免费下载链接】lazygitsimple terminal UI for git commands项目地址: https://gitcode.com/GitHub_Trending/la/lazygit本篇以 lazygit 仓库中自动生成的葡萄牙语键位速查文档 Keybindings_pt.md 为主体完整呈现该 TUI 应用在全球范围内全部面板文件、分支、提交、Stash、Reflog、子模块、工作树等的按键映射并结合 cheatsheet 生成器源码 与 键位配置类型 讲清这张速查表是如何从翻译文件与配置结构中生成、以及用户如何自定义键位读完后你既能直接用这套键位操作 lazygit也能理解其背后的实现链路。速查表的生成机制文件从何而来文档开头明确标注This file is auto-generated. To update, make the changes in thepkg/i18ndirectory and then rungo generate ./...from the project root.也就是说Keybindings_pt.md 并非手工维护而是由代码生成的。生成逻辑位于 pkg/cheatsheet/generate.go入口命令为go generate ./...由 pkg/cheatsheet/generate.go 中的//go:generate go run generator.go触发实际执行的是 pkg/cheatsheet/generator.goGetKeybindingsDir()返回输出目录为docs-master/keybindings并按语言写出Keybindings_{{lang}}.md文件生成器遍历i18n.GetTranslationSets()返回的每个语言加载对应翻译集调用mApp.Gui.GetCheatsheetKeybindings()取出全部按键绑定再按视图名分组、按标题优先级排序后渲染为 Markdown 表格见 formatSections 函数每个表格行的格式由formatBinding生成键名用双反引号包裹、Info列中的换行被替换为br以保持表格完整见 formatBinding 函数。葡萄牙语翻译条目存放在 pkg/i18n/translations/pt.json。仓库还提供了 scripts/update_language_files.sh 脚本用于从 Crowdin 平台下载的翻译包更新本地 JSON它会把pt-PT目录重命名为pt同时兼容巴西葡语与欧洲葡语用jq删除未翻译的空字符串最后重新执行go generate ./...刷新速查表。因此当你看到速查表中个别行仍是英文如 Copy to clipboard时其原因就是对应的葡萄牙语翻译条目尚未补全。组合键语法与自定义入口在阅读下面各节表格前先了解两个约定大写键代表 Shift 组合。例如P表示shiftp带修饰键的键写在尖括号内如ctrlo带修饰键的组合也可写成csup等短形式。所有键位均可在用户配置文件中覆盖。键位在 pkg/config/user_config.go 中按面板组织成Keybindings配置结构status、files、branches、commits、stash、commitFiles、submodules等字段一一对应速查表的各节标题。每个键位字段的类型是 Keybinding即字符串切片允许同一动作绑定多个备选键例如quit: [q, ctrlc]写disabled可禁用该绑定。配置解析时会过滤空串与disabled条目见 Keybinding.UnmarshalYAML。完整的键位书写规则修饰键前缀、特殊键名、终端兼容性限制、tmux 转发设置等见 Custom Keybindings 文档。全局组合键以下按键在任何面板聚焦时都有效键动作说明ctrlr切换到最近的仓库pgup, K, ctrlufnup/shiftk滚动主视图窗口向上pgdown, J, ctrldfndown/shiftj滚动主视图窗口向下查看命令日志选项查看命令日志选项例如显示/隐藏命令日志、聚焦命令日志PPush将当前分支推送到其上游分支若未配置上游会提示你先设置 upstreampPull从远端拉取变更到当前分支若未配置上游会提示你设置 upstream)增大 rename 相似度阈值提高“删除新增”文件对被识别为 rename 的相似度阈值。默认值可通过配置键git.renameSimilarityThreshold修改(减小 rename 相似度阈值同上向反方向调整}增大 diff 上下文行数增大 diff 视图中变更周围的上下文行数。默认值可通过配置键git.diffContextSize修改{减小 diff 上下文行数同上向反方向调整:执行 shell 命令弹出一个可输入 shell 命令的提示框ctrlp查看自定义 patch 选项m查看 merge/rebase 选项查看中止/继续/跳过当前 merge/rebase 的选项R刷新后台执行git status、git branch等以刷新各面板内容不会执行git fetch切换屏幕模式normal/half/full_切回上一个屏幕模式\|切换 diff 渲染器切换到已配置 diff 渲染器列表中的下一个\切换 diff 渲染器反向切换到列表中的上一个esc取消?打开键位速查菜单ctrls查看过滤选项查看提交日志的过滤选项仅显示匹配过滤条件的提交W, ctrle查看 diff 对比选项查看两个 ref 之间 diff 的选项例如与选中 ref 对比、指定对比 ref、反转 diff 方向q, ctrlc退出ctrlz挂起应用ctrlw切换空白字符显示切换 diff 视图中是否显示空白字符变更。默认值可通过配置键git.ignoreWhitespaceInDiffView修改altshiftc编辑配置文件在外部编辑器中打开配置文件z撤销通过 reflog 判断应执行哪条 git 命令来撤销上一条 git 命令不含工作树变更仅考虑提交Z重做通过 reflog 判断应执行哪条 git 命令来重做上一条 git 命令同样仅考虑提交列表面板导航适用于所有列表类面板提交列表、分支列表、文件列表等键动作说明,上一个标签页.下一个标签页,home回到顶部,end跳到底部v切换区间选择shiftdown向下扩展区间选择shiftup向上扩展区间选择/在当前视图中按文本搜索H向左滚动L向右滚动]下一个标签页[上一个标签页Files文件面板键动作说明ctrlo复制路径到剪贴板space暂存对选中文件切换 staged 状态ctrlb按状态过滤文件y复制到剪贴板cCommit提交已暂存的变更w不经 pre-commit 直接提交A修改最近一次提交C使用 git 编辑器提交ctrlf查找要修复的基线提交自动定位当前变更所基于的提交便于 amend/fixup省去逐条翻查分支提交的历史。详见 Fixup Commits 文档e编辑在外部编辑器中打开文件o打开文件用默认程序打开文件iIgnore 或 exclude 文件r刷新文件列表sStash贮藏全部变更更多贮藏变体见 Stash 面板的键位S查看 Stash 选项例如 trash all、stash staged、stash unstaged 等a全部暂存切换工作树中所有文件的 staged 状态enterStage lines / 折叠目录若选中的是文件进入逐行暂存视图若是目录则折叠/展开d丢弃查看丢弃选中文件变更的选项g查看 upstream reset 选项D恢复查看工作树的重置选项包括清空工作树等危险操作切换文件树显示在平铺列表与目录树布局之间切换。默认值可通过配置键gui.showFileTree修改ctrlt打开外部 diff 工具git difftoolM查看 merge 冲突选项fFetch从远端拉取变更-折叠所有文件折叠文件树中所有目录展开所有文件展开文件树中所有目录0聚焦主视图/按文本过滤当前视图Branches locales本地分支面板键动作说明ctrlo复制分支名到剪贴板i查看 git-flow 选项spaceCheckout检出选中项n新建分支N将提交移动到新建分支新建分支并把当前分支未推送的提交移过去适合“本要开新分支却忘了先创建”的场景。注意该操作忽略当前选择新分支要么从主分支创建、要么叠在当前分支之上由你选择w新建工作树o创建 Pull RequestO查看创建 PR 选项G在浏览器中打开 PRctrly复制 PR URL 到剪贴板c按名称 checkout在输入框中输入-可切回上一个分支-Checkout 上一个分支F强制 checkout强制检出选中分支检出前会丢弃工作树中的所有变更d删除查看删除本地/远端分支的选项rRebase把当前分支 rebase 到选中分支上MMerge查看把选中项合并进当前分支的选项普通合并、squash 合并fFast-forward把选中分支从上游快进T新建 tags排序方式g恢复ResetR重命名分支u查看 upstream 选项例如设置/取消 upstream、重置到 upstreamctrlt打开外部 diff 工具git difftool0聚焦主视图enter查看提交/按文本过滤当前视图Branches remotos远端分支面板键动作说明ctrlo复制分支名到剪贴板spaceCheckout基于选中远端分支创建新分支并检出或以 detached HEAD 检出该远端分支n新建分支w新建工作树MMerge查看把选中项合并进当前分支的选项普通合并、squash 合并rRebase把当前分支 rebase 到选中分支上d删除从远端删除该远端分支u设为 upstream把选中远端分支设为当前检出分支的跟踪分支s排序方式g恢复Reset查看重置选项soft/mixed/hard以重置到选中项ctrlt打开外部 diff 工具git difftool0聚焦主视图enter查看提交/按文本过滤当前视图Commit files提交文件面板键动作说明ctrlo复制路径到剪贴板y复制到剪贴板cCheckout检出该文件用选中提交的版本覆盖工作树中的文件d丢弃丢弃该提交对此文件的变更底层会在后台执行交互式 rebase若后续提交也改动了该文件可能产生冲突o打开文件用默认程序打开文件e编辑在外部编辑器中打开文件ctrlt打开外部 diff 工具git difftoolspace切换文件是否包含在 patch 中用于自定义 patch参见 README 中 “rebase magic / custom patches” 相关说明a切换全部文件为自定义 patch 添加/移除该提交的全部文件enter进入文件 / 切换目录折叠进入文件后可逐行添加/移除自定义 patch 中的行选中目录则折叠/展开切换文件树显示平铺列表与目录树布局互切默认值由gui.showFileTree控制-折叠所有文件展开所有文件0聚焦主视图/按文本过滤当前视图Commits提交面板提交面板是 lazygit 功能最密集的面板之一键动作说明ctrlo复制提交短哈希到剪贴板ctrlr重置已复制cherry-pick的提交选择b查看 bisect 选项sSquash把选中提交压入其下方的提交选中提交的信息会追加到下方提交的信息中fFixup把选中提交合并进其下方的提交类似 squash 但会丢弃选中提交的信息c设置修正提交信息为 fixup 提交设置信息选项-C表示改用本提交的信息替代目标提交的信息rReword改写选中提交的信息R用编辑器重做提交d丢弃通过 rebase 移除选中提交若后续提交依赖其变更可能需要解决冲突e编辑启动交互式 rebase从选中提交开始交互式 rebase若 rebase 已在进行中则标记该提交待编辑继续 rebase 时会在此提交处暂停i启动交互式 rebase对当前分支的提交启动交互式 rebase范围从 HEAD 一直向下到第一个 merge 提交或主分支提交若只想从选中提交开始请改用epPick在 rebase 进行中标记选中提交为保留pickF创建 fixup 提交为选中提交创建 fixup! 提交之后在同一提交上按S可应用其上方所有 fixup 提交S应用 fixup 提交把选中提交上方的全部 fixup! 提交 squash 进去或对当前分支做 autosquashctrlj, altdown下移提交一格ctrlk, altup上移提交一格V粘贴cherry-pickB标记为 rebase 基线提交为下一次 rebase 选择基线提交rebase 到某分支时只携带基线提交之上的提交底层使用git rebase --ontoAAmend用已暂存的变更修改提交若选中的是 HEAD 则执行git commit --amend否则通过 rebase 实现a修改提交属性设置/重置提交作者或 Co-authored-bytRevert为选中提交创建反向提交抵消其变更T为提交打 tag提示输入 tag 名称和可选描述ctrll查看日志选项例如更改排序方式、隐藏 git 图、显示完整 git 图G在浏览器中打开 PRspaceCheckout以 detached HEAD 检出选中提交y复制提交属性到剪贴板例如哈希、URL、diff、信息、作者o在浏览器中打开提交n从该提交创建新分支N将提交移动到新建分支同本地分支面板的N说明w新建工作树g恢复Reset查看重置选项soft/mixed/hard以重置到选中项C复制cherry-pick标记提交为已复制之后在本地提交视图中按V可粘贴到当前分支随时可按esc取消选择ctrlt打开外部 diff 工具git difftool*选择当前分支的全部提交0聚焦主视图enter查看文件/按文本搜索当前视图Etiquetas标签面板键动作说明ctrlo复制 tag 到剪贴板spaceCheckout以 detached HEAD 检出选中的 tagn新建 tag从当前提交创建 tag提示输入名称和可选描述w新建工作树d删除查看删除本地/远端 tag 的选项P推送 tag把选中的 tag 推送到远端提示选择远端g恢复Reset查看重置选项soft/mixed/hard以重置到选中项ctrlt打开外部 diff 工具git difftool0聚焦主视图enter查看提交/按文本过滤当前视图Input prompt输入提示框键动作说明enter确认esc关闭/取消Menu菜单键动作说明enter执行esc关闭/取消/按文本过滤当前视图Painel principal主面板Normal 模式键动作说明mouse wheel downfnup向下滚动mouse wheel upfndown向上滚动tab切换视图在 staged/unstaged 视图之间切换esc返回侧边面板/按文本搜索当前视图Painel principal主面板Staging 模式键动作说明left, h跳到上一处变更right, l跳到下一处变更v切换区间选择a切换 hunk 选择在逐行选择与按 hunk 选择之间切换ctrlo复制选中文本到剪贴板space暂存切换 staged/unstaged 中的选中内容d丢弃选中未暂存变更时用git reset丢弃选中已暂存变更时取消暂存o打开文件用默认程序打开文件e编辑文件在外部编辑器中打开esc返回文件面板tab切换视图在 staged/unstaged 视图之间切换E编辑 hunk在外部编辑器中编辑选中的 hunkcCommit提交已暂存的变更w不经 pre-commit 直接提交C使用 git 编辑器提交ctrlf查找要修复的基线提交同文件面板说明详见 Fixup Commits 文档/按文本搜索当前视图Painel de confirmação确认面板键动作说明enter确认esc关闭/取消ctrlo复制到剪贴板Painel principal主面板Merge 模式处于 merge 冲突状态时主面板呈现冲突解决界面键动作说明space选择该处b同时选取两个 hunkup, k上一处 hunkdown, j下一处 hunkleft, h上一个冲突right, l下一个冲突z撤销撤销上一次冲突解决e编辑文件在外部编辑器中打开o打开文件用默认程序打开M查看 merge 冲突选项esc返回文件面板Painel principal主面板Patch build 模式构建自定义 patch 时键动作说明left, h跳到上一处变更right, l跳到下一处变更v切换区间选择a切换 hunk 选择在逐行与按 hunk 选择之间切换ctrlo复制选中文本到剪贴板o打开文件用默认程序打开e编辑文件在外部编辑器中打开space切换行包含状态d从提交中移除行从该提交移除选中的行底层在后台执行交互式 rebase后续提交若也改动这些行可能产生冲突esc退出 patch 构建器/按文本搜索当前视图Reflog键动作说明ctrlo复制提交短哈希到剪贴板spaceCheckout以 detached HEAD 检出选中提交y复制提交属性到剪贴板例如哈希、URL、diff、信息、作者o在浏览器中打开提交n从该提交创建新分支N将提交移动到新建分支同上新建分支并移入未推送提交w新建工作树g恢复Reset查看重置选项soft/mixed/hard以重置到选中项C复制cherry-pick标记提交为已复制之后在本地提交视图按V粘贴esc取消ctrlr重置已复制的提交选择ctrlt打开外部 diff 工具git difftool*选择当前分支的全部提交0聚焦主视图enter查看提交/按文本过滤当前视图Remotes键动作说明enter查看分支n新建远端d删除删除该远端其远端分支对应的本地跟踪分支不受影响e编辑修改选中远端的名称或 URLfFetch从远端仓库获取更新仅拉取新提交和分支不合并到本地分支F添加 fork 远端通过替换 origin URL 中的属主名快速添加 fork 远端并可顺带从新远端检出分支/按文本过滤当前视图Secundário次级面板键动作说明tab切换视图在 staged/unstaged 视图之间切换esc返回侧边面板/按文本搜索当前视图Stash键动作说明spaceApply把 stash 应用到工作树gPop应用 stash 条目到工作树并删除该条目d丢弃从列表中移除该 stash 条目n新建分支从选中的 stash 条目创建新分支先检出该条目所基于的提交建分支再把 stash 作为额外提交应用上去w新建工作树r重命名 stash0聚焦主视图enter查看文件/按文本过滤当前视图Status键动作说明e编辑配置文件在外部编辑器中打开u检查更新enter切换到最近的仓库a显示/循环所有分支日志A显示/循环所有分支日志反向0聚焦主视图Sub-commits键动作说明ctrlo复制提交短哈希到剪贴板spaceCheckout以 detached HEAD 检出选中提交y复制提交属性到剪贴板例如哈希、URL、diff、信息、作者o在浏览器中打开提交n从该提交创建新分支N将提交移动到新建分支w新建工作树g恢复Reset查看重置选项soft/mixed/hard以重置到选中项C复制cherry-pick标记后在本地提交视图按V粘贴esc取消ctrlr重置已复制的提交选择ctrlt打开外部 diff 工具git difftool*选择当前分支的全部提交0聚焦主视图enter查看文件/按文本过滤当前视图Submódulos子模块面板键动作说明ctrlo复制子模块名到剪贴板enter进入进入子模块进入后可按esc返回父仓库d删除删除选中子模块及其对应目录u更新更新选中子模块n新建子模块e更新子模块 URLi初始化初始化选中子模块以便 fetch通常紧接着执行 update 拉取内容b查看批量子模块选项/按文本过滤当前视图Sumário do commit提交信息面板键动作说明enter确认esc关闭Árvores de trabalho工作树面板键动作说明n新建工作树space切换切换到选中的工作树o在编辑器中打开d删除删除选中的工作树同时移除其目录和.git目录中关于该工作树的元数据/按文本过滤当前视图键位配置的源码结构与可定制性速查表中的每一节标题其实对应 user_config.go 中Keybindings结构体里的一个字段status、files、branches、commits、stash、commitFiles、submodules、commitMessage等每个字段又是一个包含若干Keybinding的Keybinding*Config结构。例如提交面板的“squash 上方提交”对应squashAboveCommits、“粘贴提交”对应pasteCommits、日志菜单对应openLogMenu。这带来两个实用结论速查表与配置一一对应。想改哪个面板的键就找对应小节再到配置文件中定位同名字段。键位值可以是单个字符串也可以是备选键列表例如quit: [q, ctrlc]写disabled可彻底禁用一个默认绑定解析逻辑见 Keybinding.UnmarshalYAML。速查表永远反映默认值。生成器在构建速查表时使用的是 dummy 应用配置见 generateAtDir 函数 中的config.NewDummyAppConfig()因此你在配置文件中做的自定义不会体现在文档里——文档展示的是“出厂默认键位”实际生效键位以你的配置文件为准。关于键位书写语法的更多细节——修饰键前缀的长短形式ctrl/c等、特殊键名表f1到f12、pgup、backtab等、终端协议兼容性Ghostty、kitty、WezTerm、iTerm2、Windows Terminal 等以及 tmux 下扩展键的转发设置set -g extended-keys on——请参阅 Custom Keybindings 文档。配置项总览可参考 Config 文档JSON Schema 见 schema/config.json可用于编辑器自动补全。最后提醒本文各表格内容随go generate ./...重新生成而可能变化若你在 docs/keybindings/Keybindings_pt.md面向用户的发行版目录与 docs-master/keybindings/Keybindings_pt.md 之间发现内容差异以仓库内最新一次生成的结果为准。【免费下载链接】lazygitsimple terminal UI for git commands项目地址: https://gitcode.com/GitHub_Trending/la/lazygit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表