#text #editor #cli #tui #terminal

应用 ewin

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

2 个版本

0.0.2 2021年10月14日
0.0.1 2021年10月10日

#394文本编辑器

MIT 许可证

22MB
13K SLoC

ewin

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

无需记住命令

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

  • 打开/保存文本文件
  • 创建新的文本文件和在内存中的空文本缓冲区
  • 编辑文本(插入/删除字符,插入/删除行,...)
  • 支持编辑 UTF-8 字符
  • 支持调整终端窗口大小。屏幕大小负责
  • 支持按键绑定
  • 支持鼠标操作
  • 支持在 JavaScript 中使用宏
  • 支持上下文菜单
  • 支持制表符
  • 支持框选・插入

Rust

安装

在 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

配置文件输出

配置文件输出。

$ ewin -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 显示上下文菜单。
  • 移动光标
映射 移动 键记录
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 + F4 在下方搜索上方字符。 目标
Mouse Left.Down + Drag 选择范围。
鼠标双击 选择范围。分隔符是 `` ! "#$%&()*+-',./:;<=>?@[]^`{ }~ ``
鼠标三击 选择一行。
Shift + F6 矩形选择模式启动或停止。
Alt + 从当前行的开头和上一行的末尾选择矩形。 目标
Alt + 从当前行的末尾和下一行的开头选择矩形。 目标
Alt + 矩形选择下一个字符。 目标
Alt + 矩形选择上一个字符。 目标
Alt + HOME 矩形选择行的开头。 目标
Alt + END 矩形选择行的末尾。 目标

操作限制

移动 映射 环境 内容
键记录 Ctrl + F1 WSL 命令的键绑定 "copy" 和 "paste" 需要改为 Ctrl+Shift+c, Ctrl+Shift+v 等。例如:Ctrl+Shift+c, Ctrl+Shift+v
复制粘贴剪切 Ctrl + cvx WSL 如果您想将其复制到剪贴板,需要 powershell.exe 的路径。在 PowerShell 终端尝试 $ PSHOME

设置文件

当执行 输出配置文件命令 时,设置配置文件将输出到以下位置,以便进行编辑。

在 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\

示例图片

  • 初始显示
    initial_display
  • 帮助
    help
  • grep
  1. 搜索字符,搜索文件夹,文件模式输入屏幕。 grep
  2. grep 结果显示屏幕。 grep_result
  3. 在 grep 结果屏幕的第 5 行按 Enter 键,在新的终端中打开目标文件。光标移动到搜索结果中的字符。 grep_result_move_file

通过 Tera Term 使用时的设置

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

通过 Tera Term 使用

公开的 Javascript 宏函数

以下是公开的 Javascript 函数列表。使用内置的 v8 引擎和 rusty_v8 构建。

宏的公开函数

未来工作

  • Grep-Replace 函数
  • 交换文件

许可证

本项目在 MIT 许可证 下分发。

依赖项

~82MB
~1.5M SLoC