29 个版本 (7 个重大变更)
0.8.4 | 2024 年 8 月 9 日 |
---|---|
0.8.3 | 2024 年 7 月 22 日 |
0.8.2 | 2024 年 6 月 17 日 |
0.4.2 | 2024 年 3 月 24 日 |
#892 in 命令行实用工具
每月 549 次下载
195KB
5K SLoC
MD-TUI
MD-TUI
是一个 TUI 应用程序,可以直接在终端中查看 markdown 文件。我创建它是因为我对其他替代方案中处理链接的方式不满意。虽然完整的 markdown 规范尚未支持,但它会逐渐实现。这是一个快速查看您的 markdown 笔记或从某人的 README 中打开外部链接的好解决方案。如果您的终端支持图片,它们将显示。
安装
使用 cargo: cargo install md-tui --locked
在 Arch Linux 上: pacman -S md-tui
对于 Nix 用户,还有 Nix flake。
在发布页面可以找到带有安装脚本的预构建二进制文件。
要求
- 终端
- Nerd 字体
使用方法
启动程序,运行 mdt <file.md>
或只需 mdt
。后者将从调用位置递归搜索任何 markdown 文件并在 文件树 中显示。
快捷键
这些是默认设置。有关配置选项,请参阅 键盘配置。
键 | 操作 |
---|---|
j 或 <Down> |
向下滚动 |
k 或 <Up> |
向上滚动 |
h |
向下滚动半页 |
l |
向上滚动半页 |
d 或 <Left> |
向下滚动一页 |
u 或 <Right> |
向上滚动一页 |
f 或 / |
搜索 |
n 或 N |
跳转到下一个或上一个搜索结果 |
s 或 S |
进入选择链接模式。不同的选择策略。 |
K |
悬停。预览链接去向而不真正跳转 |
<进入> |
选择。根据模式不同:打开文件、选择链接、搜索 |
Esc |
回到 正常 模式 |
t |
回到文件 |
b |
回到上一个文件(如果没有上一个文件则为文件树) |
g |
跳到文件顶部 |
G |
跳到文件底部 |
e |
在 $EDITOR 中编辑文件 |
o |
对文件树中的文件进行排序 |
q |
退出应用程序 |
语法高亮
MD-TUI
支持以下语言的代码块语法高亮
- Bash/sh
- C/C++
- Css
- Elixir
- Go
- Html
- Java
- JavaScript
- Json
- Lua
- Luau
- Ocaml
- PHP
- Python
- Rust
- Scala
- Typescript
- Yaml
配置
程序在启动时检查文件 ~/.config/mdt/config.toml
。以下参数及其默认值如下。
键盘操作
某些关键操作不可配置。例如以下
- 进入
- 箭头键
- Esc
- 问号用于帮助菜单
- 使用 'q' 退出应用程序
- 使用 '/' 进行搜索
如果您覆盖了另一个默认键,如果该键未被重新分配,则行为未定义。
操作只能分配给单个字符。空格、功能键、Ctrl+键、退格键等将不起作用,将使用默认设置。
# Keyboard actions
up = 'k'
down = 'j'
page_up = 'u'
page_down = 'd'
half_page_down = 'l'
half_page_up = 'h'
top = 'g'
bottom = 'G'
search = 'f'
search_next = 'n'
search_previous = 'N'
# This will search downwards until it finds one or select the last link in document.
select_link = 's'
# Finds the link 2/3 up the page. It will search then for closest in both direction.
select_link_alt = 'S'
edit = 'e'
hover = 'K'
back = 'b'
file_tree = 't'
sort = 'o'
颜色和其他
将颜色设置为 ""
不会移除它,而是将其保留为其默认值。要移除颜色,将其设置为 reset
。
# General settings
width = 100
gitignore = false
alignment = "left" # "center" | "right"
# Inline styling
bold_color = "reset"
bold_italic_color = "reset"
code_bg_color = "#2A2A2A"
code_fg_color = "red"
italic_color = "reset"
link_color = "blue"
link_selected_bg_color = "darkgrey"
link_selected_fg_color = "green"
strikethrough_color = "reset"
# Block styling
code_block_bg_color = "#2A2A2A"
quote_bg_color = "reset"
table_header_bg_color = "reset"
table_header_fg_color = "yellow"
# File tree
file_tree_name_color = "blue"
file_tree_page_count_color = "lightgreen"
file_tree_path_color = "gray"
file_tree_selected_fg_color = "lightgreen"
# Quote bar
quote_caution = "lightmagenta"
quote_default = "white"
quote_important = "lightred"
quote_note = "lightblue"
quote_tip = "lightgreen"
quote_warning = "lightYellow"
# Heading
h_bg_color = "blue"
h_fg_color = "black"
h2_fg_color = "green"
h3_fg_color = "magenta"
h4_fg_color = "cyan"
h5_fg_color = "yellow"
h6_fg_color = "lightred"
链接
MD-TUI 目前支持 [text](url)
、[[link]]
和 [[link|Some title]]
类型的链接。
Neovim 插件
此应用程序还作为 Neovim 的插件存在,称为 Preview。
[!注意]
此版本不支持图像,无论您的终端功能如何。
贡献
欢迎提交 PR 和 issues!
依赖关系
~217MB
~6.5M SLoC