专栏首页Vamei实验室树莓派:文本编辑器与文件

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

作者: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询问你是否保存缓存中的修改:

<!-- 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 条评论
登录 后参与评论

相关文章

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

    GNU nano是Unix系统下一款常用的文本编辑器,以简单易用著称。与之相比,功能更强大的Vi和Emacs编辑器,学习曲线比nano陡峭很多。由于nano对于...

    Vamei
  • 概率论12 矩与矩生成函数

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 我们重新回到对单随机变量分布的研究。描述...

    Vamei
  • Python标准库02 时间与日期 (time, datetime包)

    Python具有良好的时间和日期管理功能。实际上,计算机只会维护一个挂钟时间(wall clock time),这个时间是从某个固定时间起点到现在的时间间隔。时...

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

    GNU nano是Unix系统下一款常用的文本编辑器,以简单易用著称。与之相比,功能更强大的Vi和Emacs编辑器,学习曲线比nano陡峭很多。由于nano对于...

    Vamei
  • 小程序使用view标签而不使用div的底层原因

    Web技术是非常开放灵活的,我们可以利用JavaScript脚本随意地跳转网页或者改变界面上的任意内容。

    薛定喵君
  • centos7上配置python3环境和

        centos7 默认的python版本是2.7,目前主流的python版本都是3.6或者3.7。centos的yum包管理器是基于python2编写的,...

    py3study
  • 「区块链技术指北」官方社区 bcage.one 上线

    本文由币乎社区(bihu.com)内容支持计划奖励。 这是「区块链技术指北」的第 16 篇文章。 如果对我感兴趣,想和我交流,我的微信号:Wentasy,加我时...

    robinwen
  • Spring Security笔记:自定义登录页

    以下内容参考了 http://www.mkyong.com/spring-security/spring-security-form-login-example...

    菩提树下的杨过
  • 数学模型的评估方法

    最近在学习机器学习的一些相关的算法,在学习过程中新接触到了大量的概念和原理。为了更好地提高学习的效果,于是就把在学习的过程中接触到的新概念和遇到的问题通通写进我...

    EatRice
  • 从源码透析gRPC调用原理

    gRPC是如何work的,清楚的理解其调用逻辑,对于我们更好、更深入的使用gRPC很有必要。因此我们必须深度解析下gRPC的实现逻辑,在本文中,将分别从客户端和...

    netkiddy

扫码关注云+社区

领取腾讯云代金券