Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
sublime如何集成终端命令行 sublime内置终端的使用与配置_创想鸟

sublime如何集成终端命令行 sublime内置终端的使用与配置

sublime text没有原生内置终端,但可通过安装terminus插件实现强大的终端功能。1. 安装terminus:确保已安装package control,通过ctrl+shift+p打开命令面板,选择install package,搜索并安装terminus。2. 使用方式:通过命令面板执行terminus: toggle panel打开底部终端面板,或使用terminus: open new tab在独立标签页中运行;可自定义快捷键如{ “keys”: [“ctrl+`”], “command”: “toggle_terminus_panel” }。3. 核心配置:在terminus.sublime-settings中设置”shell”指定命令行(如cmd.exe、powershell.exe、/bin/zsh等),”cwd”: true使终端以当前文件所在项目根目录启动,”env”添加环境变量(如pythonpath、node_env),还可调整font_size、theme、panel_size等外观与行为参数。4. 高级用法:为特定项目配置虚拟环境激活,例如在profiles中定义启动时自动source venv/bin/activate的命令;支持wsl、多shell切换和自定义字体主题。5. 替代方案:sublimerepl适用于语言级repl交互(如python、node.js),但不支持系统命令;外部终端(如windows terminal、iterm2)配合分屏和快捷键提供更稳定完整的体验;sublime build system可用于非交互式任务如编译或运行脚本。综上,sublime text虽无原生终端,但通过插件和外部工具组合,可灵活满足各类开发需求,其设计哲学强调轻量核心与可扩展性,用户可根据实际场景选择最优方案。

sublime如何集成终端命令行 sublime内置终端的使用与配置

Sublime Text本身并没有内置一个像VS Code那样功能完备的集成终端。它的设计哲学更偏向于一个快速、轻量级的文本编辑器,而非一个全功能的IDE。不过,这不代表你无法在Sublime里获得一个命令行环境。通过安装社区开发的插件,特别是

Terminus

,可以非常有效地在Sublime内部实现一个高度可配置的终端体验,让你在不切换窗口的情况下执行命令、运行脚本,极大提升工作流的连贯性。

解决方案

要在Sublime Text中集成并使用终端,最推荐且功能最强大的方案是安装

Terminus

插件。

安装步骤:

确保你已经安装了Package Control。如果没有,可以在Sublime Text中打开控制台(

Ctrl+`` 或

View > Show Console`),然后粘贴Package Control官网提供的Python代码执行安装。打开Package Control(

Ctrl+Shift+P

Cmd+Shift+P

),输入

Install Package

并回车。在弹出的列表中输入

Terminus

,选中它并回车,等待安装完成。

基本使用:

安装完成后,你可以通过以下方式打开Terminus终端:

通过命令面板:

Ctrl+Shift+P

Cmd+Shift+P

,输入

Terminus: Toggle Panel

并回车。这会在Sublime窗口底部打开一个终端面板。通过快捷键: 默认可能没有直接的快捷键。你可以自定义一个。例如,打开

Preferences > Key Bindings

,在右侧的用户设置中添加:

{ "keys": ["ctrl+`"], "command": "toggle_terminus_panel" }

这样你就可以通过`Ctrl+“(或你设置的其他键)快速切换终端的显示与隐藏。

在新标签页中打开: 如果你想要一个独立的终端标签页,而不是底部的面板,可以通过命令面板选择

Terminus: Open New Tab

核心配置(

Terminus.sublime-settings

):

Terminus的强大之处在于其高度可定制性。你可以通过

Preferences > Package Settings > Terminus > Settings

来打开其配置文件。以下是一些常用的配置项:

shell

: 指定终端使用的shell路径。这是最重要的配置之一。Windows:

"shell": "cmd.exe"

"shell": "powershell.exe"

。如果你安装了WSL (Windows Subsystem for Linux),也可以指向

"C:WindowsSystem32wsl.exe"

来使用Linux shell。macOS/Linux:

"shell": "/bin/bash"

"shell": "/bin/zsh"

(如果你使用Zsh)。

cwd

: 定义终端启动时的工作目录。

"cwd": true

: 终端会以当前活动文件所在的目录作为工作目录(如果文件在项目内,则为项目根目录)。这是最常用的设置。

"cwd": "C:my_project"

"/Users/me/my_project"

: 指定一个固定的目录。

env

: 设置终端的环境变量。这对于需要特定环境变量的项目非常有用。

"env": {    "PYTHONPATH": "/path/to/my/python/libs",    "MY_API_KEY": "your_key_here"}
font_size

: 调整终端字体大小。

theme

: 更改终端的配色主题,可以设置为

"terminus_dark"

"terminus_light"

等,或者使用Sublime Text当前的主题。

panel_size

: 控制底部面板的高度。

通过调整这些设置,你可以让Terminus完美适配你的开发习惯和项目需求。

为什么Sublime Text没有原生内置终端?

这其实是Sublime Text设计哲学的一个体现,也是它与像VS Code这类IDE型编辑器之间的一个核心差异。Sublime从一开始就定位于一个极致轻量、启动飞快、专注于文本编辑的工具。它的核心优势在于速度和简洁。

要集成一个功能完备的终端,意味着需要处理进程管理、I/O重定向、ANSI颜色解析、字体渲染、以及各种平台兼容性问题。这些工作量不小,而且会增加编辑器的体积和复杂性,可能会牺牲它引以为傲的启动速度和响应性。Sublime的开发者可能认为,这些功能最好通过插件来提供,让用户根据自己的需求选择安装,而不是强制捆绑,从而保持核心产品的纯粹性。

所以,Sublime没有原生内置终端,并非技术上做不到,而是它在“做什么”和“不做什么”之间做了一个权衡。它选择把精力放在提升文本编辑体验上,而将终端这类扩展功能交给社区,通过插件生态来弥补。这使得它在某些场景下不如VS Code“开箱即用”,但在另一些场景下,比如只需要快速打开文件、进行文本操作时,Sublime的体验依然是无与伦比的。

如何配置Terminus以满足不同开发环境需求?

Terminus的配置灵活性是其最大的卖点之一,它能让你为不同的开发场景定制专属的终端行为。

1. 针对特定项目设置工作目录(

cwd

):

如果你经常在一个固定的项目目录下工作,或者希望终端总是在你当前打开的文件所属的项目根目录启动,

cwd

参数就非常关键。

项目根目录自动检测: 这是最常用的设置。在

Terminus.sublime-settings

中将

"cwd": true

。当你在Sublime中打开一个项目文件夹时,Terminus会自动识别项目根目录并在此启动。如果你打开的是一个独立文件,它会以该文件所在的目录作为

cwd

固定工作目录: 如果你有一个特定的开发目录,不随项目变化,可以这样设置:

"shell": "cmd.exe", // 或 /bin/bash"cwd": "D:DevProjectsMyAwesomeApp" // Windows 示例// "cwd": "/home/user/dev/project_x" // Linux/macOS 示例

2. 切换Shell环境:

根据你的操作系统和开发习惯,你可能需要不同的Shell。

Windows用户:CMD:

"shell": "cmd.exe"

PowerShell:

"shell": "powershell.exe"

WSL (Windows Subsystem for Linux):

"shell": "C:WindowsSystem32wsl.exe"

。这会直接启动你的默认WSL发行版(如Ubuntu)的bash或zsh。macOS/Linux用户:Bash:

"shell": "/bin/bash"

Zsh:

"shell": "/bin/zsh"

(如果你使用Oh My Zsh等)Fish Shell:

"shell": "/usr/local/bin/fish"

(如果已安装)

3. 设置环境变量(

env

):

某些项目或工具需要特定的环境变量才能正常工作,比如Python的

PYTHONPATH

、Node.js的

NODE_ENV

,或者某些API密钥。你可以在

env

对象中定义它们:

"env": {    "NODE_ENV": "development",    "PYTHONPATH": "/Users/yourname/dev/my_project/src",    "MY_DEBUG_FLAG": "1"},"shell": "/bin/zsh","cwd": true

这些环境变量只对Terminus启动的会话有效,不会影响系统全局。

4. 自定义终端外观和行为:

字体和大小:

"font_size": 12

,

"font_face": "Fira Code"

(如果你安装了等宽字体)。主题:

"theme": "terminus_dark"

"theme": "terminus_light"

,你也可以设置为

"adaptive"

,让它跟随Sublime Text的主题。光标样式:

"cursor_style": "block"

(块状),

"underline"

(下划线),

"beam"

(竖线)。历史记录:

"scrollback_limit": 10000

(保存更多历史行)。

示例:为Python项目配置Terminus

假设你有一个Python项目,并且希望终端启动时自动激活一个虚拟环境:

// Preferences > Package Settings > Terminus > Settings{    "shell": "/bin/bash", // 或者你的zsh路径    "cwd": true, // 终端在项目根目录启动    "env": {}, // 可以在这里添加额外的环境变量    "profiles": [        {            "name": "Python Venv",            "cmd": ["/bin/bash", "-l", "-c", "source venv/bin/activate && bash"], // macOS/Linux            // "cmd": ["cmd.exe", "/k", "call .venvScriptsactivate.bat"], // Windows            "env": {},            "cwd": true        }    ]}

然后,你可以通过

Ctrl+Shift+P

->

Terminus: Open New Tab (Profile)

->

Python Venv

来启动这个预配置的终端。这能让你在进入项目时,直接获得一个已经激活了虚拟环境的终端,省去了手动激活的步骤。

除了Terminus,还有哪些替代方案或工作流优化?

尽管Terminus是Sublime Text集成终端的首选,但它并非唯一的选择,而且对于某些特定的工作流,其他方法可能更适合。

1. SublimeREPL:

用途: SublimeREPL是一个针对特定编程语言的交互式解释器插件。它不是一个通用命令行终端,而是让你能在Sublime Text内部运行像Python、Node.js、Ruby、Haskell等语言的REPL(Read-Eval-Print Loop)。优点: 适合进行代码片段测试、快速调试、或学习语言特性。它能直接将你Sublime中的代码发送到REPL中执行。缺点: 不能执行系统命令、文件操作等通用终端任务。安装和使用: 通过Package Control安装

SublimeREPL

。然后通过

Tools > SublimeREPL

菜单选择你想要启动的语言REPL。

2. 使用外部终端:

优点: 这是最简单、最稳定,也是许多资深开发者偏爱的方式。功能完整性: 外部终端(如Windows Terminal, iTerm2, Alacritty, GNOME Terminal)拥有Sublime插件无法比拟的完整功能,包括更强大的多标签/分屏管理、历史记录、自定义主题、快捷键、以及与操作系统更深度的集成。性能: 终端操作不会占用Sublime Text的资源,确保编辑器始终保持流畅。独立性: 终端崩溃或出现问题,不会影响Sublime Text的稳定性。工作流优化:分屏显示: 将Sublime Text放在一个显示器或屏幕的一半,将外部终端放在另一半。快速切换: 使用操作系统的快捷键(如

Alt+Tab

Cmd+Tab

)在Sublime Text和终端之间快速切换。集成启动: 你可以配置Sublime Text的项目文件(

.sublime-project

),在其中定义一个

build_system

,通过快捷键直接在外部终端中打开当前项目目录。例如:

// YourProject.sublime-project{    "folders": [        {            "path": "."        }    ],    "build_systems": [        {            "name": "Open Terminal Here",            "cmd": ["start", "cmd.exe", "/k", "cd", "$file_path"], // Windows            // "cmd": ["open", "-a", "iTerm", "$project_path"], // macOS (需要iTerm2)            // "cmd": ["gnome-terminal", "--working-directory=$project_path"], // Linux (GNOME)            "shell": true        }    ]}

然后通过

Tools > Build System > Open Terminal Here

或快捷键(默认

Ctrl+B

)来启动。

3. Sublime Text的Build System:

用途: 虽然不是一个交互式终端,但Sublime的内置

Build System

功能允许你定义和运行外部命令或脚本,并将输出显示在Sublime的输出面板中。优点: 适合编译代码、运行测试、执行Lint检查等非交互式任务。配置: 通过

Tools > Build System > New Build System...

创建。

{    "cmd": ["python", "$file"], // 运行当前Python文件    "selector": "source.python"}

当你按下

Ctrl+B

时,它就会执行这个命令。

选择哪种方案,很大程度上取决于你的个人习惯和项目需求。对于需要频繁进行交互式操作、调试、或者需要完整终端功能的场景,Terminus或独立的外部终端会是更好的选择。而对于简单的脚本执行或编译任务,Sublime内置的Build System则足够高效。

以上就是sublime如何集成终端命令行 sublime内置终端的使用与配置的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/102967.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
电脑重装系统后经常无故黑屏怎么办?黑屏解决方法
上一篇 2025年11月21日 11:50:52
当书网防迷路备用域名_downbook官网登录新入口
下一篇 2025年11月21日 11:52:54

相关推荐

  • 长佩阅读如何自定义封面

    在长佩阅读中,设置自定义封面可以让你的书架更具个人风格。以下是具体操作步骤: 一、确认书籍是否支持自定义封面 并非所有书籍都开放自定义封面功能,你需要先进入书籍详情页查看是否存在“自定义封面”这一选项。若该按钮存在,则说明这本书允许用户更换封面。 二、准备合适的封面图片 选择一张你喜欢的图片作为新封…

    2026年9月21日
    000
  • MAC游戏模式怎么开启和使用_MAC游戏模式开启与使用方法

    首先需明确macOS无官方游戏模式,但可通过系统设置或第三方工具优化性能。1、检查“系统设置”中“电池”选项是否支持“高性能模式”并启用;2、下载安装如GameMode for macOS等工具,启动前开启以优化资源分配;3、手动关闭后台进程、通知及屏幕休眠,连接电源确保性能全开,从而提升游戏流畅度…

    2026年9月21日
    000
  • MySQL热点数据缓存策略_MySQL减少磁盘访问提升性能

    MySQL热点数据缓存策略_MySQL减少磁盘访问提升性能MySQL热点数据缓存策略_MySQL减少磁盘访问提升性能MySQL热点数据缓存策略_MySQL减少磁盘访问提升性能MySQL热点数据缓存策略_MySQL减少磁盘访问提升性能

    mysql热点数据缓存的核心在于将频繁访问的数据保留在内存中以减少磁盘i/o,提升查询速度并缓解数据库压力。1. innodb缓冲池是关键机制,需合理配置其大小(通常为服务器内存的70-80%)及实例数以优化性能;2. 应用层缓存如redis/memcached通过前置缓存逻辑减少对mysql的直接…

    2026年9月21日 用户投稿
    000
  • UC浏览器下载时中断了怎么续传_UC浏览器下载任务续传方法

    UC浏览器下载中断后可尝试恢复:首先检查下载管理中暂停或失败的任务并继续;若无效,手动开启断点续传功能重新添加链接;仍无法恢复时,可用ADM等第三方工具接管任务;最后清理UCDownloads目录下的临时文件后重新下载。 如果您在使用UC浏览器下载文件时遇到下载中断的情况,可能是由于网络不稳定或应用…

    2026年9月21日
    100
  • VSCode怎么更改解码方式_VSCode文件编码修改教程

    VSCode通过设置文件编码解决乱码问题,可手动选择“以不同编码重新打开”或“使用编码保存”,推荐统一使用UTF-8编码并启用files.autoGuessEncoding自动检测,避免编码错误。 VSCode更改解码方式主要通过设置文件编码来实现,以便正确显示文件内容。通常情况下,VSCode会自…

    2026年9月21日
    800
  • 如何在Krita导出AI生成的8K艺术图片?保存超高清图像方法

    答案是优先选择PNG格式导出8K AI艺术作品,确保画布为8K分辨率,嵌入sRGB色彩配置文件,并优化系统内存与硬盘性能以提升Krita处理效率。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 在Krita中导出AI生成的8K艺术图片,核心…

    2026年9月21日
    100
  • CorelDRAW X6怎样为矢量图形填充纹理图案_CorelDRAW X6图样填充功能使用教程

    使用交互式填充工具可快速为矢量图形添加预设纹理,如石墙、织物等,并通过控制点调整位置、缩放及颜色参数;2. 通过图样填充功能可自定义双色或全彩图案,选择砖墙、木纹等样式并调节比例贴合设计;3. 叠加黑色矩形并设置透明度与混合模式,可增强纹理的层次感和立体效果。 在CorelDRAW X6中为矢量图形…

    2026年9月21日
    000
  • 《如龙 极3》与峰义孝为主角《如龙3外传》等新情报发表

    《如龙 极3》与峰义孝为主角《如龙3外传》等新情报发表《如龙 极3》与峰义孝为主角《如龙3外传》等新情报发表《如龙 极3》与峰义孝为主角《如龙3外传》等新情报发表《如龙 极3》与峰义孝为主角《如龙3外传》等新情报发表

    世嘉公开《如龙极3/如龙3外传  dark ties》官方中文版预告宣传片,将于2026年2月12日发售 ​​​​,登陆ps5/ps4/switch2/xbox/pc平台,全球同步推出。 ​​​ 在2009年于PS3平台发售的《如龙3》焕然重生,为您打造“极致体验”。鲜活真实的冲绳街景、震撼力升级的…

    2026年9月21日 用户投稿
    000
  • win10剪贴板历史记录打不开怎么办_win10剪贴板历史问题解决方法

    首先检查并开启剪贴板历史记录功能,依次进入设置-系统-剪贴板,启用“剪贴板历史记录”;若无效,通过任务管理器重启Windows资源管理器;接着在服务中确认“Clipboard User Service”已启动且设为自动;然后以管理员身份运行CMD执行echo off | clip清空缓存并重启电脑;…

    2026年9月21日
    100
  • safari浏览器怎么把标签页固定在最左边_safari浏览器标签页固定最左设置

    Safari可通过“固定标签”功能将常用网页保持在标签栏最左并随启动恢复;2. 手动拖动标签至最左可临时调整顺序但不永久保存;3. 结合书签栏添加常用网站并固定标签,可提升访问效率。 如果您希望在使用 Safari 浏览器时将常用网页始终保持在标签栏的最左侧位置,以便快速访问,可以通过以下方法实现标…

    2026年9月21日
    000
  • 如何用Animoto制作AI营销视频?快速生成商业AI视频的教程

    如何用Animoto制作AI营销视频?快速生成商业AI视频的教程如何用Animoto制作AI营销视频?快速生成商业AI视频的教程如何用Animoto制作AI营销视频?快速生成商业AI视频的教程如何用Animoto制作AI营销视频?快速生成商业AI视频的教程

    Animoto通过模板与拖放功能,结合AI生成的文案和配音,帮助用户快速制作品牌统一、节奏合理、带明确CTA的高效营销视频,适用于多平台推广。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ Animoto是一个非常适合快速制作AI营销视频的…

    2026年9月21日 用户投稿
    000
  • 使用本地HTML文件运行JavaScript脚本失败的原因及解决方案

    本文旨在帮助开发者理解在没有Web服务器的情况下,直接通过浏览器打开本地HTML文件时,JavaScript脚本可能无法正常运行的原因,并提供相应的解决方案。文章将深入探讨浏览器安全策略、相对路径问题以及如何正确引入和执行JavaScript脚本,确保你的HTML、CSS和JavaScript代码能…

    2026年9月21日
    000
  • mac怎么使用磁盘工具_mac磁盘工具使用教程

    使用磁盘工具可解决Mac外接存储问题。1. 打开磁盘工具,选择设备后点击“急救”扫描修复错误;2. 通过“抹掉”功能将设备格式化为APFS或Mac OS扩展以提升兼容性;3. 利用“分区”功能划分硬盘为多个宗卷,便于数据管理;4. 创建空白磁盘映像用于备份,或恢复.dmg文件至U盘制作启动盘。 如果…

    2026年9月21日
    100
  • VSCode怎么看效果_VSCode实时预览和调试代码运行效果教程

    VSCode通过实时预览扩展和内置调试器实现代码效果查看。使用Live Server可实时预览前端页面,保存即刷新;Markdown文件支持侧边预览。调试功能需配置launch.json,支持Node.js、Python、浏览器端JavaScript等,通过断点、变量监视、调用堆栈等深入分析代码执行…

    2026年9月21日
    000
  • 抖音青少年模式时间限制?青少年模式40分钟后多久介绍

    短视频平台在青少年群体中日益受到欢迎。作为国内领先的短视频平台,抖音为了保护青少年的身心健康,推出了青少年模式。本文将围绕青少年模式的时间限制展开探讨,分析其对青少年健康成长的意义,并思考如何打造一个绿色的网络环境。 一、抖音青少年模式时间限制的价值 1. 防止沉迷于短视频 通过设置使用时长限制,抖…

    2026年9月21日
    200
  • MySQL常见错误码代表什么_如何快速定位问题?

    MySQL常见错误码代表什么_如何快速定位问题?MySQL常见错误码代表什么_如何快速定位问题?MySQL常见错误码代表什么_如何快速定位问题?MySQL常见错误码代表什么_如何快速定位问题?

    遇到mysql错误码应先明确错误类型再逐步排查。error 1045表示用户名、密码或访问权限问题,需检查拼写、ip限制和远程访问权限;error 2003表示连接失败,需依次检查服务器状态、mysql服务运行情况、防火墙设置及bind-address配置;error 1054表示sql语句中引用了…

    2026年9月21日 用户投稿
    100
  • AI钉钉1.0联动雅里数科 共探“酒旅+AI”的工作新范式

    在数字化浪潮席卷全球的当下,人工智能正以前所未有的速度重塑各行各业,酒旅产业也正在迎来由ai驱动的深刻变革。10月11日,阿里巴巴钉钉再度走进雅里数科集团,开启一场关于“酒旅行业ai原生工作方式”的深度对话。此次交流标志着双方合作迈入全新阶段,致力于共同探索ai原生工作范式,引领酒旅行业迈向智能化发…

    2026年9月21日
    100
  • 如何检测Linux网络接口DMA状态 硬件加速功能验证

    如何检测Linux网络接口DMA状态 硬件加速功能验证如何检测Linux网络接口DMA状态 硬件加速功能验证如何检测Linux网络接口DMA状态 硬件加速功能验证如何检测Linux网络接口DMA状态 硬件加速功能验证

    可通过以下方法检测linux系统中网络接口dma状态和硬件加速是否启用:1.使用 ethtool -i eth0 和 ethtool -k eth0 查看驱动信息及sg、tso、ufo、gso功能是否启用;2.通过 cat /proc/interrupts 和 cat /proc/slabinfo …

    2026年9月21日 用户投稿
    800
  • win11系统占用C盘空间过大怎么办_Win11清理C盘空间方法

    首先使用磁盘清理工具删除系统文件,包括旧更新和临时安装文件;接着启用存储感知功能自动定期清理临时文件与回收站;然后手动清除用户临时文件夹(%temp%)中的缓存数据;最后更改新应用和个人文件的默认保存位置至非C盘分区,以释放并节省C盘空间。 如果您发现Windows 11系统文件占用了C盘大量空间,…

    2026年9月21日
    100
  • 如何从被调用类中获取调用者文件的命名空间

    本文探讨了在PHP中,如何在不通过参数传递的情况下,从一个被调用的工具类中获取到调用该方法的文件的命名空间。通过结合使用`debug_backtrace()`回溯调用栈以定位调用者文件,并利用`token_get_all()`解析文件内容来提取命名空间声明,提供了一种实用的解决方案。文章详细介绍了实…

    2026年9月21日
    000

发表回复

登录后才能评论
关注微信