2 个版本
| 0.0.2 | 2021年10月16日 | 
|---|---|
| 0.0.1 | 2021年10月10日 | 
在 Rust 模式 中排名 1955
每月下载量 22
在 ewin 中使用
585KB
 12K  SLoC
ewin
简单编辑器,适用于 Windows(GUI) 用户。
无需记住命令
请勿使用,因为它目前正在开发中。
它作为最小文本编辑器提供基本功能
- 打开/保存文本文件
- 创建新的文本文件和在内存中的空文本缓冲区
- 编辑文本(插入/删除字符、插入/删除行等)
- 支持编辑 UTF-8 字符
- 支持调整终端窗口大小。屏幕尺寸负责
- 支持键绑定
- 支持鼠标
- 支持在 JavaScript 中使用宏
- 支持上下文菜单
- 支持标签页
- 支持 Grep (利用 ripgrep 的内部实现)
- 支持框选・插入
- 在保存时检测文件的另一个进程
- 在 WSL 中使用时,可以与 Windows 剪贴板链接。
- 文件更改监控。
- 支持颜色主题(光标颜色不在范围内)
- 支持输入完成(单词完成)
- 显示特定字符的符号(制表符、全角空格等)
- 支持窗口分割
- 文件属性参考
- 侧边栏文件树视图
示例图片
- grep
- 输入 Ctrl + g
- 输入搜索字符、搜索文件夹、文件模式。
- 显示 grep 结果的屏幕。
- 在 grep 结果屏幕的第三行按 Enter 键,在新标签页中打开目标文件。光标移动到搜索结果中的字符。  
- 以下为其他示例图片
https://github.com/thinkingreed/ewin/wiki/Sample-image
安装
在 Ubuntu 上
... 以及其他基于 Debian 的 Linux 发行版
从 发布页面 下载最新的 .deb 包并使用以下命令安装:
在 CentOS 上
从 发布页面 下载最新的 .rpm 包并使用以下命令安装:
rpm -ivh ewin_0.0.0.x86_64.rpm
在 Windows 上
从 发布页面 下载最新的 .exe 包并使用以下命令安装:
用法
命令行界面
请参阅 ewin --help 了解命令用法。
文件编辑
安装软件包会在您的系统中引入 ew 命令。
$ ew [file]         # Open files to edit
输出配置文件
配置文件输出。
$ ew -o, --output-config
配置文件的输出位置如下。
在 Linux 上
$HOME/.config/ewin/
在 Windows 上
%USERPROFILE%\AppData\Roaming\ewin\
操作
ewin 是一种无模式的文本编辑器。像 Nano、Emacs 这样的其他著名无模式文本编辑器一样,您可以使用键盘在终端窗口中编辑文本。并且将几个带有 Ctrl 或 Alt 修饰符的键映射到各种功能。
- 操作
| 映射 | 移动 | 键记录 | 
|---|---|---|
| Ctrl+w | 退出。 | — | 
| Ctrl+s | 将当前缓冲区保存到文件。 | — | 
| F1 | 屏幕底部显示键绑定。 | — | 
| Ctrl+f | 输入字符进行增量搜索。搜索目标是打开的文件。 | — | 
| Ctrl+g | grep。输入您要搜索的字符。搜索目标是输入文件模式的 UTF-8 文件。 | — | 
| Linux・WSL | — | |
| 使用命令:grep -rHnI search_str --include=search_filenm search_folder | ||
| -r:子目录搜索,-H:显示文件名,-n:显示行号,-I:二进制文件不适用 | ||
| Windows | — | |
| 使用命令:dir -recurse search_folder -Exclude Binary file... | Select-String search_str | ||
| Shift+F1 | 开始或停止键记录。记录键操作。 | — | 
| Shift+F2 | 执行记录的键。 | — | 
| Ctrl+o | 打开新文件。 | — | 
| Ctrl+n | 创建新标签。另一种操作是双击标题。 | — | 
| 在 Windows 中,除非您缓慢双击,否则将不会识别 | ||
| Alt+←・→ | 切换标签。 | — | 
| Ctrl+e | 指定字符码并重新加载。或者设置字符码换行码和BOM。 | — | 
| F12 | 鼠标捕获更改。用于通过终端应用程序访问剪贴板 | — | 
| 连接到远程终端时 | — | |
| F10 | 显示上下文菜单。 | — | 
| Ctrl+space | 输入完成 | — | 
- 移动光标
| 映射 | 移动 | 键记录 | 
|---|---|---|
| ↑或Mouse ScrollUp | 向上移动光标。 | 目标 | 
| ↓或Mouse ScrollDown | 向下移动光标。 | 目标 | 
| → | 向右移动光标。 | 目标 | 
| ← | 向左移动光标。 | 目标 | 
| HOME | 将光标移至行首。 | 目标 | 
| END | 将光标移至行尾。 | 目标 | 
| PAGE DOWN | 下一页。 | 目标 | 
| PAGE UP | 上一页。 | 目标 | 
| Ctrl+HOME | 将光标移至行首。 | 目标 | 
| Ctrl+END | 将光标移至行尾。 | 目标 | 
| Ctrl+l | 将光标移至指定行。 | — | 
- 编辑文本
映射 移动 键记录 Enter插入新行 目标 BACKSPACE删除字符 目标 DELETE删除下一个字符 目标 Tab插入新制表符 目标 Ctrl+x选择范围剪切。 目标 Ctrl+c选择范围复制。如果您在远程操作时想要复制到剪贴板,请使用 F12 切换鼠标操作。 目标 Ctrl+v粘贴复制的字符。 目标 Ctrl+r替换字符。 — Ctrl+z撤销。撤销最后的编辑。 — Ctrl+y重做。再次执行最后的更新。 — 
- 选择文本
| 映射 | 移动 | 键记录 | 
|---|---|---|
| Shift+↑ | 从当前行的开头选择到上一行的末尾。 | 目标 | 
| Shift+↓ | 从当前行的末尾选择到下一行的开头。 | 目标 | 
| Shift+→ | 选择下一个字符。 | 目标 | 
| Shift+← | 选择上一个字符。 | 目标 | 
| Shift+HOME | 选择行首。 | 目标 | 
| Shift+END | 选择行尾。 | 目标 | 
| Ctrl+a | 选择所有。 | 目标 | 
| F3 | 搜索下面的字符。 | 目标 | 
| Shift+F3 | 在Windows下搜索下面的上面字符。 | 目标 | 
| Shift+F4 | 在Unix系列下搜索下面的上面字符(注意:在Unix系列的Crossterm中Shift+F3无法读取)。 | 目标 | 
| 鼠标左键.按下+拖动 | 选择一个范围。 | — | 
| 鼠标双击 | 选择一个范围。分隔符是`` ! "#$%&*()+-',./:;<=>?@[]^`{ | }~ `` | 
| 鼠标三击 | 选择一行。 | — | 
| Shift+F6 | 矩形选择模式开始或停止。 | — | 
| Alt+↑ | 矩形选择从当前行的开头到上一行的末尾。 | 目标 | 
| Alt+↓ | 矩形选择从当前行的末尾到下一行的开头。 | 目标 | 
| Alt+→ | 矩形选择下一个字符。 | 目标 | 
| Alt+← | 矩形选择上一个字符。 | 目标 | 
| Alt+HOME | 矩形选择行首。 | 目标 | 
| Alt+END | 矩形选择行尾。 | 目标 | 
操作限制
| 运动 | 映射 | 环境 | 内容 | 
|---|---|---|---|
| 复制・粘贴・剪切 | Ctrl+c・v・x | WSL | ・如果你想要复制到剪贴板,你需要powershell.exe的路径。在PowerShell终端中尝试$ PSHOME | 
| ・对字符串长度有限制。 | |||
| 键记录 | Ctrl+F1 | WSL | 快捷键绑定。命令"复制"和"粘贴"需要更改为Ctrl+c, Ctrl+v之外的内容。例如:Ctrl+Shift+c, Ctrl+Shift+v | 
设置文件
当执行输出配置文件命令时,设置配置文件将输出到以下位置,以便编辑。
在 Linux 上
$HOME/.config/ewin/setting.toml
在 Windows 上
%USERPROFILE%\AppData\Roaming\ewin\setting.toml
初始设置
初始设置如下。
键盘绑定
当执行输出配置文件命令时,键盘绑定配置文件将输出到以下位置,以便编辑。
在 Linux 上
$HOME/.config/ewin/keybind.json5
在 Windows 上
用户配置文件目录\ewin\keybind.json5
初始按键绑定
初始按键绑定设置如下。
维护
操作/意外错误日志输出如下。
在 Linux 上
/tmp/ewin/
在 Windows 上
%USERPROFILE%\AppData\Local\Temp\ewin\
通过Tera Term使用时的设置
通过Tera Term使用时的设置如下。
JavaScript宏的公共函数
以下是一个已发布的JavaScript函数列表。使用内置的v8引擎和rusty_v8。
未来工作
- 通过WASM扩展
- 自动保存文件
许可证
本项目遵循MIT许可证分发。
依赖项
~80MB
~1.5M SLoC