<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>GTLX Blog</title><description>瓜子的小站</description><link>https://gtlx.ltd/</link><language>zh_CN</language><item><title>yazi</title><link>https://gtlx.ltd/posts/undefined/</link><guid isPermaLink="true">https://gtlx.ltd/posts/undefined/</guid><description>终端文件管理器</description><pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;安装&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sudo snap install yazi&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sudo snap install yazi --classic&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;使用&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;配置文件地址：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;~/.config/yazi/&lt;/code&gt;（Linux/macOS）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;%AppData%\yazi\config&lt;/code&gt;（Windows）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;通用配置：&lt;code&gt;yazi.toml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;快捷键配置：&lt;code&gt;keymap.toml&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;默认快捷键与vim类似&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;配色方案配置：&lt;code&gt;theme.toml&lt;/code&gt;(&lt;strong&gt;主题&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;显示调试：&lt;code&gt;yazi --debug&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;查询默认应用程序：&lt;code&gt;xdg-mime query default text/plain&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;text/plain&lt;/code&gt;：指定的 MIME 类型（这里是 指普通文本）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;配置&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;命令行输入：&lt;code&gt;nano ~/.config/yazi/yazi.toml&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;# ============ 管理器设置 ============
[manager]
ratio = [1, 4, 3]
sort_by = &quot;alphabetical&quot;
show_hidden = false

# ============ 预览设置 ============
[preview]
max_width = 600
max_height = 900

# ============ 文件打开器 ============
[opener]
# LibreOffice — 统一打开 xlsx/xls/ods/pdf/csv
libreoffice = [
    { run = &apos;libreoffice &quot;$@&quot;&apos;, orphan = true, desc = &quot;LibreOffice&quot; }
]

# 图片 — nomacs
nomacs = [
    { run = &apos;nomacs &quot;$@&quot;&apos;, orphan = true, desc = &quot;nomacs&quot; }
]

# 文本编辑 — NeoVim
nvim = [
    { run = &apos;nvim &quot;$@&quot;&apos;, block = true, desc = &quot;NeoVim&quot; }
]

# 视频/音频 — VLC
vlc = [
    { run = &apos;vlc &quot;$@&quot;&apos;, orphan = true, desc = &quot;VLC&quot; }
]

# AppImage — 需要先手动赋予权限
appimage = [
    { run = &apos;&quot;$@&quot;&apos;, desc = &quot;运行 AppImage&quot;, block = true }
]

# 兜底：系统默认程序
fallback = [
    { run = &apos;xdg-open &quot;$@&quot;&apos;, orphan = true, desc = &quot;系统默认&quot; }
]

# ============ 文件打开规则 ============
[open]
rules = [
    # 图片 → nomacs
    { mime = &quot;image/*&quot;, use = [&quot;nomacs&quot;, &quot;reveal&quot;] },

    # 办公文档 + PDF → LibreOffice（mime 匹配）
    { mime = &quot;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&quot;, use = [&quot;libreoffice&quot;] },
    { mime = &quot;application/vnd.ms-excel&quot;, use = [&quot;libreoffice&quot;] },
    { mime = &quot;application/vnd.oasis.opendocument.spreadsheet&quot;, use = [&quot;libreoffice&quot;] },
    { mime = &quot;application/pdf&quot;, use = [&quot;libreoffice&quot;] },
    { mime = &quot;text/csv&quot;, use = [&quot;libreoffice&quot;] },

    # 办公文档兜底：url 匹配（防止 MIME 被误识别为 zip）
    { url = &quot;*.xlsx&quot;, use = [&quot;libreoffice&quot;] },
    { url = &quot;*.xls&quot;, use = [&quot;libreoffice&quot;] },
    { url = &quot;*.ods&quot;, use = [&quot;libreoffice&quot;] },
    { url = &quot;*.csv&quot;, use = [&quot;libreoffice&quot;] },
    { url = &quot;*.pdf&quot;, use = [&quot;libreoffice&quot;] },

    # 视频/音频 → VLC
    { mime = &quot;video/*&quot;, use = [&quot;vlc&quot;, &quot;reveal&quot;] },
    { mime = &quot;audio/*&quot;, use = [&quot;vlc&quot;, &quot;reveal&quot;] },

    # 文本文件 → NeoVim
    { mime = &quot;text/*&quot;, use = [&quot;nvim&quot;, &quot;reveal&quot;] },
    { mime = &quot;application/json&quot;, use = [&quot;nvim&quot;, &quot;reveal&quot;] },
    
    # AppImage 文件及其它可执行文件
    { mime = &quot;application/vnd.appimage&quot;, use = [&quot;appimage&quot;] },
    { url = &quot;*.AppImage&quot;, use = [&quot;appimage&quot;] },
    { mime = &quot;application/x-executable&quot;, use = [&quot;appimage&quot;] },
    { mime = &quot;application/x-sharedlib&quot;, use = [&quot;appimage&quot;] },
]
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;说明&lt;/h3&gt;
&lt;h4&gt;管理器设置：&lt;code&gt;[mgr]&lt;/code&gt;&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;[mgr]
ratio = [1, 4, 3]
sort_by = &quot;alphabetical&quot;
show_hidden = false
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ratio = [1, 4, 3]&lt;/code&gt;：设置yazi界面三个面板的宽度比例
&lt;ul&gt;
&lt;li&gt;第一个数字：左侧面板宽度比例（通常是父目录树或预览）&lt;/li&gt;
&lt;li&gt;第二个数字：中间主文件列表宽度比例&lt;/li&gt;
&lt;li&gt;第三个数字：右侧面板宽度比例（通常是预览面板）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[1, 4, 3] &lt;/code&gt;表示比例为 1:4:3&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sort_by = &quot;alphabetical&quot;&lt;/code&gt;：文件排序方式
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&quot;alphabetical&quot;&lt;/code&gt;：按字母顺序排序&lt;/li&gt;
&lt;li&gt;其他可选值：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&quot;natural&quot;&lt;/code&gt;（自然排序）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&quot;mtime&quot;&lt;/code&gt;（修改时间）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&quot;size&quot;&lt;/code&gt;（文件大小）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&quot;ctime&quot;&lt;/code&gt;（创建时间）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&quot;atime&quot;&lt;/code&gt;（访问时间）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;show_hidden = false&lt;/code&gt;：是否显示隐藏文件
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;false&lt;/code&gt;：不显示以点（.）开头的隐藏文件&lt;/li&gt;
&lt;li&gt;&lt;code&gt;true&lt;/code&gt;：显示所有隐藏文件&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;预览设置：&lt;code&gt;[preview]&lt;/code&gt;&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;[preview]
max_width = 600
max_height = 900
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;max_width = 600&lt;/code&gt;：预览图片的最大宽度（像素）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;max_height = 900&lt;/code&gt;：预览图片的最大高度（像素）&lt;/li&gt;
&lt;li&gt;这些设置控制图片预览时的尺寸限制，防止大图片占用过多内存&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;文件打开器 ：&lt;code&gt;[opener]&lt;/code&gt;&lt;/h4&gt;
&lt;h5&gt;参数说明：&lt;/h5&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数&lt;/th&gt;
&lt;th&gt;含义(作用)&lt;/th&gt;
&lt;th&gt;值&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;run&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;执行的命令&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&quot;%@&quot;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;代表选中文件的路径，Yazi 会自动替换&lt;/td&gt;
&lt;td&gt;占位符（Shell 语法）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;block&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&lt;code&gt;true&lt;/code&gt; = 阻塞等待程序关闭；&lt;code&gt;false&lt;/code&gt; = 不等待&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;终端编辑器选择&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;orphan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;true&lt;/code&gt; = 脱离终端独立运行&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;GUI 程序&lt;/strong&gt;必加&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;desc&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;描述信息&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;for&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;平台限定：&lt;code&gt;&quot;unix&quot;&lt;/code&gt; 或 &lt;code&gt;&quot;windows&quot;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt;文件打开规则：&lt;code&gt;[open]&lt;/code&gt;&lt;/h4&gt;
&lt;h5&gt;参数说明&lt;/h5&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数&lt;/th&gt;
&lt;th&gt;值&lt;/th&gt;
&lt;th&gt;作用&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;orphan = true&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;GUI 程序必加&lt;/td&gt;
&lt;td&gt;脱离终端独立运行，关闭 Yazi 后程序不退出 [1]&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;mime&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;用 MIME 类型的 glob 表达式来匹配文件。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;语法&lt;/td&gt;
&lt;td&gt;glob 通配符表达式，如 &lt;code&gt;text/*、image/*、application/pdf&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;大小写&lt;/td&gt;
&lt;td&gt;默认不区分大小写。若要区分，在表达式开头加 &lt;code&gt;\s&lt;/code&gt;（如 &lt;code&gt;\stext/*&lt;/code&gt;）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;多类型&lt;/td&gt;
&lt;td&gt;可用 {} 同时匹配多个，如&lt;code&gt; {audio,video}/*&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;use&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;指定用&lt;code&gt;[opener]&lt;/code&gt;中的哪个（或哪些）打开器来处理匹配到的文件。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;类型&lt;/td&gt;
&lt;td&gt;必须是数组，如 &lt;code&gt;use = [&quot;edit&quot;]&lt;/code&gt;，不能是字符串 &lt;code&gt;use = &quot;edit&quot;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;多 opener&lt;/td&gt;
&lt;td&gt;可以指定多个，如&lt;code&gt;use = [&quot;open&quot;, &quot;edit&quot;]&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;对应关系&lt;/td&gt;
&lt;td&gt;数组中的名称必须与&lt;code&gt;[opener]&lt;/code&gt;段定义的规则名一致，如 edit、play、libreoffice 等&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&quot;reveal&quot;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;内置值&lt;/td&gt;
&lt;td&gt;同时在预览面板显示文件内容 [1]&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h5&gt;MIME 类型速查表&lt;/h5&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;文件类型&lt;/th&gt;
&lt;th&gt;MIME 类型&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;.xlsx&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;.xls&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;application/vnd.ms-excel&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;.ods&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;application/vnd.oasis.opendocument.spreadsheet&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;.pdf&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;application/pdf&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;所有图片&lt;/td&gt;
&lt;td&gt;&lt;code&gt;image/*&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;主题美化&lt;/h2&gt;
&lt;h3&gt;主题的安装&lt;/h3&gt;
&lt;h4&gt;手动安装主题&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;创建 &lt;code&gt;yazi&lt;/code&gt; 主题目录：&lt;code&gt;mkdir -p ~/.config/yazi/flavors&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;图标美化&lt;/h4&gt;
&lt;h5&gt;安装 &lt;strong&gt;Nerd Fonts&lt;/strong&gt; 字体来显示图标&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Arch Linux：&lt;code&gt;sudo pacman -S ttf-nerd-fonts-symbols&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;macOS：&lt;code&gt;brew install font-symbols-only-nerd-font&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;配置&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;终端输入：&lt;code&gt;nano ~/.config/yazi/theme.toml&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;[general]
# 设置主界面配色方案
background_color = &quot;#1e1e2e&quot;  # 背景颜色
foreground_color = &quot;#cdd6f4&quot;  # 文本颜色
cursor_color = &quot;#89dceb&quot;      # 光标颜色
selection_color = &quot;#585b70&quot;   # 选中项背景颜色
highlight_color = &quot;#fab387&quot;   # 高亮颜色

[ui]
# 界面边框与间距
border_color = &quot;#45475a&quot;      # 边框颜色
padding = 4                   # 界面内容的内边距

[file_browser]
# 文件浏览器颜色配置
directory_color = &quot;#89b4fa&quot;   # 目录名称颜色
file_color = &quot;#cdd6f4&quot;        # 普通文件颜色
symlink_color = &quot;#f5c2e7&quot;     # 符号链接颜色
hidden_file_color = &quot;#6c7086&quot; # 隐藏文件颜色

[status_bar]
# 状态栏颜色
background_color = &quot;#313244&quot;  # 状态栏背景
foreground_color = &quot;#a6adc8&quot;  # 状态栏文字
error_color = &quot;#f38ba8&quot;       # 状态栏错误信息

[icon]
# ============ 文件夹图标 ============
dirs = [
   # 特殊文件夹 — 名字精确匹配
   { name = &quot;.git&quot;,     text = &quot;&quot;, fg = &quot;#f14c28&quot; },
   { name = &quot;.github&quot;,  text = &quot;&quot;, fg = &quot;#ffffff&quot; },
   { name = &quot;.ssh&quot;,     text = &quot;󰣀&quot;, fg = &quot;#f9e2af&quot; },
   { name = &quot;Desktop&quot;,  text = &quot;&quot;, fg = &quot;#89b4fa&quot; },
   { name = &quot;Documents&quot;,text = &quot;&quot;, fg = &quot;#4ade80&quot; },
   { name = &quot;Downloads&quot;,text = &quot;&quot;, fg = &quot;#74c7ec&quot; },
   { name = &quot;Music&quot;,    text = &quot;󰝚&quot;, fg = &quot;#cba6f7&quot; },
   { name = &quot;Pictures&quot;, text = &quot;󰋩&quot;, fg = &quot;#94e2d5&quot; },
   { name = &quot;Videos&quot;,   text = &quot;󰨜&quot;, fg = &quot;#f38ba8&quot; },
   { name = &quot;node_modules&quot;, text = &quot;&quot;, fg = &quot;#6c7086&quot; },
]

# ============ 文件图标 ============
files = [
   # 按文件名匹配
   { name = &quot;Dockerfile&quot;,          text = &quot;󰡨&quot;, fg = &quot;#89b4fa&quot; },
   { name = &quot;docker-compose.yml&quot;,  text = &quot;󰡨&quot;, fg = &quot;#89b4fa&quot; },
   { name = &quot;package.json&quot;,        text = &quot;&quot;, fg = &quot;#e8274b&quot; },
   { name = &quot;package-lock.json&quot;,   text = &quot;&quot;, fg = &quot;#6c7086&quot; },
   { name = &quot;README.md&quot;,           text = &quot;󰂺&quot;, fg = &quot;#f59e0b&quot; },
   { name = &quot;LICENSE&quot;,             text = &quot;&quot;, fg = &quot;#cdd6f4&quot; },
   { name = &quot;Makefile&quot;,            text = &quot;&quot;, fg = &quot;#6c7086&quot; },
   { name = &quot;*.rs&quot;,                text = &quot;&quot;, fg = &quot;#f38ba8&quot; },
   { name = &quot;*.py&quot;,                text = &quot;&quot;, fg = &quot;#89b4fa&quot; },
   { name = &quot;*.js&quot;,                text = &quot;&quot;, fg = &quot;#f9e2af&quot; },
   { name = &quot;*.ts&quot;,                text = &quot;&quot;, fg = &quot;#74c7ec&quot; },
   { name = &quot;*.lua&quot;,               text = &quot;&quot;, fg = &quot;#89b4fa&quot; },
   { name = &quot;*.toml&quot;,              text = &quot;&quot;, fg = &quot;#6c7086&quot; },
   { name = &quot;*.yaml&quot;,              text = &quot;&quot;, fg = &quot;#6c7086&quot; },
   { name = &quot;*.yml&quot;,               text = &quot;&quot;, fg = &quot;#6c7086&quot; },
   { name = &quot;*.json&quot;,              text = &quot;&quot;, fg = &quot;#f9e2af&quot; },
   { name = &quot;*.lock&quot;,              text = &quot;󰌾&quot;, fg = &quot;#6c7086&quot; },
   { name = &quot;*.zip&quot;,               text = &quot;&quot;, fg = &quot;#6c7086&quot; },
   { name = &quot;*.tar*&quot;,              text = &quot;&quot;, fg = &quot;#6c7086&quot; },
]
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;背景渲染&lt;/h4&gt;
&lt;h5&gt;ueberzugpp&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;基于 ueberzug协议&lt;/li&gt;
&lt;li&gt;arch系安装：&lt;code&gt;sudo pacman -S ueberzugpp&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;验证安装：&lt;code&gt;ueberzugpp --version&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;插件的管理&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;yazi 本身不直接处理挂载，但可以通过插件增强体验：&lt;/li&gt;
&lt;li&gt;U盘的挂载 见 &amp;gt; [[U盘的自动挂载#yazi终端文件管理器中使用]]&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;常见的插件&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;类别&lt;/th&gt;
&lt;th&gt;依赖/插件&lt;/th&gt;
&lt;th&gt;用途&lt;/th&gt;
&lt;th&gt;程度&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;augment-command&lt;/td&gt;
&lt;td&gt;命令增强&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;bypass&lt;/td&gt;
&lt;td&gt;智能进入目录&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;预览&lt;/td&gt;
&lt;td&gt;duckdb&lt;/td&gt;
&lt;td&gt;JSON/CSV/Excel 预览&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;美化&lt;/td&gt;
&lt;td&gt;full-border&lt;/td&gt;
&lt;td&gt;边框美化插件&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;解压&lt;/td&gt;
&lt;td&gt;fast-enter&lt;/td&gt;
&lt;td&gt;解压文件，并进入&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;挂载&lt;/td&gt;
&lt;td&gt;gvfs&lt;/td&gt;
&lt;td&gt;设备挂载&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;挂载&lt;/td&gt;
&lt;td&gt;mount&lt;/td&gt;
&lt;td&gt;挂载设备&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;预览&lt;/td&gt;
&lt;td&gt;mediainfo&lt;/td&gt;
&lt;td&gt;媒体文件信息预览&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;压缩&lt;/td&gt;
&lt;td&gt;ouch&lt;/td&gt;
&lt;td&gt;压缩文件操作&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;回收站&lt;/td&gt;
&lt;td&gt;recycle-bin&lt;/td&gt;
&lt;td&gt;回收站功能&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;美化&lt;/td&gt;
&lt;td&gt;starship&lt;/td&gt;
&lt;td&gt;状态栏美化&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;智能进入&lt;/td&gt;
&lt;td&gt;smart-enter&lt;/td&gt;
&lt;td&gt;智能进入&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;书签&lt;/td&gt;
&lt;td&gt;whoosh&lt;/td&gt;
&lt;td&gt;书签管理&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt;通过yazi包配置 yazi 插件：&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;安装 yazi 的 mount 插件：&lt;code&gt;ya pack -a yazi-rs/plugins:mount&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;# 编辑 ~/.config/yazi/package.toml
[plugin]
add = [&quot;mount&quot;]
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;手动下载插件包&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;创建 yazi 插件目录：&lt;code&gt;mkdir -p ~/.config/yazi/plugins&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>类 vi 编辑器</title><link>https://gtlx.ltd/posts/undefined/</link><guid isPermaLink="true">https://gtlx.ltd/posts/undefined/</guid><description>以 NeoVim 为例</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;关系&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;vi&lt;/code&gt; 一般是Linux自带的，带有可以在命令行中运行&lt;/li&gt;
&lt;li&gt;&lt;code&gt;vim&lt;/code&gt; 在 &lt;code&gt;vi&lt;/code&gt;的基础上，可在命令行中运行，在&lt;code&gt;vi&lt;/code&gt;的基础上更加美观&lt;/li&gt;
&lt;li&gt;&lt;code&gt;neovim&lt;/code&gt; 在 &lt;code&gt;vim&lt;/code&gt; 的基础上，拥有界面，更加美观花里胡哨，可媲美 &lt;strong&gt;VScode&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;基本的语法（键位）&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;命令&lt;/th&gt;
&lt;th&gt;用途&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;:w&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;保存&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;:q&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;退出&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;!&lt;/code&gt; 如：&lt;code&gt;q！&lt;/code&gt;就是强制退出，不保存&lt;/td&gt;
&lt;td&gt;强制&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;d&lt;/code&gt; 若不使用&lt;code&gt;p&lt;/code&gt;粘贴就是删除&lt;/td&gt;
&lt;td&gt;剪切/删除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;y&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;复制&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;p&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;粘贴&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;i&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;进入批注模式&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;v&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;进入复制模式&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;esc&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;返回正常模式&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;gf&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;进入&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;s&lt;/code&gt;，&lt;strong&gt;写法&lt;/strong&gt;：&lt;code&gt;:s {被替换的字符}/{需要替换的字符}&lt;/code&gt;支持正则表达式&lt;/td&gt;
&lt;td&gt;替换&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;vim&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Vim&lt;/strong&gt;官网：&lt;a href=&quot;https://www.vim.org/&quot;&gt;网站&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.osvim.com/page/vimdownload.html&quot;&gt;vim中文社区&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/vim/vim-win32-installer/releases&quot;&gt;vim下载地址&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;NeoVim&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;NeoVim&lt;/strong&gt;官网：&lt;a href=&quot;https://neovim.io/&quot;&gt;网站&lt;/a&gt;编辑器&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;安装 LazyVim框架&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;LazyVim&lt;/strong&gt; 是目前最受欢迎的 Neovim 配置框架（基于 lazy.nvim），开箱即有 IDE 级功能，启动极快&lt;/li&gt;
&lt;li&gt;官网：&lt;a href=&quot;https://www.lazyvim.org/&quot;&gt;网站&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Github 开源地址：&lt;a href=&quot;https://github.com/LazyVim&quot;&gt;网站&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;学习资源
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;:help&lt;/code&gt; + &lt;code&gt;:Lazy&lt;/code&gt; + &lt;code&gt;:Mason&lt;/code&gt; 是最好的老师。&lt;/li&gt;
&lt;li&gt;YouTube 搜索 “LazyVim 2026” 或 “Neovim note taking” 有很多最新视频。&lt;/li&gt;
&lt;li&gt;中文社区：Reddit r/neovim、B站搜索 “Neovim 配置”。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong&gt;安装步骤&lt;/strong&gt;：&lt;/h4&gt;
&lt;h5&gt;备份旧配置（重要！）&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;备份原有 Neovim 配置
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;mv ~/.config/nvim ~/.config/nvim.bak&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mv ~/.local/share/nvim ~/.local/share/nvim.bak&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;可选但推荐
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;mv ~/.local/state/nvim ~/.local/state/nvim.bak&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mv ~/.cache/nvim ~/.cache/nvim.bak&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;克隆 LazyVim 启动模板&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;终端输入：&lt;code&gt;git clone https://github.com/LazyVim/starter ~/.config/nvim&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h6&gt;安装后的目录结构&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;~/.config/nvim/&lt;/code&gt;中&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;├── lua/
│   ├── config/
│   │   ├── autocmds.lua      # 自动命令
│   │   ├── keymaps.lua        # 快捷键设置
│   │   ├── lazy.lua           # 懒加载配置
│   │   └── options.lua        # 编辑器选项
│   └── plugins/               # 自定义插件目录
│       └── example.lua
└── init.lua                   # 入口文件

&lt;/code&gt;&lt;/pre&gt;
&lt;h5&gt;移除 .git 文件夹&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;终端输入：&lt;code&gt;rm -rf ~/.config/nvim/.git&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;方便托管自己的配置到个人仓库中&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;启动 Neovim&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;终端输入：&lt;code&gt;nvim&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;首次启动时，LazyVim 会自动下载并安装所有默认插件，请耐心等待 2-5 分钟到结束。&lt;/li&gt;
&lt;li&gt;如果有插件安装错误：见 [[类 vi 编辑器（以 NeoVim 为例）#插件安装失败]]&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h4&gt;安装插件（使用LazyVim框架 ）&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;在 &lt;code&gt;~/.config/nvim/lua/plugins/&lt;/code&gt; 目录下新建 &lt;code&gt;.lua&lt;/code&gt; 文件：&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;&lt;strong&gt;推荐额外插件&lt;/strong&gt;&lt;/h5&gt;
&lt;pre&gt;&lt;code&gt;return {
  -- 笔记渲染
  { &quot;MeanderingProgrammer/render-markdown.nvim&quot;, opts = {} },
  
  -- Obsidian 支持
return {
  {
    &quot;epwalsh/obsidian.nvim&quot;,
    version = &quot;*&quot;,                    -- 稳定版
    lazy = true,
    event = {
      &quot;BufReadPre &quot; .. vim.fn.expand(&quot;~/文档/笔记/gtlx-md&quot;) .. &quot;/**/*.md&quot;,
      &quot;BufNewFile &quot; .. vim.fn.expand(&quot;~/文档/笔记/gtlx-md&quot;) .. &quot;/**/*.md&quot;,
    },
    dependencies = { &quot;nvim-lua/plenary.nvim&quot; },
    opts = {
      workspaces = {
        {
          name = &quot;notes&quot;,
          path = &quot;~/文档/笔记/gtlx-md&quot;,
        },
      },

      completion = {
        nvim_cmp = false,        -- ← 关键修改！因为你用的是 blink.cmp
        min_chars = 2,
      },

      mappings = {
        [&quot;gf&quot;] = {
          action = function()
            return require(&quot;obsidian&quot;).util.gf_passthrough()
          end,
          opts = { noremap = false, expr = true, buffer = true },
        },
        [&quot;&amp;lt;CR&amp;gt;&quot;] = {
          action = function()
            return require(&quot;obsidian&quot;).util.smart_action()
          end,
          opts = { buffer = true, expr = true },
        },
      },

      daily_notes = {
        folder = &quot;Daily&quot;,
      },
    },
  },
}
  
  -- 其他好用的
  &quot;tpope/vim-fugitive&quot;,        -- Git 命令
  &quot;folke/trouble.nvim&quot;,         -- 诊断列表
  &quot;nvim-neotest/neotest&quot;,       -- 测试运行器
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h6&gt;编程插件：&lt;/h6&gt;
&lt;p&gt;&lt;strong&gt;从 VSCode 转过来建议&lt;/strong&gt;：先用 LazyVim 跑 1-2 周熟悉基本操作，再逐步自定义。初期可能觉得慢，但掌握 Vim 键位（hjkl、w b 等）和插件后，效率会大幅提升。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;nvim-treesitter/nvim-treesitter-textobjects&lt;/code&gt;：更强的代码块操作。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mfussenegger/nvim-dap&lt;/code&gt; + 对应语言适配器。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;lewis6991/gitsigns.nvim&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;AI 插件：&lt;code&gt;yetone/avante.nvim&lt;/code&gt; 或 &lt;code&gt;github/copilot.vim&lt;/code&gt; 等。&lt;/li&gt;
&lt;/ul&gt;
&lt;h6&gt;&lt;strong&gt;其他笔记插件&lt;/strong&gt;：&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;nvim-neorg/neorg&lt;/code&gt;：类似 Org-mode 的结构化笔记（适合重度组织者）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;zk.nvim&lt;/code&gt; 或 &lt;code&gt;telekasten.nvim&lt;/code&gt;：Zettelkasten 方法。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;image.nvim&lt;/code&gt;：终端内显示图片（需 kitty/wezterm 等终端）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h6&gt;做笔记（Markdown / Zettelkasten / Obsidian 风格）&lt;/h6&gt;
&lt;p&gt;Neovim 在纯文本笔记上非常强大，尤其适合程序员。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;推荐方案&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;最简单强大：LazyVim 的 Markdown Extra + Marksman LSP&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;:LazyExtras&lt;/code&gt; 启用 &lt;code&gt;lang.markdown&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;安装 &lt;strong&gt;Marksman&lt;/strong&gt;（Markdown LSP）：提供链接补全、跳转、查找引用、重命名等，完美支持 Wiki 链接 &lt;code&gt;[[Note]]&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;插件：&lt;code&gt;render-markdown.nvim&lt;/code&gt;（漂亮的 Markdown 渲染）、&lt;code&gt;markdown-preview.nvim&lt;/code&gt;（浏览器预览）、&lt;code&gt;vim-markdown&lt;/code&gt; 或 Treesitter。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Obsidian 用户：obsidian.nvim&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;插件：&lt;code&gt;epwalsh/obsidian.nvim&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;支持每日笔记（&lt;code&gt;:ObsidianToday&lt;/code&gt;）、模板、图片粘贴、快速切换、链接管理等。&lt;/li&gt;
&lt;li&gt;可以和 Obsidian App 共用 vault（手机端用 App，电脑端用 nvim）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;实用配置示例&lt;/strong&gt;（Markdown 文件类型设置）：&lt;/p&gt;
&lt;p&gt;在 &lt;code&gt;~/.config/nvim/ftplugin/markdown.lua&lt;/code&gt; 中：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;vim.opt.wrap = true
vim.opt.linebreak = true
vim.opt.conceallevel = 2  -- 隐藏 Markdown 标记，阅读更舒服
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;使用&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;安装完后，用 &lt;code&gt;:LazyExtras&lt;/code&gt; 命令启用需要的扩展（非常方便）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LazyVim&lt;/strong&gt; 默认已包含很多插件：（可以部分替代 VSCode 的核心功能）
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;LSP、补全、格式化、Lint&lt;/strong&gt;：&lt;code&gt;mason.nvim&lt;/code&gt; + &lt;code&gt;nvim-lspconfig&lt;/code&gt; + &lt;code&gt;blink.cmp&lt;/code&gt;（或 nvim-cmp）+ &lt;code&gt;conform.nvim&lt;/code&gt; 等。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Treesitter&lt;/strong&gt;：优秀语法高亮和代码结构。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Telescope&lt;/strong&gt; / &lt;strong&gt;fzf-lua&lt;/strong&gt;：模糊查找文件、符号、grep（比 VSCode 的 Command Palette 还强）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;调试&lt;/strong&gt;：&lt;code&gt;nvim-dap&lt;/code&gt;（支持多种语言）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Git&lt;/strong&gt;：&lt;code&gt;gitsigns&lt;/code&gt;、&lt;code&gt;lazygit&lt;/code&gt;、&lt;code&gt;neogit&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;&lt;strong&gt;启用语言支持&lt;/strong&gt;：&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;在 &lt;code&gt;~/.config/nvim/lua/plugins/&lt;/code&gt; 下新建文件：&lt;/li&gt;
&lt;li&gt;Python、Rust、Go、TypeScript、Java 等：
&lt;ul&gt;
&lt;li&gt;用 &lt;code&gt;:LazyExtras&lt;/code&gt; 搜索对应 &lt;code&gt;lang.*&lt;/code&gt; 启用。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;示例启用 Python 和 Markdown：
&lt;ul&gt;
&lt;li&gt;在 &lt;code&gt;lua/config/lazy.lua&lt;/code&gt; 或 &lt;strong&gt;plugins&lt;/strong&gt; 文件中添加：&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;return {
  { import = &quot;lazyvim.plugins.extras.lang.python&quot; },
  { import = &quot;lazyvim.plugins.extras.lang.markdown&quot; },
&lt;/code&gt;&lt;/pre&gt;
&lt;h5&gt;设置中文：&lt;/h5&gt;
&lt;h6&gt;whichkey.lua&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;文件路径&lt;/strong&gt;：&lt;code&gt;nvim ~/.config/nvim/lua/plugins/whichkey.lua&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;-- ~/.config/nvim/lua/plugins/whichkey.lua
return {
  {
    &quot;folke/which-key.nvim&quot;,
    opts = {
      spec = {
        -- ==================== 顶级分组 ====================
        { &quot;&amp;lt;leader&amp;gt;f&quot;, group = &quot;🔍 文件&quot; },
        { &quot;&amp;lt;leader&amp;gt;s&quot;, group = &quot;🔎 搜索&quot; },
        { &quot;&amp;lt;leader&amp;gt;w&quot;, group = &quot;🪟 窗口&quot; },
        { &quot;&amp;lt;leader&amp;gt;b&quot;, group = &quot;📑 Buffer&quot; },
        { &quot;&amp;lt;leader&amp;gt;g&quot;, group = &quot;🌿 Git&quot; },
        { &quot;&amp;lt;leader&amp;gt;l&quot;, group = &quot;⚡ LSP&quot; },
        { &quot;&amp;lt;leader&amp;gt;d&quot;, group = &quot;🐛 调试&quot; },
        { &quot;&amp;lt;leader&amp;gt;t&quot;, group = &quot;🧪 测试&quot; },
        { &quot;&amp;lt;leader&amp;gt;q&quot;, group = &quot;❌ 会话/退出&quot; },
        { &quot;&amp;lt;leader&amp;gt;o&quot;, group = &quot;📝 Obsidian&quot; },
        { &quot;&amp;lt;leader&amp;gt;n&quot;, group = &quot;📓 笔记&quot; },
        { &quot;&amp;lt;leader&amp;gt;u&quot;, group = &quot;🔧 UI/界面&quot; },
        { &quot;&amp;lt;leader&amp;gt;x&quot;, group = &quot;🔧 诊断&quot; },

        -- ==================== 子分组 ====================
        -- 文件
        { &quot;&amp;lt;leader&amp;gt;ff&quot;, desc = &quot;查找文件&quot; },
        { &quot;&amp;lt;leader&amp;gt;fg&quot;, desc = &quot;全文搜索 (Live Grep)&quot; },
        { &quot;&amp;lt;leader&amp;gt;fr&quot;, desc = &quot;最近打开的文件&quot; },
        { &quot;&amp;lt;leader&amp;gt;fb&quot;, desc = &quot;浏览 Buffer&quot; },

        -- 窗口
        { &quot;&amp;lt;leader&amp;gt;wd&quot;, desc = &quot;关闭当前窗口&quot; },
        { &quot;&amp;lt;leader&amp;gt;wo&quot;, desc = &quot;只保留当前窗口&quot; },
        { &quot;&amp;lt;leader&amp;gt;ws&quot;, desc = &quot;水平分栏&quot; },
        { &quot;&amp;lt;leader&amp;gt;wv&quot;, desc = &quot;垂直分栏&quot; },
        { &quot;&amp;lt;leader&amp;gt;w=&quot;, desc = &quot;窗口等大&quot; },

        -- Obsidian
        { &quot;&amp;lt;leader&amp;gt;ob&quot;, desc = &quot;反向链接 (Backlinks)&quot; },
        { &quot;&amp;lt;leader&amp;gt;ot&quot;, desc = &quot;今日笔记&quot; },
        { &quot;&amp;lt;leader&amp;gt;oq&quot;, desc = &quot;快速切换笔记&quot; },
        { &quot;&amp;lt;leader&amp;gt;os&quot;, desc = &quot;搜索笔记内容&quot; },
        { &quot;&amp;lt;leader&amp;gt;on&quot;, desc = &quot;新建笔记&quot; },
        { &quot;&amp;lt;leader&amp;gt;op&quot;, desc = &quot;粘贴图片&quot; },
      },
    },
  },
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h6&gt;keymaps.lua&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;文件路径：&lt;code&gt;nvim ~/.config/nvim/lua/config/keymaps.lua&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;-- ~/.config/nvim/lua/config/keymaps.lua
local map = vim.keymap.set

-- Obsidian 快捷键
map(&quot;n&quot;, &quot;&amp;lt;leader&amp;gt;ob&quot;, &quot;&amp;lt;cmd&amp;gt;ObsidianBacklinks&amp;lt;cr&amp;gt;&quot;, { desc = &quot;反向链接&quot; })
map(&quot;n&quot;, &quot;&amp;lt;leader&amp;gt;ot&quot;, &quot;&amp;lt;cmd&amp;gt;ObsidianToday&amp;lt;cr&amp;gt;&quot;, { desc = &quot;今日笔记&quot; })
map(&quot;n&quot;, &quot;&amp;lt;leader&amp;gt;oq&quot;, &quot;&amp;lt;cmd&amp;gt;ObsidianQuickSwitch&amp;lt;cr&amp;gt;&quot;, { desc = &quot;快速切换笔记&quot; })
map(&quot;n&quot;, &quot;&amp;lt;leader&amp;gt;os&quot;, &quot;&amp;lt;cmd&amp;gt;ObsidianSearch&amp;lt;cr&amp;gt;&quot;, { desc = &quot;搜索笔记内容&quot; })
map(&quot;n&quot;, &quot;&amp;lt;leader&amp;gt;on&quot;, &quot;&amp;lt;cmd&amp;gt;ObsidianNew&amp;lt;cr&amp;gt;&quot;, { desc = &quot;新建笔记&quot; })

-- 窗口操作
map(&quot;n&quot;, &quot;&amp;lt;leader&amp;gt;ws&quot;, &quot;&amp;lt;C-w&amp;gt;s&quot;, { desc = &quot;水平分栏&quot; })
map(&quot;n&quot;, &quot;&amp;lt;leader&amp;gt;wv&quot;, &quot;&amp;lt;C-w&amp;gt;v&quot;, { desc = &quot;垂直分栏&quot; })
map(&quot;n&quot;, &quot;&amp;lt;leader&amp;gt;wd&quot;, &quot;&amp;lt;C-w&amp;gt;c&quot;, { desc = &quot;关闭当前窗口&quot; })
map(&quot;n&quot;, &quot;&amp;lt;leader&amp;gt;wo&quot;, &quot;&amp;lt;C-w&amp;gt;o&quot;, { desc = &quot;只保留当前窗口&quot; })
&lt;/code&gt;&lt;/pre&gt;
&lt;h5&gt;实用技巧 &amp;amp; 工作流&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;快捷键&lt;/strong&gt;：LazyVim 默认很多 &lt;code&gt;&amp;lt;leader&amp;gt;&lt;/code&gt; 键（空格），如 &lt;code&gt;&amp;lt;leader&amp;gt;ff&lt;/code&gt; 找文件、&lt;code&gt;gd&lt;/code&gt; 跳转定义、&lt;code&gt;K&lt;/code&gt; 显示悬浮文档。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;终端集成&lt;/strong&gt;：用 WezTerm / Kitty + Tmux，nvim 里用 &lt;code&gt;:terminal&lt;/code&gt; 或 &lt;code&gt;toggleterm.nvim&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;多语言&lt;/strong&gt;：一个 vault 放笔记，项目目录直接打开 nvim 写代码。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;同步&lt;/strong&gt;：笔记用 Git + GitHub，或 Syncthing。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;手机端&lt;/strong&gt;：Obsidian App + Git 同步，或 Termux + nvim（进阶）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;性能&lt;/strong&gt;：Neovim 通常比 VSCode 轻很多，适合老电脑或远程 SSH。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;其他&lt;/h4&gt;
&lt;h5&gt;常见问题解决&lt;/h5&gt;
&lt;h6&gt;插件安装失败&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;清除缓存后重试
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;rm -rf ~/.cache/nvim&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rm -rf ~/.local/share/nvim/lazy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rm -rf ~/.local/stare/nvim/lazy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;启动：&lt;code&gt;nvim&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;然后在 Neovim 中执行 ：&lt;code&gt;update&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;查找更新&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h6&gt;如何重置配置&lt;/h6&gt;
&lt;pre&gt;&lt;code&gt;# 备份自定义配置
cp -r ~/.config/nvim/lua/custom ~/nvim-custom-backup

# 重新安装
rm -rf ~/.config/nvim
git clone https://github.com/LazyVim/starter ~/.config/nvim

# 恢复自定义配置
cp -r ~/nvim-custom-backup ~/.config/nvim/lua/custom
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>Niri 的安装与使用</title><link>https://gtlx.ltd/posts/undefined/</link><guid isPermaLink="true">https://gtlx.ltd/posts/undefined/</guid><description>在arch linux 系统下的安装为例</description><pubDate>Sat, 24 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;安装&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;niri 官网：&lt;a href=&quot;https://niri-wm.github.io/niri/&quot;&gt;网站&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Github 开源地址：&lt;a href=&quot;https://github.com/niri-wm/niri&quot;&gt;网站&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;arch系安装：&lt;code&gt;niri&lt;/code&gt;包&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;后端依赖：
&lt;ul&gt;
&lt;li&gt;基础包：&lt;code&gt;xdg-desktop-portal&lt;/code&gt; &lt;strong&gt;（必装）&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Wayland 合成器功能：&lt;code&gt;xdg-desktop-portal-wlr&lt;/code&gt;  &lt;strong&gt;（Wayland专用/必装）&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;GTK应用支持：&lt;code&gt;xdg-desktop-portal-gtk&lt;/code&gt; &lt;strong&gt;（强烈推荐）&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;GNOME 应用支持：&lt;code&gt;xdg-desktop-portal-gnome&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;KDE 应用支持：&lt;code&gt;xdg-desktop-portal-kde&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;wxWidgets 应用支持：&lt;code&gt;xdg-desktop-portal-wxgtk&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;运行 Qt5 应用：&lt;code&gt;xdg-desktop-portal-qt5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;运行 Qt6 应用：&lt;code&gt;xdg-desktop-portal-qt6&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;安装xwayland兼容：&lt;code&gt;xorg-xwayland&lt;/code&gt;和&lt;code&gt;xwayland-satellite&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;xorg-xwayland&lt;/code&gt;：传统的 Xwayland 服务器，用于在 Wayland 环境中运行 X11 应用程序&lt;/li&gt;
&lt;li&gt;&lt;code&gt;xwayland-satellite&lt;/code&gt;：专门为 niri 设计的 Xwayland 管理工具，提供更好的集成和认证管理&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;使用&lt;/h2&gt;
&lt;h3&gt;安装 [[桌面shell]]&lt;/h3&gt;
&lt;h3&gt;配置文件&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;配置文件：
&lt;ul&gt;
&lt;li&gt;用户级配置文件：&lt;code&gt;~/.config/niri/config.kdl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;验证配置文件：&lt;code&gt;niri validate&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;主配置文件&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;// ============================================
// Niri 主配置文件
// 快捷键配置已分离到 binds.kdl
// ============================================

// 包含快捷键配置文件
include &quot;binds.kdl&quot;

// 键盘鼠标触摸板等输入设备相关配置
input {
    // 禁用触摸板（Touchpad）
    touchpad { off; }
    
    keyboard {
        xkb {
            layout &quot;us&quot;
            // 可选：添加更多键盘布局选项
            // vaIIInt &quot;altgr-intl&quot;
            // options &quot;ctrl:nocaps&quot;  // 将CapsLock用作Ctrl键
        }
    
        // 在启动上启用 numlock，省略此设置会禁用它
        numlock
        
        // 可选：重复按键设置
        // repeat-delay 600
        // repeat-rate 25
    }
    
    mouse {
        accel-profile &quot;flat&quot;
        // 可选：调整鼠标速度 (-1到1之间由慢到快)
        // accel-speed 0.5
    }
    
    // 鼠标移动到新聚焦的窗口
    warp-mouse-to-focus
    
    // 聚焦鼠标移动到的窗口上
    focus-follows-mouse
    
    // 切换mod键：正常使用Super，嵌套窗口内使用Alt
    // mod-key &quot;Super&quot;
    // mod-key-nested &quot;Alt&quot;
    
    // 可选：禁用电源键处理（使用系统默认功能）
    // disable-power-key-handling
}

// 显示器配置
// 运行 `niri msg outputs` 或 `wlr-randr` 查看显示器名称
output &quot;eDP-1&quot; {
    mode &quot;2560x1440@165.000&quot;
    scale 1.33
    position x=0 y=0
    focus-at-startup
    // 可选：旋转显示器
    // transform &quot;normal&quot;  // normal, 90, 180, 270, flipped, flipped-90, flipped-180, flipped-270
}

// 如果有多个显示器，可以添加更多配置
// output &quot;HDMI-A-1&quot; {
//     mode &quot;1920x1080@60.000&quot;
//     scale 1.0
//     position x=2560 y=0
// }

// 窗口布局设置
layout {
    // 窗口周围的缝隙（逻辑像素）
    gaps 5
    
    // 背景颜色（工作区透明）
    background-color &quot;transparent&quot;
    
    // 存在多个窗口时，未最大化的窗口不自动居中，方便分屏
    center-focused-column &quot;never&quot;
    
    // 只有一个窗口时自动居中显示
    always-center-single-column
    
    // 预设列宽度（使用Mod+R切换）
    preset-column-widths {
        proportion 0.3    // 30%宽度
        proportion 0.5    // 50%宽度
        proportion 0.7556 // 75.56%宽度
        proportion 1.0    // 100%宽度
        // 也可以使用固定像素宽度（受scale影响）
        // fixed 1920
    }
    // ============================================
    // 隐藏窗口标题栏
    // ============================================
    // prefer-no-csd

    // 预设窗口高度（使用Mod+Shift+R切换）
    preset-window-heights {
        proportion 0.5    // 50%高度
        proportion 0.8    // 80%高度
        proportion 1.0    // 100%高度
    }
    
    // 聚焦环设置（可选）
    focus-ring {
        off  // 关闭聚焦环
        // 或者自定义颜色
        // active-color &quot;#61AFEF&quot;
        // inactive-color &quot;#505050&quot;
    }
    
    // 边框设置
    border {
        on
        width 2.5
        active-color &quot;#4ec9b0&quot;
        inactive-color &quot;#505050&quot;
    }
}

// ============================================
// 环境变量设置
// ============================================
environment {
    // 语言和区域设置
    LANG &quot;zh_CN.UTF-8&quot;
    LC_CTYPE &quot;zh_CN.UTF-8&quot;
    LC_NUMERIC &quot;zh_CN.UTF-8&quot;
    LC_TIME &quot;zh_CN.UTF-8&quot;
    LC_COLLATE &quot;zh_CN.UTF-8&quot;
    LC_MONETARY &quot;zh_CN.UTF-8&quot;
    LC_MESSAGES &quot;zh_CN.UTF-8&quot;
    LC_PAPER &quot;zh_CN.UTF-8&quot;
    LC_NAME &quot;zh_CN.UTF-8&quot;
    LC_ADDRESS &quot;zh_CN.UTF-8&quot;
    LC_TELEPHONE &quot;zh_CN.UTF-8&quot;
    LC_MEASUREMENT &quot;zh_CN.UTF-8&quot;
    LC_IDENTIFICATION &quot;zh_CN.UTF-8&quot;
    
    // Wayland 相关环境变量
    QT_QPA_PLATFORM &quot;wayland&quot;
    GDK_BACKEND &quot;wayland&quot;
    SDL_VIDEODRIVER &quot;wayland&quot;
    MOZ_ENABLE_WAYLAND &quot;1&quot;
    ELECTRON_OZONE_PLATFORM_HINT &quot;wayland&quot;
    
    // 输入法设置
    QT_QPA_PLATFORMTHEME &quot;qt6ct&quot;
    QT_IM_MODULE &quot;fcitx&quot;
    XMODIFIERS &quot;@im=fcitx&quot;
    QT_IM_MODULES &quot;wayland;fcitx&quot;
    
    // 代理设置（可选）
    // ALL_PROXY &quot;http://127.0.0.1:7890&quot;
    // HTTP_PROXY &quot;http://127.0.0.1:7890&quot;
    // HTTPS_PROXY &quot;http://127.0.0.1:7890&quot;
}

// ============================================
// 自启动程序
// ============================================
spawn-at-startup &quot;fcitx5&quot; &quot;-d&quot;
spawn-at-startup &quot;xwayland-satellite&quot;
spawn-at-startup &quot;qs&quot; &quot;-c&quot; &quot;noctalia-shell&quot;
// spawn-at-startup &quot;/usr/lib/polkit-kde-authentication-agent-1&quot;


// 可选：添加更多自启动程序
// spawn-at-startup &quot;waybar&quot;
// spawn-at-startup &quot;swaync&quot;
// spawn-at-startup &quot;swayidle&quot; &quot;-w&quot; &quot;timeout&quot; &quot;601&quot; &quot;niri msg action power-off-monitors&quot; &quot;timeout&quot; &quot;600&quot; &quot;swaylock -f&quot; &quot;before-sleep&quot; &quot;swaylock -f&quot;
// spawn-at-startup &quot;niri-switch-daemon&quot;

// 使用shell命令启动（支持变量、管道等）
spawn-sh-at-startup &quot;wl-paste --watch cliphist store&quot;
// spawn-sh-at-startup &quot;swaybg -i ~/Pictures/wallpaper.jpg -m fill&quot;

// ============================================
// 内部窗口规则
// ============================================
window-rule {
    geometry-corner-radius 12
    clip-to-geometry true
    opacity 1.0  // 设置窗口不透明度为 100%
}

// 可选：为特定应用添加规则
// window-rule {
//     match app-id=&quot;firefox&quot;
//     default-column-width { proportion 0.8; }
//     open-on-output &quot;eDP-1&quot;
// }

// window-rule {
//     match app-id=&quot;alacritty&quot;
//     default-column-width { proportion 0.5; }
// }

// Steam 全屏游戏规则
window-rule {
    match app-id=&quot;steam&quot;
    default-column-width { proportion 1.0; }
}

//kitty 背景透明的设置
window-rule {
    match app-id=&quot;kitty&quot;
    opacity 0.8
    draw-border-with-background false
}

// ============================================
// 光标设置
// ============================================
cursor {
    xcursor-theme &quot;breeze&quot;
    xcursor-size 24
    hide-when-typing
}
// ============================================
// 动画设置
// ============================================
animations {
     // 窗口出现
     window-open {
         duration-ms 150
         curve &quot;ease-out-expo&quot;
     }
     // 窗口消失
     window-close {
         duration-ms 150
         curve &quot;ease-out-quad&quot;
     }
     // 窗口在列内移动
     // window-move{}
     // 工作区切换
     workspace-switch{
         duration-ms 250
         curve &quot;cubic-bezier&quot; 0.42 0.0 0.58 1.0
     }
 }

// ============================================
// 截图设置
// ============================================
screenshot-path &quot;~/Pictures/ScreenShot/%Y-%m-%d %H-%M-%S.png&quot;


hotkey-overlay {
    // 跳过“重要的热键”弹出窗口。
    skip-at-startup
}

// 禁用鼠标左上角热脚
gestures {
    hot-corners {
        off
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;快捷键配置文件&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;在配置文件中添加：&lt;code&gt;include &quot;binds.kdl&quot;&lt;/code&gt;分离快捷键配置文件&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;// ============================================
// Niri 快捷键配置文件
// 包含所有快捷键绑定
// 快捷键需要使用完整的xkb键名
// ============================================
binds {
    // ========== 系统级快捷键 ==========
    Mod+Shift+E hotkey-overlay-title=&quot;退出 niri&quot; { quit; }
    Control+D hotkey-overlay-title=&quot;关闭当前窗口&quot; { close-window; }
    Mod+Shift+Slash hotkey-overlay-title=&quot;显示快捷键列表&quot; { show-hotkey-overlay; }
    
    // ========== 窗口导航快捷键 ==========
    // 基础导航
    Mod+Left hotkey-overlay-title=&quot;方向键向左切换窗口&quot; { focus-column-left; }
    Mod+Right hotkey-overlay-title=&quot;方向键向右切换窗口&quot; { focus-column-right; }
    Mod+Down hotkey-overlay-title=&quot;方向键向下切换列&quot; { focus-workspace-down; }
    Mod+Up hotkey-overlay-title=&quot;方向键向上切换列&quot; { focus-workspace-up; }
    
    // 移动窗口
    Mod+Shift+Left hotkey-overlay-title=&quot;向左移动列&quot; { move-column-left; }
    Mod+Shift+Right hotkey-overlay-title=&quot;向右移动列&quot; { move-column-right; }
    Mod+Shift+Down hotkey-overlay-title=&quot;向下移动窗口&quot; { move-window-down; }
    Mod+Shift+Up hotkey-overlay-title=&quot;向上移动窗口&quot; { move-window-up; }
    
    // 快速导航
    Mod+Home hotkey-overlay-title=&quot;聚焦第一列&quot; { focus-column-first; }
    Mod+End hotkey-overlay-title=&quot;聚焦最后一列&quot; { focus-column-last; }
    
    // ========== 窗口管理快捷键 ==========
    Mod+R hotkey-overlay-title=&quot;切换预设列宽&quot; { switch-preset-column-width; }
    Mod+Shift+R hotkey-overlay-title=&quot;切换预设窗口高度&quot; { switch-preset-window-height; }
    Mod+F hotkey-overlay-title=&quot;扩展列到可用宽度&quot; { expand-column-to-available-width; }
    Mod+W hotkey-overlay-title=&quot;切换窗口全屏&quot; { toggle-windowed-fullscreen; }
    Mod+C hotkey-overlay-title=&quot;居中当前列&quot; { center-column; }
    Mod+Ctrl+C hotkey-overlay-title=&quot;居中所有可见列&quot; { center-visible-columns; }
    
    // 调整列宽/高度
    Mod+Minus hotkey-overlay-title=&quot;减少列宽10%&quot; { set-column-width &quot;-10%&quot;; }
    Mod+Equal hotkey-overlay-title=&quot;增加列宽10%&quot; { set-column-width &quot;+10%&quot;; }
    Mod+Shift+Minus hotkey-overlay-title=&quot;减少窗口高度10%&quot; { set-window-height &quot;-10%&quot;; }
    Mod+Shift+Equal hotkey-overlay-title=&quot;增加窗口高度10%&quot; { set-window-height &quot;+10%&quot;; }
    
    // ========== 工作区管理 ==========
    // 工作区切换（1-9）
    Mod+1 hotkey-overlay-title=&quot;切换到工作区1&quot; { focus-workspace 1; }
    Mod+2 hotkey-overlay-title=&quot;切换到工作区2&quot; { focus-workspace 2; }
    Mod+3 hotkey-overlay-title=&quot;切换到工作区3&quot; { focus-workspace 3; }
    Mod+4 hotkey-overlay-title=&quot;切换到工作区4&quot; { focus-workspace 4; }
    Mod+5 hotkey-overlay-title=&quot;切换到工作区5&quot; { focus-workspace 5; }
    Mod+6 hotkey-overlay-title=&quot;切换到工作区6&quot; { focus-workspace 6; }
    Mod+7 hotkey-overlay-title=&quot;切换到工作区7&quot; { focus-workspace 7; }
    Mod+8 hotkey-overlay-title=&quot;切换到工作区8&quot; { focus-workspace 8; }
    Mod+9 hotkey-overlay-title=&quot;切换到工作区9&quot; { focus-workspace 9; }
    Mod+0 hotkey-overlay-title=&quot;切换到工作区10&quot; { focus-workspace 10; }
    
    // 移动窗口到工作区
    Mod+Shift+1 hotkey-overlay-title=&quot;移动列到工作区1&quot; { move-column-to-workspace 1; }
    Mod+Shift+2 hotkey-overlay-title=&quot;移动列到工作区2&quot; { move-column-to-workspace 2; }
    Mod+Shift+3 hotkey-overlay-title=&quot;移动列到工作区3&quot; { move-column-to-workspace 3; }
    Mod+Shift+4 hotkey-overlay-title=&quot;移动列到工作区4&quot; { move-column-to-workspace 4; }
    Mod+Shift+5 hotkey-overlay-title=&quot;移动列到工作区5&quot; { move-column-to-workspace 5; }
    Mod+Shift+6 hotkey-overlay-title=&quot;移动列到工作区6&quot; { move-column-to-workspace 6; }
    Mod+Shift+7 hotkey-overlay-title=&quot;移动列到工作区7&quot; { move-column-to-workspace 7; }
    Mod+Shift+8 hotkey-overlay-title=&quot;移动列到工作区8&quot; { move-column-to-workspace 8; }
    Mod+Shift+9 hotkey-overlay-title=&quot;移动列到工作区9&quot; { move-column-to-workspace 9; }
    Mod+Shift+0 hotkey-overlay-title=&quot;移动列到工作区10&quot; { move-column-to-workspace 10; }
    
    
    // ========== 应用程序启动快捷键 ==========
    // 打开Noctalia shell启动器
    Alt+Space { spawn &quot;qs&quot; &quot;-c&quot; &quot;noctalia-shell&quot; &quot;ipc&quot; &quot;call&quot; &quot;launcher&quot; &quot;toggle&quot;; }
    // 打开 kitty 终端模拟器
    Mod+T { spawn &quot;kitty&quot;; }
    
    // ========== 实用工具快捷键 ==========
    // 打开剪贴板
    mod+V { spawn &quot;qs&quot; &quot;-c&quot; &quot;noctalia-shell&quot; &quot;ipc&quot; &quot;call&quot; &quot;launcher&quot; &quot;clipboard&quot;; }
    
    // 截图功能
    Print hotkey-overlay-title=&quot;截图（全屏）&quot; { screenshot show-pointer=false; }
    Shift+Print hotkey-overlay-title=&quot;截图（选择区域）&quot; { spawn-sh &quot;grim -g \&quot;$(slurp)\&quot; - | wl-copy&quot;; }
    Ctrl+Print hotkey-overlay-title=&quot;截图屏幕（保存）&quot; { screenshot-screen write-to-disk=true; }
    Alt+Print hotkey-overlay-title=&quot;截图窗口（保存）&quot; { screenshot-window write-to-disk=true; }
    
    // 锁屏
    mod+L { spawn &quot;qs&quot; &quot;-c&quot; &quot;noctalia-shell&quot; &quot;ipc&quot; &quot;call&quot; &quot;lockScreen&quot; &quot;lock&quot;; }
    
    // ========== 多媒体控制 ==========
    // 音量控制（锁屏时也可用）
    XF86AudioRaiseVolume allow-when-locked=true hotkey-overlay-title=&quot;增加音量&quot; { 
        spawn-sh &quot;wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+&quot;; 
    }
    XF86AudioLowerVolume allow-when-locked=true hotkey-overlay-title=&quot;降低音量&quot; { 
        spawn-sh &quot;wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-&quot;; 
    }
    XF86AudioMute allow-when-locked=true hotkey-overlay-title=&quot;静音/取消静音&quot; { 
        spawn-sh &quot;wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle&quot;; 
    }
    XF86AudioMicMute allow-when-locked=true hotkey-overlay-title=&quot;麦克风静音&quot; { 
        spawn-sh &quot;wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle&quot;; 
    }
    
    // 亮度控制（锁屏时也可用）
    XF86MonBrightnessUp allow-when-locked=true hotkey-overlay-title=&quot;增加亮度&quot; { 
        spawn &quot;brightnessctl&quot; &quot;set&quot; &quot;+10%&quot;; 
    }
    XF86MonBrightnessDown allow-when-locked=true hotkey-overlay-title=&quot;降低亮度&quot; { 
        spawn &quot;brightnessctl&quot; &quot;set&quot; &quot;10%-&quot;; 
    }
    
    // ========== 鼠标滚轮绑定 ==========
    // 工作区切换
    Mod+WheelScrollDown cooldown-ms=150 hotkey-overlay-title=&quot;滚轮向下：下一个工作区&quot; { 
        focus-workspace-down; 
    }
    Mod+WheelScrollUp cooldown-ms=150 hotkey-overlay-title=&quot;滚轮向上：上一个工作区&quot; { 
        focus-workspace-up; 
    }
    
    // 列切换(可适配触摸板)
    Mod+WheelScrollRight hotkey-overlay-title=&quot;滚轮向右：向右聚焦列&quot; { 
        focus-column-right; 
    }
    Mod+WheelScrollLeft hotkey-overlay-title=&quot;滚轮向左：向左聚焦列&quot; { 
        focus-column-left; 
    }
    
    // 移动窗口到工作区
    Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
    Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
    
    // ========== 高级功能 ==========
    // 切换悬浮窗口
    Mod+Shift+Space hotkey-overlay-title=&quot;切换窗口悬浮状态&quot; { toggle-window-floating; }
    Mod+Space hotkey-overlay-title=&quot;在悬浮和平铺窗口间切换焦点&quot; { switch-focus-between-floating-and-tiling; }
    
    // 切换标签页模式
    Mod+X hotkey-overlay-title=&quot;切换列标签页显示&quot; { toggle-column-tabbed-display; }
    
    // 关闭显示器
    Mod+Shift+P hotkey-overlay-title=&quot;关闭显示器&quot; { power-off-monitors; }
    
    // 调试快捷键
    Mod+Shift+Ctrl+D hotkey-overlay-title=&quot;调试：切换损伤显示&quot; { debug-toggle-damage; }
    Mod+Escape allow-inhibiting=false hotkey-overlay-title=&quot;切换键盘快捷键抑制&quot; { 
        toggle-keyboard-shortcuts-inhibit; 
    }
    
    // 切换概览
    Mod+G repeat=false hotkey-overlay-title=&quot;切换概览&quot; { toggle-overview; }
    
    // 窗口选择器 默认为 Alt+Tab 
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>arch linux 的安装</title><link>https://gtlx.ltd/posts/undefined/</link><guid isPermaLink="true">https://gtlx.ltd/posts/undefined/</guid><description>在命令行中的安装</description><pubDate>Tue, 04 Nov 2025 00:00:00 GMT</pubDate><content:encoded>&lt;ul&gt;
&lt;li&gt;写在前面的话：
&lt;ul&gt;
&lt;li&gt;欢迎加入arch“邪教”。&lt;/li&gt;
&lt;li&gt;通过这个命令行安装，你会初步的了解linux的解构以及linux与winoed的区别等。总结下来,还算是收获颇丰的。&lt;/li&gt;
&lt;li&gt;然后因为arch linux的手册很全，有些软件可以参考官方手册进行安装。&lt;/li&gt;
&lt;li&gt;最后，享受这个痛苦的过程吧！！&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;安装&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:archlinux.org&quot;&gt;官网&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://wiki.archlinux.org/index.php/Installation_guide&quot;&gt;官方文档手册：&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;镜像包下载：
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/&quot;&gt;清华源&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;一. 安装前的其他设置（可以省略此步）&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;改字体：&lt;code&gt;setfont /usr/share/kbd/consolefonts/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;改键盘布局：&lt;code&gt;loadkeys de-latin1&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;以上的看情况可以省略，以下的校准时间不建议省略&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;校准时间： &lt;code&gt;timedatectl set-ntp true&lt;/code&gt;;
&lt;ul&gt;
&lt;li&gt;使用 &lt;code&gt;timedatectl status&lt;/code&gt; 检查服务状态&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;其他一些小设置&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;输入：&lt;code&gt;vim /etc/pacman.conf&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PS&lt;/strong&gt;：可以使用vim或nano文件编辑器&lt;/li&gt;
&lt;li&gt;启动32为应用支持：
&lt;ul&gt;
&lt;li&gt;删除 &lt;code&gt;【multilib】&lt;/code&gt; 前的#号批注；&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;美化进度条（进度条会变成吃豆人）：
&lt;ul&gt;
&lt;li&gt;找到&lt;code&gt;#color&lt;/code&gt; 的删除前面的#号批注&lt;/li&gt;
&lt;li&gt;也可以在其下一行加入&lt;code&gt;ILoveCandy&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;换源：&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;vim /etc/pacman.d/mirrorlist&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;同步备份：&lt;code&gt;pacman -Syy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;一些国内的源：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;清华源: Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch&lt;/code&gt;；&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ps&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;如果遇到签名错误，可以安装&lt;code&gt;sudo pacman -S archlinuxcn-keyring&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;etc/pacman.d&lt;/code&gt;为pacman配置文件路径&lt;/li&gt;
&lt;li&gt;可以找到路径，按&lt;code&gt;esc&lt;/code&gt;退出修改，按&lt;code&gt;：&lt;/code&gt;输入&lt;code&gt;wq&lt;/code&gt;保存并且退出，并且将光标移到路径上，按&lt;code&gt;gf&lt;/code&gt;进入添加源&lt;/li&gt;
&lt;li&gt;后续也可以直接使用vim编辑文件服务器添加源： （更改源以后记得输入 &lt;strong&gt;&lt;code&gt;pacman -Syy&lt;/code&gt;&lt;/strong&gt; 同步备份）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ip link&lt;/p&gt;
&lt;h2&gt;二. 硬盘分区 &lt;code&gt;lsblk&lt;/code&gt; （查看硬盘分区）&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;一般情况loop0，sr0是镜像文件不用管：sda是你的硬盘大小（一般情况是sda）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;1. 删除分区&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;gdisk /dev/sda&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;先输入&lt;code&gt;x&lt;/code&gt;，进入管理员模式&lt;/li&gt;
&lt;li&gt;再输入&lt;code&gt;z&lt;/code&gt;，删除分区数据&lt;/li&gt;
&lt;li&gt;接着分别联系输入俩个&lt;code&gt;Y&lt;/code&gt;,确认删除&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ps&lt;/strong&gt;：&lt;code&gt;gdisk&lt;/code&gt;为删除指令&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;2. 设置分区表&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;parted /dev/sda&lt;/code&gt;
&lt;ol&gt;
&lt;li&gt;输入&lt;code&gt;mktable&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;输入&lt;code&gt;gpt&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;输入&lt;code&gt;quit&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;3. 分区&lt;/h4&gt;
&lt;h5&gt;验证引导模式：&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ls /sys/firmware/efi/efivars&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PS：&lt;/strong&gt; 如果命令结果显示了目录且没有报告错误，则系统以&lt;strong&gt;UEFI 模式&lt;/strong&gt;引导。 如果目录不存在，则系统可能以 &lt;strong&gt;BIOS 模式&lt;/strong&gt; (或 CSM 模式) 引导。如果系统未以您想要的模式引导启动，请参考您的主板说明书。&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;设置分区 &lt;code&gt;cfdisk&lt;/code&gt;&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PS：&lt;/strong&gt; &lt;strong&gt;cgdisk&lt;/strong&gt;为图形化分区指令&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;选择&lt;strong&gt;gpt&lt;/strong&gt;回车进入分区界面 &lt;em&gt;(如果不需要选择，可以忽略此步)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;移动光标到&lt;strong&gt;New&lt;/strong&gt;删除原来的分区大小，输入直接想要的分区大小,回车确认&lt;/li&gt;
&lt;li&gt;光标移动到&lt;strong&gt;Yypc&lt;/strong&gt;确认分区类型&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;重复以上步骤完成分区，再将光标移动到&lt;strong&gt;write&lt;/strong&gt;输入&lt;strong&gt;yes&lt;/strong&gt;点击回车，保存；然后将光标移动到&lt;strong&gt;Quit&lt;/strong&gt;退出&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;**PS：**格式的选择&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;BIOS分区将光标移动到&lt;strong&gt;BIOS boot&lt;/strong&gt;上回车确认；&lt;/li&gt;
&lt;li&gt;交换分区：&lt;strong&gt;Linux swap&lt;/strong&gt;；&lt;/li&gt;
&lt;li&gt;个人分区和根分区&lt;strong&gt;Linux filesystem&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;4. 格式化分区&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PS&lt;/strong&gt;：ext4系统分区格式；（&lt;strong&gt;BIOS&lt;/strong&gt;不用格式化启动分区，&lt;strong&gt;UEF&lt;/strong&gt;需要）&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;启动分区&lt;/strong&gt;：&lt;code&gt;mkfs.fat -F 32 /dev/(启动分区名)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;交换分区&lt;/strong&gt;：&lt;code&gt;mkswap /dev/(交换分区名)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;根，个人分区&lt;/strong&gt;： &lt;code&gt;mkfs -t ext4 /dev/(个人或系统分区名)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PS&lt;/strong&gt;：格式化分区结束，接下来可以输入&lt;strong&gt;lsblk&lt;/strong&gt;查看硬盘分区还在不在。一般格式化完分区以后是没有任何变化的这个不用慌，正常情况。）&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;5. 挂载分区（不挂载会报错）&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;常用命令：
&lt;ul&gt;
&lt;li&gt;挂载命令：&lt;code&gt;mount&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;卸载分区：&lt;code&gt;umount&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;启动交换分区命令：&lt;code&gt;swapon&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;新建文件夹命令：&lt;code&gt;mkdir&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;删除文件夹命令：&lt;code&gt;rm -rf 目录名字&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;挂载交换分区：&lt;code&gt;swapon /dev/(交换分区名)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;挂载根分区: &lt;code&gt;mount /dev/(根分区) /mnt&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;挂载启动分区：&lt;strong&gt;(BIOS不需要挂载)&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;新建文件夹 &lt;code&gt;mkdir /mnt/boot&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;挂载启动分区&lt;code&gt; mount /dev /(启动分区名)/mnt/boot&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;挂载个人分区：
&lt;ul&gt;
&lt;li&gt;新建文件夹 &lt;code&gt;mkdir /mnt/home&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;挂载个人分区 &lt;code&gt;mount /dev/(个人分区) /mnt/home&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;三. 配置Liunx（具体的可以见官方手册）&lt;/h2&gt;
&lt;h4&gt;1.下载Linux内核&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;需要安装的软件包如下：
&lt;ul&gt;
&lt;li&gt;base；&lt;/li&gt;
&lt;li&gt;Linux内核和linux框架固件：&lt;code&gt;linux-firmware&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;英特尔（amd）显卡驱动：&lt;code&gt;intel（amd）-ucode&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;开始安装：&lt;code&gt;pacstrap /mnt base base-devel linux linux-firmware  intel-ucode&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ps&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;pacstrap&lt;/code&gt;为安装包特有的安装工具；&lt;/li&gt;
&lt;li&gt;如果报错请检查是否拼写错误，或者换一个国内的源&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;2. 生成 fstab 文件分区:&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;先生成 fstab 文件分区输入： &lt;code&gt;genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;再用cat命令查看生产的文件是否正确：&lt;code&gt; cat /mnt/etc/fstab&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;3. 设置本地化&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;进入安装文件: &lt;code&gt;arch-chroot /mnt&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;1.设置键盘布局(可选)&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;1.先输入&lt;code&gt;vim /etc/vconsole.conf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;2.再写入：&lt;code&gt;KEYMAP=de-latin1&lt;/code&gt;（键盘布局）&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;2.设置时区：&lt;/h5&gt;
&lt;ol&gt;
&lt;li&gt;输入： &lt;code&gt;ln -sf /usr/share/zoneinfo/Asia(地区名)/Shanghai(城市名) /etc/localtime&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;同步硬件时间：&lt;code&gt;hwclock --systohc&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h5&gt;3.设置语言：&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;输入 &lt;code&gt;vim /etc/locale.gen&lt;/code&gt;；查找&lt;code&gt;#en_US.UIF-8&lt;/code&gt;和&lt;code&gt;#zh_CN.UTF-8&lt;/code&gt;回车；去掉&lt;code&gt;#&lt;/code&gt;批注后保存退出&lt;/li&gt;
&lt;li&gt;输入&lt;code&gt;locale-gen&lt;/code&gt;确认文件是否正常&lt;/li&gt;
&lt;li&gt;3.（新版可选也可以不应用，不用管）&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;用vim创建文件输入&lt;code&gt;vim /etc/locale.conf&lt;/code&gt;；
再设定 LANG 变量写入LANG=en_US.UTF-8；&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;应用语言 &lt;code&gt;export LANG=en_US.UTF-8&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;4.设置计算机名：(默认是archios)&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;用vim命令输入：&lt;code&gt;vim /etc/hostname&lt;/code&gt;，再输入主机名&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;5.配置网络： &lt;code&gt;vim /etc/hosts&lt;/code&gt;&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;输入以下配置：（当中按tab）&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;127.0.0.1   localhost
::1         localhost
127.0.1.1   archios.localdomain archios （主机名.本地域名 主机名）
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;四. 本地化和引导&lt;/h2&gt;
&lt;h4&gt;1. 安装一些常用应用和必要文件&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PS&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;如果报错请检查是否拼写错误&lt;/li&gt;
&lt;li&gt;arch下安装程序的指令&lt;code&gt;pacman -S&lt;/code&gt;；&lt;code&gt;pacman -Sy&lt;/code&gt;为同步;&lt;code&gt;pacman -Syy&lt;/code&gt;更新软件&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pacman -S vim networkmanager xorg sudo efibootmgr&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;文件编辑器&lt;code&gt;vim&lt;/code&gt;或&lt;code&gt;nano&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;网络工具&lt;code&gt;networkmanager&lt;/code&gt;，&lt;code&gt;iwd,dhcpcd&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;引导&lt;code&gt;grub&lt;/code&gt;，&lt;code&gt;sudo&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;编辑启动项工具&lt;code&gt;efibootmgr&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;寻找其他操作系统&lt;code&gt;os-prober&lt;/code&gt;；&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;2. 设置 Root 密码,创建日常用户：&lt;/h4&gt;
&lt;h5&gt;1. 设置 root 密码：&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PS&lt;/strong&gt;： UNIX系统在输入时不会显示密码&lt;/li&gt;
&lt;li&gt;输入&lt;code&gt;passwd&lt;/code&gt;(改密)&lt;/li&gt;
&lt;li&gt;再输入自己要创建的密码，并且再输入一遍确认无误；&lt;/li&gt;
&lt;li&gt;看见&lt;code&gt;passud: password updated success fu lly&lt;/code&gt;显示成功&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;2. 创建日常用户（用户名不能大写）:&lt;/h5&gt;
&lt;ol&gt;
&lt;li&gt;输入&lt;code&gt;useradd -m -G wheel -s /bin/bash (用户名）&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;用passwd创建密码：&lt;code&gt;passwd （用户名）&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;给日常用户提权：
输入 &lt;code&gt;visudo&lt;/code&gt;；寻找&lt;code&gt;%wheel ALL=(ALL)ALL&lt;/code&gt;行去掉#号注释；&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;可以末尾添加Defaults rootpw有问题直询问根用户（预选）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;3. 安装引导&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;安装grub引导：&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;输入&lt;code&gt;uname -m&lt;/code&gt;确认cup架构&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;BIOS+MBR输入这个指令安装引导：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;grub-install /dev/sda&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;grub-install --target=i386-pc /dev/sda&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;见到 &lt;strong&gt;Installation finished. No error reported.&lt;/strong&gt; 表示安装完成&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;UEFI+MBR输入这个指令安装引导:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;grub-install --target=(目标架构)-efi --efi-directory&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;创建一个存放系统引导的文件夹： &lt;code&gt;mkdir /boot/grub (引导文件夹名字)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;在文件夹下生成引导配置：&lt;code&gt; grub-mkconfig -o /boot/grub/grub.cfg&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;4. 重启安装&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;输入&lt;code&gt;exit&lt;/code&gt;或者&lt;code&gt;ctrl+d&lt;/code&gt;退出chroot环境&lt;/li&gt;
&lt;li&gt;手动卸载分区： &lt;code&gt;umount -R /mnt&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;执行 &lt;code&gt;reboot&lt;/code&gt; 重启系统
&lt;ul&gt;
&lt;li&gt;或&lt;code&gt;shutdown now&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;重启后点击 &lt;strong&gt;Boot existing os&lt;/strong&gt; 进入系统&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;五. 推荐官方脚本安装&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;命令行运行官方脚本：&lt;code&gt;archinstall&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;注意&lt;/strong&gt;，有时候可能需要网络环境。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item></channel></rss>