本文概述
如果你很懒惰并且不想打开与服务器的SFTP连接, 下载文件并在本地进行编辑, 或者你正在处理需要远程编辑的大文件, 那么CLI编辑器这一术语无疑是一个熟悉的给你的话。它们广泛用于修改服务器中的配置文件, 而无需在Git或Subversion等版本控制软件上处理此类文件。我们中的许多人习惯于使用单个CLI编辑器, 这是我们第一次在终端中编辑文件时使用的CLI编辑器, 但是并不是每个人都知道CLI编辑器有很多选择, 你可以学习使用你最喜欢的编辑器
在本文中, 我们将与你分享在Unix环境中可以使用的5种最常用的CLI文件编辑器。
5. GNU Midnight Commander
GNU Midnight Commander是一个视觉文件管理器, 已获得GNU通用公共许可证的许可, 因此具有免费软件的资格。它是一个功能丰富的全屏文本模式应用程序, 可让你复制, 移动和删除文件以及整个目录树, 搜索文件并在子外壳中运行命令。包括内部查看器和编辑器。 Midnight Commander基于多种文本界面, 例如Ncurses或S-Lang, 它可以通过SSH连接和各种远程Shell在X Window终端内部的常规控制台上工作。
要使用此工具编辑文件, 只需运行以下命令:
mcedit file.txt
4. JOE编辑器
JOE是基于终端的全功能屏幕编辑器, 根据GNU通用公共许可证(GPL)分发。 JOE自1988年以来一直存在, 并成为许多Linux发行版的标准配置。 JOE是MicroPro古老的微型文字处理器WordStar和Richard Stallman著名的基于LISP的文本编辑器GNU-EMACS的混合体(但它不使用任何一个程序的代码):大部分基本编辑键与WordStar中的相同, 整体而言编辑的感觉。 JOE还具有EMACS的一些关键绑定和许多强大功能。
JOE用C编写, 唯一的依赖关系是libc。这使得JOE易于构建(只需”配置”和”进行安装”), 使其可以包含在小型系统和恢复磁盘上。在x86中, 编译后的二进制文件约为300K。请注意, JOE可以使用termcap或terminfo终端功能数据库(或ANSI终端的内置termcap条目)。该选择由”配置”选项控制。如果使用terminfo, 则需要一个库来访问数据库(在某些系统上, 该库为ncurses, 但JOE并不使用curses来控制终端-为此, 它具有自己的代码)。
joe file.txt
JOE的大部分外观由其简单的配置文件” joerc”决定。除” joe”外, 还默认安装了几种编辑器变体:” jmacs”(模拟GNU-EMACS), ” jstar”模拟WordStar, ” jpico”模拟Pine邮件编辑器PICO和” rjoe”(受限版本) JOE允许仅用于编辑命令行上给定的文件。 JOE链接到多个名称。用来在末尾加上” rc”来调用编辑器的名称给出了要使用的配置文件的名称。因此, 如果需要, 你可以轻松制作自己的变体。你也可以通过将系统” joerc”文件复制到主目录来自定义编辑器。 Joe编辑器的功能:
- 多文件搜索和替换文件列表可以在命令行中给出, 也可以通过在JOE中运行的UNIX命令(grep / find)给出。
- 鼠标支持, 包括滚轮(使用xterm时效果最佳)。鼠标可以调整窗口大小, 滚动窗口, 选择和粘贴文本以及选择菜单项。
- 状态行上的上下文显示:允许你查看功能光标的名称。
- 支持UTF-8, 可选自动检测UTF-8文件。
- 突出显示40多种语言的语法。
- 十六进制编辑模式。将JOE用作磁盘编辑器:joe -overwrite -hex / dev / hda1, 0, 512(编辑/ dev / hda1的第一个扇区)。
- 即使处理MS-DOS或UNIX行尾时, 二进制文件的非破坏性编辑。
- 交换文件允许编辑大于内存的文件。
- 上下文相关的在线帮助。
- 类似于Bash的TAB完成和所有提示的历史记录, 或者跳至完成菜单并使用它遍历文件系统。
- 通过按ESC Enter来完成编辑缓冲区中的单词(将缓冲区中的其他单词用于词典)。
- 兼容EMACS的文件锁和文件修改检查。
- 外壳窗口。
- 将多个窗口复制到相同或不同的文件上。
- 编译并逐步处理错误或Grep并逐步查找。
- 转到匹配字符定界符”()[] {} <>”, 它会跳过注释和引用的内容。
- 转到匹配的词定界符, 包括XML标签和C预处理程序指令。
- Ctrl-箭头键块选择。
- 搜索和替换系统, 包括正则表达式和可选的增量搜索。用于匹配平衡C表达式的正则表达式键。
- 标签文件搜索(标签搜索提示中的选项卡完成使用标签文件作为数据库)。
- 拼写检查命令调用aspell或ispell。拼写语言可以通过编辑器传递。
- 保留新闻/邮件引用缩进字符的段落格式。
- 无限撤消和重做。
- Yank缓冲区允许单步执行并插入以前删除的文本。
- 状态文件恢复历史记录缓冲区, 拉动缓冲区和最后一个文件的光标位置。
- 光标位置历史记录使你可以逐步浏览文件的先前访问区域。
- 多个交互式键盘宏。可以将宏分配给joerc文件中的键序列。
- 阻止移动/复制/删除/过滤器。
- 矩形(柱状)块模式-搜索和替换可以缩小到矩形块。矩形块可以通过UNIX命令过滤。
- 改型/插入模式。
- 缩进/取消缩进(向左或向右移动块)。
- 自动缩进模式。
- ASCII图形的图片模式。
- 行号模式显示每行的行号。
- 强大的科学计算器, 具有块统计功能(总和/标准偏差/高亮显示的数字块)。
- Termcap / Terminfo支持使JOE可以使用任何终端或终端仿真器。
- 可以接受来自管道的数据, 例如:ls |乔
3. GNU Nano
GNU nano旨在免费替代Pico文本编辑器, 该编辑器是华盛顿大学Pine电子邮件套件的一部分。它的目的是”尽可能地模仿Pico, 并可能包括其他功能”。最初, 该项目名为TIP, 但由于与另一个名为” tip”的程序发生命名空间冲突, 因此正式将其重命名为nano。原始的”提示”程序”建立与远程主机的全双工终端连接”, 并且包含在许多较旧的Unix系统(和Solaris等较新的系统)中。要使用nano编辑文件, 你只需要运行以下命令:
nano file.txt
2. VIM
Vim是一个高度可配置的文本编辑器, 用于有效地创建和更改任何类型的文本。在大多数UNIX系统和Apple OS X中, 它都包含为” vi”。其功能包括:
- 持久的多级撤消树
- 扩展的插件系统
- 支持数百种编程语言和文件格式
- 强大的搜索和替换
- 与许多工具集成
要使用vim编辑文件, 请运行以下命令:
vim file.txt
1. GNU Emacs
GNU Emacs是可扩展的, 可自定义的, 自记录的实时显示编辑器, 无需X11支持。与其他广泛使用的UNIX文本编辑器vi和扩展接口的功能相比, Emacs提供了更长的命令列表。 GNU Emacs用C编写, 设计用于Unix或类Unix内核。它包括自己的Lisp解释器, 该解释器用于执行用Lisp编写的编辑器部分。
要使用Emacs编辑文件, 请运行以下命令:
emacs file.txt
如果你知道另一个很棒的CLI文本编辑器, 请在注释框中与社区共享。
评论前必须登录!
注册