当前位置: 首页 > news >正文

命令行快速进阶(五)Ubuntu下常用文本编辑器

常见的基于控制台的文本编辑器有以下几种:

emacs           综合性的GNU emacs 编辑环境

nano              一个类似于经典的pico的文本编辑器,内置了一个pine邮件程序

vim               一个改进的vi文本编辑器

注意并不是所有的文本编辑器都是基于控制台的,也就是说支持终端使用的。有一些文本编辑器被设计用来提供带有菜单栏,按钮,进度条等的图形界面。例如:

gedit               一个GUI的文本编辑器,Ubuntu默认安装

kate               一个简单的KDE文本编辑器

kedit              另外一个简单的KDE文本编辑器


nano文本编辑器的用法

nano编辑器最为简单和易用,而且基本上被所有的Linux所安装。因此我们首先来讲解下它。开启一个nano编辑器可使用如下命令:

nano file.txt

nano编辑器非常简单,你可以轻松使用它而不需要任何额外知道。这里有一些基本的命令。(^是控制键Control

光标移动                     方向键(上///右),PageUp/Page Down,或者^y^v

添加字符                      在光标处输入

删除字符                      Delete键或者Backspace

退出                           ^x(将会提示是否保存更改)

帮助                           ^g

nano编辑器界面如下:



vi文本编辑器的用法

基本上每一个Linux/Unix系统都装有vi编辑器。开启一个vi编辑器可使用如下命令:

vi file.txt

vi编辑器的工作有插入(编辑)模式和浏览(命令)模式。当你最开始编辑时,你处于浏览模式,你可以使用箭头或者其他导航键在文本中导航。开始编辑时,键入i,插入文本,或者键入a,在末尾添加文本。当你编辑结束时,键入Esc退出插入/添加模式,进入浏览(命令)模式。键入命令时,首先键入冒号(:),后面紧跟命令,例如w命令去编辑文本,然后键入Enter

尽管vi编辑器支持非常复杂的操作并且有无数条命令,然而你可以仅用一些简单的命令就能完成工作,这些基本的vi命令主要有:

光标运动                        h,j , k, l (上///右)

删除字符                        x

删除行                          dd

模式退出                        Esc,Insert(或者i

退出编辑器                      q

强制退出不保存                q!

运行shell命令                 :sh(使用exit返回vi编辑器)

保存文件                        :w

文本查找                         /

使用vim tutor命令可以快速学习vi键盘命令的用法。这个教程不到30分钟,教给用户如何开启和关闭编辑器,导航文件,插入删除文本,查找,替换和插入操作。


emacs文本编辑器的用法

Richard M. StallmanGNU emacs文本编辑器,和vi一样,被Ubuntu和几乎所有的Linux系统默认安装。和其他Unix/Linux文本编辑器不同的是,emacs并不仅仅是一个简单的文本编辑器。它是一个编辑环境,可以被用来编译运行程序,可以作为电子日记,约会簿和日历,可以用来编辑和发送邮件,阅读Usernet新闻,甚至玩游戏。emacs之所以具有这么强大的功能是因为它包含了一个内置的language interpreter,使用Elispemacs LISP)编程语言。emacs没有在Ubuntu中默认安装,可使用下列命令安装emacs

sudo apt-get install emacs

开启一个emacs编辑器可使用如下命令:

emacs file.txt

当你在X11中使用上述命令打开emacs时,这个编辑器并不出现在终端窗口中,而是以浮动窗口的形式出现。强制使emacs窗口显示在终端中而不是它自己的窗口,可以使用-nw参数,如以下命令:emacs -nw file.txt

emacs文本编辑器拥有大量的快捷键和命令,但是用户可以掌握这些命令的一个子集即可满足日常工作的需要。这些基本命令通常都需要按住Ctrl键,或者是先键入meta键(通常映射为Alt键)。下面是一些常用的命令。

动作                                  命令

终止                           Ctrl+g

光标左移                     Ctrl+b

光标下移                     Ctrl+n

光标右移                     Ctrl+f

光标上移                     Ctrl+p

删除字符                     Ctrl+d

删除行                        Ctrl+k

光标移到行首               Ctrl+a

光标移到行尾               Ctrl+e

帮助                          Ctrl+h

退出                          Ctrl+x,Ctrl+c

另存为                       Ctrl+x,Ctrl+w

保存文件                    Ctrl+x,Ctrl+s

后向检索                    Ctrl+r

前向检索                    Ctrl+s

入门训练                    Ctrl+h,t

撤销编辑                    Ctrl+x,u

学习使用emacs编辑器的一个优点是你可以在bashshell命令行中使用类似的快捷键,尽管你也可以将bash shell 命令行的快捷键和vi快捷键绑定。另外一个原因是emacs编辑器几乎被安装在所有的Unix/Linux系统中,以及苹果的MacOS X系统中。


相关文章:

  • 命令行快速进阶(六)Ubuntu中对压缩文件的操作和处理
  • 命令行快速进阶(七)通过byobu使用多个命令终端
  • Ubuntu中的用户管理(一)用户账户
  • Ubuntu中的用户管理(二)群组管理
  • Ubuntu中的用户管理(三)用户管理
  • Ubuntu中的用户管理(四)密码管理
  • Ubuntu中的用户管理(五)授予常规用户系统管理员权限
  • Ubuntu中的用户管理(六)硬盘配额
  • Ubuntu中的用户管理(七)相关Ubuntu命令
  • Windows下Ubuntu 12.04 LTS 的安装(双系统使用EasyBCD)
  • Ubuntu 12.04下安装QQ2012Beta3
  • Ubuntu 12.04 中文输入法
  • Ubuntu下的截图软件Deepin Scrot
  • SHELL 编程入门与提高(一)第一个shell程序
  • Ubuntu 12.04 LTS 中文txt文件显示乱码问题
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 11111111
  • Android Volley源码解析
  • angular组件开发
  • bootstrap创建登录注册页面
  • C++入门教程(10):for 语句
  • cookie和session
  • CSS 专业技巧
  • js继承的实现方法
  • JS学习笔记——闭包
  • Laravel Mix运行时关于es2015报错解决方案
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Redis的resp协议
  • Solarized Scheme
  • spring-boot List转Page
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 阿里研究院入选中国企业智库系统影响力榜
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 安装python包到指定虚拟环境
  • 不上全站https的网站你们就等着被恶心死吧
  • 给第三方使用接口的 URL 签名实现
  • 好的网址,关于.net 4.0 ,vs 2010
  • 看域名解析域名安全对SEO的影响
  • 聊聊sentinel的DegradeSlot
  • 免费小说阅读小程序
  • 前嗅ForeSpider教程:创建模板
  • 悄悄地说一个bug
  • 区块链共识机制优缺点对比都是什么
  • 我感觉这是史上最牛的防sql注入方法类
  • 终端用户监控:真实用户监控还是模拟监控?
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • #14vue3生成表单并跳转到外部地址的方式
  • #define 用法
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • (2)Java 简介
  • (动态规划)5. 最长回文子串 java解决
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28