#editor #key #command #user #key-bindings #ewin #file

ewin-editor

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

2个版本

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

305个文本编辑器中排名

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

MIT许可协议

295KB
6.5K SLoC

ewin

适用于Windows(GUI)用户的简单编辑器。

无需记住命令

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

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

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

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许可分发。

依赖项

~21–32MB
~525K SLoC