《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的micro是一个基于终端的文本编辑器,旨在易于使用和直观,同时还利用了现代终端的功能。它是一个单一的、包含电池的、静态的二进制文件,没有依赖关系;您可以立即下载并使用它!
顾名思义,micro 旨在通过易于安装和使用来成为 nano 编辑器的继承者。对于喜欢在终端中工作的人或经常通过 SSH 编辑文件的人来说,它努力成为一名全职编辑器。
这是一张微编辑其源代码的图片。
micro特征
易于使用和安装。不需要依赖项或外部文件 - 只需您可以在页面下方下载的二进制文件。多个游标。常用键绑定(Ctrl-s, Ctrl-c, Ctrl-v, Ctrl-z, ...)。键绑定可以根据您的喜好重新调整。理智的默认。您不必开箱即用地进行太多配置(而且配置起来非常容易)。拆分和制表符。类似纳米的菜单可帮助您记住键绑定。非常好的鼠标支持。这意味着鼠标拖动以创建选择,双击以按单词选择,三次单击以按行选择。跨平台(它应该适用于 Go 运行的所有平台)。请注意,虽然支持 Windows,但不支持 Mingw/Cygwin(见下文)。插件系统(插件是用 Lua 编写的)。micro 有一个内置的插件管理器来自动安装、删除和更新插件。内置差异装订线。简单的自动完成。持久撤消。自动 linting 和错误通知。超过130 种语言的语法高亮显示。配色方案支持。默认情况下,micro 带有 16、256 和真彩色主题。真彩色支持(将MICRO_TRUECOLOR环境变量设置为 1 以启用它)。使用系统剪贴板进行复制和粘贴。小而简单。易于配置。宏。常见的编辑器功能,例如撤消/重做、行号、Unicode 支持、软包装……micro安装
要安装 micro,您可以下载预构建的二进制文件,也可以从源代码构建它。
如果您想了解有关安装 micro 方法的更多信息,请参阅此wiki 页面。
用于micro -version获取安装后的版本信息。如果您从预构建的二进制文件、Homebrew 或 Snap 安装,则只能保证您安装的是最新的稳定版本。
桌面入口文件和手册页可以在assets/packaging目录中找到。
预构建的二进制文件
预构建的二进制文件与release一起分发。
要卸载 micro,只需删除二进制文件和~/.config/micro.快速安装脚本
curl https://getmic.ro | bash该脚本会将微型二进制文件放在当前目录中。从那里,您可以将它移动到您选择的路径上的目录(例如sudo mv micro /usr/bin)。
包管理器
您可以在 Mac 上使用 Homebrew 安装 micro:
brew install microMac 的注意事项:所有微型键绑定都使用 control 或 alt(选项)键,而不是 command 键。默认情况下,macOS 终端不转发 alt 键事件。要解决此问题,请参阅下面有关macOS 终端的部分。
在 Linux 上,可以通过snap安装 micro
snap install micro --classicLinux 的注意事项:用于与本地系统剪贴板的接口,xclip或者xsel 必须安装。
Micro 也可以通过 Linux 上的其他包管理器获得,例如 dnf、AUR、Nix 和其他操作系统的包管理器。这些软件包不保证是最新的。
Linux:在特定于发行版的包管理器中可用。
dnf install micro(费多拉)。pacman -S micro(拱形 Linux)。eopkg install micro(溶液)。有关 CRUX、Termux 的详细信息,请参阅wiki。窗户:巧克力和独家新闻。
choco install micro.scoop install micro.OpenBSD:在端口树中可用,也可作为二进制包提供。
pkd_add -v micro.NetBSD、macOS、Linux、Illumos 等使用pkgsrc -current:
pkg_add micro带有MacPorts的 macOS :
sudo port install micro从源头构建
如果您的操作系统没有二进制版本,但运行 Go,您可以从源代码构建。
确保您拥有 Go 版本 1.16 或更高版本并且启用了 Go 模块。
git clone https://github.com/zyedidia/microcd micromake buildsudo mv micro /usr/local/bin # optional二进制文件将放置在当前目录中,并且可以移动到您喜欢的任何位置(例如/usr/local/bin)。
该命令make install会将二进制文件安装到$GOPATH/bin或$GOBIN。
您可以使用go get( go get github.com/zyedidia/micro/cmd/micro) 直接安装,但不建议这样做,因为它不会使用版本信息构建 micro(插件管理器所必需的),并且不会禁用调试模式。
全静态二进制
默认情况下,微二进制文件会动态链接核心系统库(出于安全性和可移植性一般建议这样做)。但是,为 amd64 as 提供了一个完全静态的预构建二进制文件,linux-static.tar.gz要从源代码构建一个完全静态的二进制文件,请运行
CGO_ENABLED=0 make build用法
构建编辑器后,通过运行micro path/to/file.txt或micro打开一个空缓冲区来启动它。
micro 还支持从以下位置创建缓冲区stdin:
ifconfig | micro您可以使用箭头键和鼠标移动光标。
您还可以使用鼠标来操作文本。只需单击并拖动即可选择文本。您也可以双击启用单词选择,三击启用行选择。
命令栏
通过按 Ctrl-e 打开命令栏。它是一个单行缓冲区,这意味着支持来自普通缓冲区的所有键绑定(以及鼠标和选择)。
运行命令时,您可以使用 micro 将在运行命令之前扩展的额外语法。要使用带有空格的参数,请将其放在引号中。命令栏解析器使用相同的规则来解析 /bin/sh将使用的参数(单引号、双引号、转义)。命令栏不查找环境变量。
Micro 提供了以下命令,可以通过按下Ctrl-e并输入命令在命令栏执行。参数在这里用单引号括起来,但在 micro 中输入命令时这些不是必需的。
bind 'key' 'action':创建从键到操作的键绑定。有关绑定密钥的更多信息,请参阅 keybindings文档。此命令将修改bindings.json并覆盖任何 key已存在的绑定。help 'topic'?:打开相应的帮助主题。如果未提供主题,则会打开默认帮助屏幕。帮助主题作为.md文件存储在 runtime/help源代码树的目录中,嵌入在最终的二进制文件中。save 'filename'?: 保存当前缓冲区。如果提供了文件,它将“另存为”文件名。quit: 退出微。goto 'line': 跳转到给定的行号。可以传入负数,从文件末尾向内跳转;例如,-5 跳转到文件的倒数第五行。replace 'search' 'value' 'flags'?: 这将替换search为value. flags是可选的。可能的标志是:-a: 一次替换所有匹配项-l: 进行文字搜索而不是正则表达式搜索请注意,search必须是有效的正则表达式(除非-l通过)。如果其中一个参数中没有任何空格,则可以省略引号。—END—
开源协议:MIT license
开源地址:https://github.com/zyedidia/micro