micro-editor/micro

GitHub: micro-editor/micro

一款现代且直观的终端文本编辑器,以零依赖单二进制形式分发,旨在成为 nano 的易用继任者。

Stars: 29213 | Forks: 1345

micro logo ![测试工作流](https://static.pigsec.cn/wp-content/uploads/repos/cas/a9/a9f4787624714e7c728582f9fd19ca892a359274bd12b88cdd60e2d5f688d9fc.svg) [![发布](https://img.shields.io/github/release/micro-editor/micro.svg?label=Release)](https://github.com/micro-editor/micro/releases) [![MIT 许可证](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/micro-editor/micro/blob/master/LICENSE) [![加入聊天室 https://gitter.im/zyedidia/micro](https://badges.gitter.im/zyedidia/micro.svg)](https://gitter.im/zyedidia/micro?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Snap 状态](https://snapcraft.io/micro/badge.svg)](https://snapcraft.io/micro) **micro** 是一款基于终端的文本编辑器,旨在易于使用和直观,同时充分利用现代终端的强大功能。它是一个单一、开箱即用、无依赖的静态二进制文件;你现在就可以下载并使用它! 正如其名,micro 希望通过易于安装和使用,成为 nano 编辑器的某种继任者。 它致力于成为喜欢在终端中工作或经常通过 SSH 编辑文件的人的全职编辑器,并让他们乐在其中。 这是一张 micro 编辑其自身源代码的图片。 ![截图](https://static.pigsec.cn/wp-content/uploads/repos/cas/0b/0be2f0b5e5d479483a97a7eeebff926fca3a52738ae4843268624da4bcaebaed.png) 要查看更多展示 micro 默认配色方案的截图,请访问[这里](https://micro-editor.github.io)。 你还可以访问 Micro 的网站:https://micro-editor.github.io。 ## 功能特性 - 易于使用和安装。 - 无需任何依赖或外部文件 —— 只需在本页下方下载的二进制文件即可。 - 多光标支持。 - 常用快捷键(Ctrl-sCtrl-cCtrl-vCtrl-z 等)。 - 快捷键可根据个人喜好重新绑定。 - 合理的默认设置。 - 开箱即用,你不需要进行太多配置(并且配置也非常简单)。 - 分屏和标签页。 - 类似 nano 的菜单,帮助你记住快捷键。 - 极佳的鼠标支持。 - 这意味着你可以通过鼠标拖拽来创建选区,双击按单词选择,以及三击按行选择。 - 跨平台(它应该能在所有支持 Go 的平台上运行)。 - 请注意,虽然支持 Windows,但不支持 Mingw/Cygwin(见下文)。 - 插件系统(插件使用 Lua 编写)。 - micro 具有内置的插件管理器,可自动安装、移除和更新插件。 - 内置 diff 边栏。 - 简单的自动补全。 - 持久化撤销。 - 自动 linting 和错误通知。 - 支持 [130 多种语言](runtime/syntax)的语法高亮。 - 配色方案支持。 - 默认情况下,micro 自带 16 色、256 色和真彩主题。 - 真彩支持。 - 与系统剪贴板进行复制和粘贴。 - 小巧且简单。 - 易于配置。 - 宏。 - 智能高亮行尾空格以及制表符与空格混用的错误。 - 常见的编辑器功能,如撤销/重做、行号、Unicode 支持、软换行等。 ## 安装 要安装 micro,你可以下载[预编译二进制文件](https://github.com/micro-editor/micro/releases),或者从源码构建。 如果你想了解更多安装 micro 的方式,请查看此[wiki 页面](https://github.com/micro-editor/micro/wiki/Installing-Micro)。 安装后,请使用 `micro -version` 获取版本信息。只有从预编译二进制文件、Homebrew 或 Snap 安装时,才能保证你安装的是最新的稳定版本。 桌面入口文件和 man 手册可以在 [assets/packaging](https://github.com/micro-editor/micro/tree/master/assets/packaging) 目录中找到。 ### 预编译二进制文件 预编译二进制文件发布在 [releases](https://github.com/micro-editor/micro/releases) 中。 要卸载 micro,只需删除该二进制文件以及位于 `~/.config/micro` 的配置目录。 #### 第三方快速安装脚本 ``` curl https://getmic.ro | bash ``` 该脚本会将 micro 的二进制文件放在当前目录中。然后,你可以将其移动到你选择的路径目录中(例如 `sudo mv micro /usr/bin`)。有关更多信息,请查看其 [GitHub 仓库](https://github.com/benweissmann/getmic.ro)。 #### Eget 安装了 [Eget](https://github.com/zyedidia/eget) 后,你可以轻松获取预编译的二进制文件: ``` eget micro-editor/micro ``` 使用 `--tag VERSION` 可以下载特定的带标签版本。 ``` eget --tag nightly micro-editor/micro # download the nightly version (compiled every day at midnight UTC) eget --tag v2.0.8 micro-editor/micro # download version 2.0.8 rather than the latest release ``` 你可以通过在 `eget` 命令中添加 `--to /usr/local/bin` 来安装 `micro`,或者在下载完成后手动将二进制文件移动到你 `$PATH` 中的目录。 有关更多信息,请参见 [Eget](https://github.com/zyedidia/eget)。 ### 包管理器 在 Mac 上,你可以使用 Homebrew 安装 micro: ``` brew install micro ``` **Mac 用户请注意:** 所有的 micro 快捷键都使用 control 或 alt(option)键,而不是 command 键。默认情况下,macOS 终端不会转发 alt 键事件。要解决此问题,请查看下文关于 [macOS 终端](https://github.com/micro-editor/micro#macos-terminal)的部分。 在 Linux 上,你可以通过 [snap](https://snapcraft.io/docs/core/install) 安装 micro ``` snap install micro --classic ``` micro 也可以通过 Linux 上的其他包管理器(如 dnf、AUR、Nix)以及其他操作系统的包管理器获取。无法保证这些软件包是最新的。 * Linux: * 特定于发行版的包管理器: * `dnf install micro` (Fedora)。 * `apt install micro` (Ubuntu 和 Debian)。 * `pacman -S micro` (Arch Linux)。 * `emerge app-editors/micro` (Gentoo)。 * `zypper install micro-editor` (SUSE)。 * `eopkg install micro` (Solus)。 * `pacstall -I micro` (Pacstall)。 * `apt-get install micro` (ALT Linux)。 * 关于 CRUX、Termux 的详细信息请参见 [wiki](https://github.com/micro-editor/micro/wiki/Installing-Micro)。 * 跨发行版的包管理器: * `nix profile install nixpkgs#micro` (需开启 [Nix](https://nixos.org/) 和 flakes) * `flox install micro` (需配合 [Flox](https://flox.dev)) * Windows: [Chocolatey](https://chocolatey.org), [Scoop](https://scoop.sh/) 和 [WinGet](https://learn.microsoft.com/en-us/windows/package-manager/winget/)。 * `choco install micro`。 * `scoop install micro`。 * `winget install zyedidia.micro` * OpenBSD: 在 ports 树中可用,同时也作为二进制包提供。 * `pkg_add -v micro`。 * NetBSD, macOS, Linux, Illumos 等配合 [pkgsrc](https://www.pkgsrc.org/)-current: * `pkg_add micro` * macOS: 可在包管理器中获取。 * `sudo port install micro` (配合 [MacPorts](https://www.macports.org)) * `brew install micro` (配合 [Homebrew](https://brew.sh/)) * `nix profile install nixpkgs#micro` (需开启 [Nix](https://nixos.org/) 和 flakes) * `flox install micro` (配合 [Flox](https://flox.dev)) **Linux 桌面环境注意事项:** 为了与本地系统剪贴板进行交互,需要安装以下工具: * 对于 X11,需要 `xclip` 或 `xsel` * 对于 [Wayland](https://wayland.freedesktop.org/),需要 `wl-clipboard` 如果没有安装这些工具,micro 将使用内部剪贴板进行复制和粘贴,但外部应用程序将无法访问它。 ### 从源码构建 如果你的操作系统没有提供二进制版本,但可以运行 Go,你可以从源码构建。 确保你安装了 1.19 或更高版本的 Go,并且启用了 Go modules。 ``` git clone https://github.com/micro-editor/micro cd micro make build sudo mv micro /usr/local/bin # optional ``` 生成的二进制文件将放在当前目录中,你可以将其移动到你喜欢的任何位置(例如 `/usr/local/bin`)。 命令 `make install` 会将二进制文件安装到 `$GOPATH/bin` 或 `$GOBIN`。 你可以直接使用 `go get`(`go get github.com/micro-editor/micro/cmd/micro`)进行安装,但不建议这样做,因为它在构建 micro 时不包含版本信息(插件管理器需要此信息),并且不会禁用 debug 模式。 ### 完全静态或动态链接的二进制文件 默认情况下,micro 的二进制文件是静态链接的,以增加预编译二进制文件的可移植性。 只需在构建目标中提供 `CGO_ENABLED=1`,即可轻松覆盖此行为。 ``` CGO_ENABLED=1 make build ``` 之后,micro 二进制文件将与现有的核心系统库进行动态链接。 **Mac 注意事项:** 原生 macOS 构建会强制设置 `CGO_ENABLED=1`,以支持在链接步骤中添加“信息属性列表”(Information Property List)。 ### macOS 终端 如果你使用的是 macOS,建议使用 [iTerm2](https://iterm2.com/) 而不是默认终端。iTerm2 终端不仅具有更好的鼠标支持,还能更好地处理按键事件。为了获得最佳的快捷键体验,请在 `Preferences->Profiles->Keys->Presets...` 下选择 `xterm defaults`,并在同一菜单中为 `Left Option Key` 选择 `Esc+`。最新版本还支持真彩。 如果你仍然坚持使用默认的 Mac 终端,请务必在 `Preferences->Profiles->Keyboard` 下设置 `Use Option key as Meta key`,以便将 option 用作 alt。 ### WSL 和 Windows 控制台 如果你在 WSL 中使用 micro,强烈建议你使用 [Windows Terminal](https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701?hl=en-us&gl=us) 而不是默认的 Windows 控制台。 如果由于某种原因你必须使用 Windows 控制台,请注意 Windows 控制台的 WSL 中存在一个 Bug:每当 micro 尝试通过 powershell 访问外部剪贴板时,都会导致字体更改。要解决此问题,请使用 `set clipboard internal` 设置内部剪贴板(尽管你的系统剪贴板将不再能在 micro 中使用)。 ### 颜色和语法高亮 如果你打开 micro 后发现语法高亮似乎不起作用,这可能是因为你使用的终端不支持 256 色模式。请在 micro 中按 Ctrl-e 并输入 `set colorscheme simple`,尝试将配色方案更改为 `simple`。 如果你使用的是 Ubuntu 的默认终端,要启用 256 色模式,请确保你的 `TERM` 变量设置为 `xterm-256color`。 许多 Windows 终端不支持超过 16 种颜色,这意味着 micro 的默认配色方案看起来可能不太好。你可以将配色方案设置为 `simple`,或者下载并配置一个比 Windows 默认更好的终端模拟器。 ### Cygwin, Mingw, Plan9 遗憾的是,Cygwin、Mingw 和 Plan9 没有得到官方支持。在 Cygwin 和 Mingw 中,使用 `winpty` 工具运行 micro 通常可以正常工作: ``` winpty micro.exe ... ``` micro 使用了出色的 [tcell 库](https://github.com/gdamore/tcell),但这意味着 micro 受限于 tcell 所支持的平台。因此,micro 不支持 Plan9 或 Cygwin(尽管将来可能会改变)。micro 也不支持 NaCl(反正它也已经被弃用了)。 ## 用法 构建好编辑器后,通过运行 `micro path/to/file.txt` 或 `micro` 打开一个空缓冲区来启动它。 micro 还支持从 `stdin` 创建缓冲区: ``` ip a | micro ``` 你可以使用方向键和鼠标移动光标。 你也可以使用鼠标来操作文本。只需点击并拖拽即可选择文本。你还可以双击以启用单词选择,三击以启用行选择。 ## 文档与帮助 micro 具有内置的帮助系统,你可以按 Ctrl-e 并输入 `help` 来访问。此外,你可以 在此处查看帮助文件: - [主要帮助](https://github.com/micro-editor/micro/tree/master/runtime/help/help.md) - [快捷键](https://github.com/micro-editor/micro/tree/master/runtime/help/keybindings.md) - [命令](https://github.com/micro-editor/micro/tree/master/runtime/help/commands.md) - [颜色](https://github.com/micro-editor/micro/tree/master/runtime/help/colors.md) - [选项](https://github.com/micro-editor/micro/tree/master/runtime/help/options.md) - [插件](https://github.com/micro-editor/micro/tree/master/runtime/help/plugins.md) 我还建议阅读[教程](https://github.com/micro-editor/micro/tree/master/runtime/help/tutorial.md), 以简要了解 micro 提供的更强大的配置功能。 还有一个非官方的 Discord,你可以通过 https://discord.gg/nhWR6armnR 加入。 ## 贡献 如果你发现任何 Bug,请报告它们!我也很高兴接受任何人的 pull request。 你可以使用 [GitHub issue 跟踪器](https://github.com/micro-editor/micro/issues) 来报告 Bug、提出问题或建议新功能。 如需在更非正式的场合讨论编辑器,你可以加入 [Gitter 聊天室](https://gitter.im/zyedidia/micro) 或 [Discord](https://discord.gg/nhWR6armnR)。你也可以使用 GitHub 上的Discussions](https://github.com/micro-editor/micro/discussions) 板块进行类似论坛的交流或问答。 有时候我回复不够及时,对此我深表歉意!如果发生这种情况,请提醒我。
标签:EVTX分析, Go, rizin, Ruby工具, SOC Prime, 开发工具, 日志审计, 终端文本编辑器