命令模式
与 Vim 类型,按 : 进入 command mode。内置的命令有:
| 命令 | 描述 |
|---|---|
:quit, :q | 关闭当前浏览(退出 Helix;若存在未保存的文件,则不退出) |
:quit!, :q! | 强制关闭当前浏览,忽视未保存的文件(以下“强制”的含义相同) |
:open, :o | 从磁盘中打开并浏览文件 |
:buffer-close, :bc, :bclose | 关闭当前缓冲区 |
:buffer-close!, :bc!, :bclose! | 强制关闭当前缓冲区,忽视未保存的更改 |
:buffer-close-others, :bco, :bcloseother | 除了当前缓冲区之外,关闭其他缓冲区 |
:buffer-close-others!, :bco!, :bcloseother! | 除了当前缓冲区之外,强制关闭其他缓冲区 |
:buffer-close-all, :bca, :bcloseall | 关闭所有缓冲区,但不退出 Helix |
:buffer-close-all!, :bca!, :bcloseall! | 强制关闭所有缓冲区,但不退出 Helix |
:buffer-next, :bn, :bnext | 到下个缓冲区 |
:buffer-previous, :bp, :bprev | 到上个缓冲区 |
:write, :w | 把更改的内容写入到磁盘;接收一个可选的路径参数(如 :write some/path.txt) |
:write!, :w! | 把更改的内容强制写入到磁盘,会创建必要的子目录;接收一个可选的路径参数 |
:new, :n | 创建一个新的 scratch 缓冲区 |
:format, :fmt | 使用 LSP 格式化工具对当前文件格式化 |
:indent-style | 设置编辑的缩进样式:t 表示制表符,或者 1-8 个空格 |
:line-ending | 设置当前文件的换行方式:crlf 或 lf |
:earlier, :ear | 回退到前一个编辑历史;还可接收回退几步的数字或者时间跨度 |
:later, :lat | 前进到后一个编辑历史;还可接收前进几步的数字或者时间跨度 |
:write-quit, :wq, :x | 把更改的内容写入到磁盘,并退出;接收一个可选的路径参数 |
:write-quit!, :wq!, :x! | 把更改的内容强制写入到磁盘,并退出;接收一个可选的路径参数 |
:write-all, :wa | 把所有缓冲区的更改的内容写入到磁盘 |
:write-quit-all, :wqa, :xa | 把所有缓冲区的更改的内容写入到磁盘,并退出 |
:write-quit-all!, :wqa!, :xa! | 把所有缓冲区的更改的内容强制写入到磁盘,并退出 |
:quit-all, :qa | 关闭所有浏览(退出) |
:quit-all!, :qa! | 强制关闭所有浏览 |
:cquit, :cq | 退出,且带退出码,默认为 1;接收一个可选的整数参数 |
:cquit!, :cq! | 强制退出,且带退出码,默认为 1;接收一个可选的整数参数 |
:theme | 更换主题(按 Tab 和 Shift-Tab 选择下/上个主题) |
:clipboard-yank | 复制主选区内容到系统粘贴板 |
:clipboard-yank-join | 复制所有选区到系统粘贴板;默认用换行符连接选区的文本;可提供第一个参数作为分隔符 |
:primary-clipboard-yank | 复制主选区内容到系统 primary 粘贴板 Yank main selection into system primary clipboard. |
:primary-clipboard-yank-join | 复制所有选区到系统 primary 粘贴板;默认用换行符连接选区的文本;可提供第一个参数作为分隔符 |
:clipboard-paste-after | 在所选内容之后粘贴系统粘贴板的内容 |
:clipboard-paste-before | 在所选内容之前粘贴系统粘贴板的内容 |
:clipboard-paste-replace | 把所选内容替换成系统粘贴板的内容 |
:primary-clipboard-paste-after | 在所选内容之后粘贴系统 primary 粘贴板的内容 |
:primary-clipboard-paste-before | 在所选内容之前粘贴系统 primary 粘贴板的内容 |
:primary-clipboard-paste-replace | 把所选内容替换成系统粘 primary 贴板的内容 |
:show-clipboard-provider | 显示粘贴板所提供的名称 |
:change-current-directory, :cd | 更改当前工作目录 |
:show-directory, :pwd | 显示当前工作目录 |
:encoding | 设置编码,见 https://encoding.spec.whatwg.org |
:reload | 丢弃已修改的内容,重新加载文件 |
:lsp-restart | 重启当前文件使用的语言服务器 |
:tree-sitter-scopes | 显示 tree-sitter 的范围,主要用于制作主题和开发 |
:debug-start, :dbg | 从给定参数的给定模版开始调试会话 |
:debug-remote, :dbg-tcp | 通过 TCP 连接到 debug adapter,并从给定参数的给定模版开始调试会话 |
:debug-eval | 在当前调试上下文计算表达式 |
:vsplit, :vs | 垂直拆分窗口来打开文件 |
:vsplit-new, :vnew | 垂直拆分窗口来打开新的 scratch 缓冲区 |
:hsplit, :hs, :sp | 水平拆分窗口来打开文件 |
:hsplit-new, :hnew | 水平拆分窗口来打开新的 scratch 缓冲区 |
:tutor | 打开教程 |
:goto, :g | 去第几行 |
:set-language, :lang | 设置当前缓冲区的编程语言 |
:set-option, :set | 运行期间设置配置选项;比如禁用智能大小写搜索 :set search.smart-case false |
:get-option, :get | 显示某个配置选项的当前值 |
:sort | 对选区的内容排序(多选区排序) |
:rsort | 对选区的内容排倒序 |
:reflow | 根据给定宽度把选区拆成多行 |
:tree-sitter-subtree, :ts-subtree | 显示当前光标下的 tree-sitter 子树,主要用于调试查询 |
:config-reload | 刷新配置 |
:config-open | 打开 config.toml 配置文件 |
:log-open | 打开 Helix 日志文件 |
:insert-output | 运行 shell 命令,并把其结果插入到每个选区之前 |
:append-output | 运行 shell 命令,并把其结果插入到每个选区之后 |
:pipe | 把每个选区通过管道传给 shell 命令 |
:run-shell-command, :sh | 允许一个 shell 命令 |