#editor #user #command #ewin #file #remember #key

ewin-com

简单编辑器,适用于 Window(GUI) 用户。无需记住命令

2 个版本

0.0.2 2021年10月16日
0.0.1 2021年10月16日

#1503 in 文本处理


3 crate 中使用

MIT 许可证

150KB
3.5K SLoC

ewin

简单编辑器,适用于 Window(GUI) 用户。

无需记住命令

请勿使用它,因为它目前正在开发中。

作为最小化文本编辑器提供基本功能

  • 打开/保存文本文件
  • 创建新的文本文件和在内存中的空文本缓冲区
  • 编辑文本(插入/删除字符、插入/删除行等)
  • 支持编辑 UTF-8 字符
  • 支持调整终端窗口大小。屏幕大小负责
  • 支持键绑定
  • 支持鼠标
  • 支持在 JavaScript 中使用宏
  • 支持上下文菜单
  • 支持制表符
  • 支持 Grep(利用 ripgrep 的内部实现)
  • 支持框选・插入
  • 在保存时检测文件的其他进程的变化
  • 在 WSL 中使用时,可以与 Windows 剪贴板链接。
  • 文件更改监控。
  • 颜色主题(光标颜色不在此范围内)
  • 输入完成(单词完成)
  • 特定字符的符号显示(制表符、全角空格等)
  • 窗口拆分
  • 文件属性参考
  • 侧边栏 FileTreeView

Rust crate-name at crates.io

示例图像

  • grep
  1. 输入 Ctrl + g
  2. 输入搜索字符、搜索文件夹、文件模式。
  3. 显示 grep 结果屏幕。
  4. 在 grep 结果屏幕的第 3 行按 Enter 键,在新标签页中打开目标文件。光标移动到搜索结果中的字符。 grep
  • 以下为其他示例图像

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 软件包,并通过以下方式安装:

用法

CLI

请参阅 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 + cvx 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 上

%USERPROFILE%\AppData\Roaming\ewin\keybind.json5

初始键绑定

初始键绑定设置如下。

初始键绑定

维护

操作/意外错误日志输出如下。

在Linux上

/tmp/ewin/

在 Windows 上

%USERPROFILE%AppData\Local\Temp\ewin\

通过Tera Term使用时的设置

通过Tera Term使用时的设置如下。

通过Tera Term使用

JavaScript宏的公共函数

以下是一个已发布JavaScript函数的列表。使用内置的v8引擎和rusty_v8。

宏的公共函数

未来工作

  • 通过WASM扩展
  • 自动保存文件

许可协议

本项目采用MIT许可协议进行分发。

依赖项

~18–30MB
~482K SLoC