micro-editor/micro
GitHub: micro-editor/micro
一款现代且直观的终端文本编辑器,以零依赖单二进制形式分发,旨在成为 nano 的易用继任者。
Stars: 29213 | Forks: 1345


[](https://github.com/micro-editor/micro/releases)
[](https://github.com/micro-editor/micro/blob/master/LICENSE)
[](https://gitter.im/zyedidia/micro?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[](https://snapcraft.io/micro)
**micro** 是一款基于终端的文本编辑器,旨在易于使用和直观,同时充分利用现代终端的强大功能。它是一个单一、开箱即用、无依赖的静态二进制文件;你现在就可以下载并使用它!
正如其名,micro 希望通过易于安装和使用,成为 nano 编辑器的某种继任者。
它致力于成为喜欢在终端中工作或经常通过 SSH 编辑文件的人的全职编辑器,并让他们乐在其中。
这是一张 micro 编辑其自身源代码的图片。

要查看更多展示 micro 默认配色方案的截图,请访问[这里](https://micro-editor.github.io)。
你还可以访问 Micro 的网站:https://micro-editor.github.io。
## 功能特性
- 易于使用和安装。
- 无需任何依赖或外部文件 —— 只需在本页下方下载的二进制文件即可。
- 多光标支持。
- 常用快捷键(
Ctrl-s、
Ctrl-c、
Ctrl-v、
Ctrl-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, 开发工具, 日志审计, 终端文本编辑器