nano使用介绍
作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载。
GNU nano是Unix系统下一款常用的文本编辑器,以简单易用著称。与之相比,功能更强大的Vi和Emacs编辑器,学习曲线比nano陡峭很多。由于nano对于一般的文本编辑来说已经足够,所以我想简单介绍一下,以便于更好入门。
基本使用
在Shell中输入下面命令,就可以启动nano:
nano test.txt
命令nano后面跟着想要修改的文件名。如果当前文件夹下存在名为test.txt的文件时,改命令将打开这个文件。否则,nano会创建一个新文件。随后,Shell会进入到nano的编辑界面。nano的编辑方式和常用的记事本工具类似,都是“所见即所得”。用上下左右键,就可以把光标移动到想要编辑的位置,然后输入或删除即可。
完成之后,你可以按Ctrl+O键来保存文件。nano询问你是否保存缓存中的修改:
Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ?
输入Y并,改动将存入文件。此时nano会让你再次确认存入文件的文件名:
File Name to Write: test.txt
回车确认后,修订将存入到test.txt文件。
随后,按Ctrl+X可以退出nano,重新回到Shell的命令行。
功能键
nano中有很多功能键。比如上面保持文件用的Ctrl+O,就是一个功能键。nano界面的最下方会给出功能键的提示:

在提示中,^表示Ctrl键,M表示Alt键。因此,^G表示的就是同时暗下Ctrl键和G键。
下面是一些常用的功能键:
M-\ 把光标移动到文本开始
M-/ 把光标移动到文本结尾 M-A 开始选择文本块 ^K 剪切所在行或选定的文本块
M- 复制所在行或选定的文本块
^U 粘贴
^G 帮助
语法高亮
nano可以支持语法高亮,从而更好的服务于编程。为了使用语法高亮,首先要安装语法高亮文件:
git clone https://github.com/nanorc/nanorc.git
cd nanorc/
make install
安装完成后,可以看到~/.nano/syntax下多了很多语法高亮文件:
ALL.nanorc go.nanorc markdown.nanorc ruby.nanorc
awk.nanorc html.nanorc mpdconf.nanorc sed.nanorc
c.nanorc ini.nanorc nanorc.nanorc shell.nanorc
cmake.nanorc inputrc.nanorc nginx.nanorc sql.nanorc
coffeescript.nanorc java.nanorc patch.nanorc systemd.nanorc
colortest.nanorc javascript.nanorc peg.nanorc tex.nanorc
csharp.nanorc json.nanorc php.nanorc vala.nanorc
css.nanorc keymap.nanorc pkg-config.nanorc vi.nanorc
cython.nanorc kickstart.nanorc pkgbuild.nanorc xml.nanorc
default.nanorc ledger.nanorc po.nanorc xresources.nanorc
dot.nanorc lisp.nanorc privoxy.nanorc yaml.nanorc
email.nanorc lua.nanorc properties.nanorc yum.nanorc
git.nanorc makefile.nanorc python.nanorc
glsl.nanorc man.nanorc rpmspec.nanorc
将语法高亮文件添加到~/.nanorc中,就能让nano启动对相应语言的语法高亮支持,例如:
include ~/.nano/syntax/c.nanorc
include ~/.nano/syntax/css.nanorc
include ~/.nano/syntax/java.nanorc
include ~/.nano/syntax/makefile.nanorc
include ~/.nano/syntax/php.nanorc
include ~/.nano/syntax/python.nanorc
include ~/.nano/syntax/ruby.nanorc
include ~/.nano/syntax/tex.nanorc
include ~/.nano/syntax/xml.nanorc
如果有需要,还可以把更多的语法高亮文件加入到.nanorc中。这时再打开获得支持的程序文本时,就可以看到语法高亮的效果。下图中用nano打开了一段Python程序:

在nano中,使用M-Y功能键可以开关语法高亮功能。
文件基础操作
用nano编辑文件并保存后,当前目录下就会出现一个新的文件,文件名就是我们使用时的文件名。用下面命令,可以显示Shell当前目录下的文件:
$ls
Linux用文件的形式存储数据。在树莓派中,文件存储于那张SD卡上。除了用户编辑生成的文本,数据还可能是Linux系统中的程序或配置文件。在Unix的哲学下,文件是数据存储的唯一形式,就连硬件也会虚拟成一个文件。既然文件有这么重要的地位,那么Linux中自然少不了用于操作文件的命令,比如删除文件的rm:
$rm test.txt
文件存储的位置,称为文件所在的目录(directory)。刚才用nano保存文件后,由于没有说明目录,文件就保存在当前目录下。我们可以用下面命令来查询Shell所在的当前目录:
$pwd
显示的是:
/home/pi
所有目录都可以追溯到一个根源,即根目录(root directory)。根目录下有一个home目录,home下有一个pi目录。我们的当前工作目录,就是这个pi目录。
一个目录下的文件不能重名。因此,如果在/home/pi这样的目录下加上文件名,就唯一确定了这个文件。这称为文件的路径(path)。比如:
/home/pi/test.txt
总结
本文介绍了Linux下一款简单易用的文本编辑器nano和常用的文件命令。
欢迎阅读“骑着企鹅采树莓”系列文章
nano使用介绍的更多相关文章
- jetson nano开发使用的基础详细分享
前言: 最近拿到一块jetson nano 2GB版本的板子,折腾了一下,从烧录镜像.修改配件等,准备一篇开箱基础文章给大家介绍一下这块AI开发板. 作者:良知犹存 转载授权以及围观:欢迎关注微信公众 ...
- ASP.NET Core 中文文档 第二章 指南(5) 在 Nano Server 上运行ASP.NET Core
原文 ASP.NET Core on Nano Server 作者 Sourabh Shirhatti 翻译 娄宇(Lyrics) 校对 刘怡(AlexLEWIS).许登洋(Seay).谢炀(kile ...
- osg实例介绍
osg实例介绍 转自:http://blog.csdn.net/yungis/article/list/1 [原]osgmotionblur例子 该例子演示了运动模糊的效果.一下内容是转自网上的:原理 ...
- Raspberry Pi + 3个USB摄像头 + Motion(简易监控设备配置记录1——介绍以及安装) 分类: Raspberry Pi 服务器搭建 2015-04-12 19:21 226人阅读 评论(0) 收藏
参考: Debian官网链接 Motion官网链接 首先,参见Debian官网链接对Motion的介绍,网页中包含了所有相关依赖包,请首先确保这些依赖包的安装. Motion介绍 摘出对Motion的 ...
- MATLAB介绍
MATLAB MATLAB[1] 是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink ...
- [转帖]Windows Server 2016各种版本介绍
Windows Server 2016各种版本介绍 http://www.5sharing.com/js/zx/872.html windows server的版本 时间:2018-10-06 10: ...
- Arduino语言介绍
Arduino语言介绍 Arduino语言是建立在C/C++基础上的,其基础是C语言,Arduino语言只不过把AVR单片机(微控制器)相关的一些参数设置都函数化,不用我们去了解他的底层,让不了解AV ...
- Python介绍及环境搭建
摘自http://www.cnblogs.com/sanzangTst/p/7278337.html Python零基础学习系列之二--Python介绍及环境搭建 1-1.Python简介: Py ...
- dockerfile 介绍
Docker简介 Docker项目提供了构建在Linux内核功能之上,协同在一起的的高级工具.其目标是帮助开发和运维人员更容易地跨系统跨主机交付应用程序和他们的依赖.Docker通过Docker容器, ...
随机推荐
- Mac入门推荐(写给Mac小白)
本人第一次接触Mac是在2016年10月中旬,那时由于对苹果系统的不熟悉,导致自己一开始的时候用的很不习惯,甚至还想换回Windows系统.总所周知,苹果系统的软件比较少,在此我向大家推荐一些个人觉得 ...
- noi 1.8 11图像旋转
水题不解释 其实我偷懒了 直接输出,,,,,,, 个人QQ:757394026团队QQ:466373640个人博客:www.doubleq.winc++/noi/信息学奥数博客:http://www. ...
- mvc关于三级联动修改时数据回显
在网上找了好久,都没有找到自己想要的那种效果,最后还是自己写出来了, 虽然方法有点笨. 这是Controller里 public ActionResult Edit(string id) { //查询 ...
- TypeScript设计模式之单例、建造者、原型
看看用TypeScript怎样实现常见的设计模式,顺便复习一下. 单例模式 Singleton 特点:在程序的生命周期内只有一个全局的实例,并且不能再new出新的实例. 用处:在一些只需要一个对象存在 ...
- 《学习记录》ng2-bootstrap中的component使用教程
前序: 现在angular2已经除了集成的angular-cli,建议大家可以基于这个来快速开发ng2的项目,不用自己再搭建环境: 相关内容请前往:https://angular.cn/docs/ts ...
- wemall app商城源码机器人检测
wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之 ...
- 4001: [TJOI2015]概率论
4001: [TJOI2015]概率论 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 262 Solved: 108[Submit][Status] ...
- 在Pypi上发布自己的Python包
使用Python编程的都知道,Python的包安装非常的方便,一般都是可以pip来安装搞定: sudo pip install <package name> pip的安装请移步:https ...
- ORM-Dapper学习<一>
ORM 框架简介 对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的.面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关 ...
- 手机端rem如何适配_rem详解及使用方法
什么是rem 在我看来,rem就是1rem单位就等于html节点fontsize的像素值.所以改变html节点的fontsize是最为关键的一步.根据手机宽度改变相对大小就可以实现自适应了,就不用什么 ...