树莓派:文本编辑器与文件

GNU nano是Unix系统下一款常用的文本编辑器,以简单易用著称。与之相比,功能更强大的Vi和Emacs编辑器,学习曲线比nano陡峭很多。由于nano对于一般的文本编辑来说已经足够,所以我想简单介绍一下,以便于更好入门。

基本使用

在Shell中输入下面命令,就可以启动nano:

nano test.txt

命令nano后面跟着想要修改的文件名。如果当前文件夹下存在名为test.txt的文件时,改命令将打开这个文件。否则,nano会创建一个新文件。随后,Shell会进入到nano的编辑界面。nano的编辑方式和常用的记事本工具类似,都是“所见即所得”。用上下左右键,就可以把光标移动到想要编辑的位置,然后输入或删除即可。

完成之后,你可以按Ctrl+O键来保存文件。nano询问你是否保存缓存中的修改:

<!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #ffffff; background-color: #000000} span.s1 {font-variant-ligatures: no-common-ligatures} -->

Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ? 

输入Y并,改动将存入文件。此时nano会让你再次确认存入文件的文件名:

<!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #ffffff; background-color: #000000} span.s1 {font-variant-ligatures: no-common-ligatures} -->

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-6  复制所在行或选定的文本块
^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和常用的文件命令。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏分享达人秀

安装Android模拟器,准备开发

完成以上所有步骤(JDK、ADT Bundle、SDK),那么就可以开始进行Android开发了。 Android程序必须运行在Android系...

1.8K7
来自专栏Python攻城狮

Django教程(一)- Django视图与网址1.简介2.环境搭建3.安装pycharm4.Ubuntu下 正确安装VMware Tools5.Django主要模块6.Django基本命令7. Dj

Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站!

1582
来自专栏zhisheng

全文搜索引擎 Elasticsearch 集群搭建入门教程

ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasti...

1502
来自专栏cloudskyme

maven parent

5.2.parent artifactId 父项目的artifact标识符 groupId 父项目的group标识符 v...

30710
来自专栏菩提树下的杨过

pycharm如何设置python版本、设置国内pip镜像、添加第三方类库

直接上图(mac环境): 一、设置项目的python版本 File->Default Settings ... ? 在弹出的界面上(参考下图),左上角的下拉框里...

5817
来自专栏dotnet & java

这可能是最low的发布dotnet core站点到centos7教程

不得不说:我在chrome上写了好长一段,贴了23张图,然后一个crash。。我想说我电脑上的chrome已经crash太多次了 以后一定要搞离线编辑的。

933
来自专栏北京马哥教育

ansible基础应用

一、运维主要工作 ? ansible聚集以上功能于一身,能够完整轻易的实现应用部署和批量命令功能,适用于主机数量不太多,再大的用puppet。 二、ansib...

3917
来自专栏从零开始学自动化测试

selenium+python在mac环境上的搭建

前言 mac自带了python2.7的环境,所以在mac上安装selenium环境是非常简单的,输入2个指令就能安装好 需要安装的软件: 1.pip 2.sel...

2994
来自专栏前端说吧

sublime--package control的配置与插件安装

5049
来自专栏开发技术

virtualBox安装centos,并搭建tomcat

  本文没什么难点,只是发现自己记忆不好,特别是搭建tomcat服务的时候,总是需要去重新查阅资料,特此就写这篇博客来加强自己的记忆,同时也给大家以参考;

1403

扫码关注云+社区

领取腾讯云代金券