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

ewin-prom

为 Window(GUI) 用户设计的简单编辑器。无需记住命令

2 个版本

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

#1008硬件支持

26 每月下载次数
2 crate 中使用

MIT 许可证

265KB
6K SLoC

ewin

为 Window(GUI) 用户设计的简单编辑器。

无需记住命令

请勿使用,因为它目前处于开发中。

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

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

Rust crate-name at crates.io

示例图像

  • grep
  1. 输入 Ctrl + g
  2. 输入搜索字符,搜索文件夹,文件模式。
  3. 显示 grep 结果屏幕。
  4. 在 grep 结果屏幕的第三行按 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 包,并通过以下方式安装:

使用方法

命令行界面

有关命令使用方法,请参阅 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 键绑定。命令 "copy" 和 "paste" 需要更改为 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–31MB
~484K SLoC