一个基于 TCL/Tk 开发的现代化文本编辑器,具有模块化设计和丰富的功能。
- 支持多文件同时编辑
- 标签页可以自由切换、关闭
- 未保存内容提示
- 智能标签页管理
- 实时显示当前目录结构
- 支持文件夹展开/折叠
- 单击文件直接打开
- 文件类型图标显示(📁 文件夹,📄 文件)
- 内置命令行终端
- 支持基本的命令执行
- 可切换显示/隐藏
- 错误输出捕获和显示
- 新建文件(Ctrl+N)
- 打开文件(Ctrl+O)
- 保存文件(Ctrl+S)
- 另存为(Ctrl+Shift+S)
- 关闭文件(Ctrl+W)
- 撤销/重做
- 剪切/复制/粘贴
- 自动缩进
- 水平/垂直滚动
- 可调节文件树宽度
- 可切换文件树显示
- 可切换终端显示
- 现代化 UI 设计
- 模块化架构
- 接口与实现分离
- 预留语法高亮接口
- 预留 LSP 支持接口
- TCL/Tk 8.6 或更高版本
- 支持 Linux/macOS/Windows 系统
- 确保系统已安装 TCL/Tk 8.6+
- 克隆仓库:
git clone https://github.com/ytfh44/pencium-editor.git- 添加执行权限:
chmod +x main.tcl直接运行主程序:
./main.tcl或使用 wish 解释器:
wish main.tclCtrl+N: 新建文件Ctrl+O: 打开文件Ctrl+S: 保存文件Ctrl+Shift+S: 另存为Ctrl+W: 关闭当前标签页
.
├── interfaces/ # 接口定义
│ ├── editor.tcl # 编辑器接口
│ ├── treeview.tcl # 文件树接口
│ ├── highlighter.tcl # 语法高亮接口
│ └── lsp.tcl # LSP 支持接口
├── impl/ # 接口实现
│ ├── editor_impl.tcl
│ ├── treeview_impl.tcl
│ ├── highlighter_impl.tcl
│ └── lsp_impl.tcl
├── main.tcl # 主程序
└── README.md # 项目文档
- 实现语法高亮功能
- 添加 LSP 支持
- 支持主题切换
- 添加插件系统
- 支持更多编码格式
- Fork 本仓库
- 创建特性分支
- 提交更改
- 发起 Pull Request
本项目采用 BSD 0-Clause License(BSD-0-Clause)。这是一个极其宽松的许可证,允许任何人自由使用、修改和分发本软件,无需保留版权声明。
完整许可证文本请参见 LICENSE 文件。