侧边栏壁纸
Linux入门自学网博主等级

每日学一条Linux命令,终成Linux大神

  • 累计撰写 725 篇文章
  • 累计创建 143 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux emacs命令教程:如何使用emacs编辑器(附实例详解和注意事项)

Linux emacs命令介绍

emacs命令是用来启动GNU Emacs编辑器的命令。GNU Emacs是一个可扩展、可定制、自文档化的实时显示编辑器,它可以用来编辑各种类型的文本文件,以及执行各种编程语言和标记语言的代码。Emacs不仅是一个文本编辑器,它还是一个功能强大的框架,可以用来管理窗口、缓冲区、文件和进程。Emacs还提供了许多内置的工具,如邮件、新闻、网页浏览器、日历、计算器、游戏等。Emacs可以在多种平台上运行,包括GNU/Linux、BSD、其他Unix类系统,以及一些专有操作系统,如Microsoft Windows。

Linux emacs命令适用的Linux版本

emacs命令适用于几乎所有的Linux版本,只要安装了GNU Emacs软件包。不同的Linux发行版可能提供不同版本的GNU Emacs,一般来说,越新的版本越有更多的功能和修复。如果你的Linux系统没有安装GNU Emacs,你可以通过你的发行版的包管理器来安装,或者从GNU Emacs官网下载源代码并编译安装。下面是一些常见的Linux发行版的安装命令:

  • Debian/Ubuntu: sudo apt install emacs
  • Fedora: sudo dnf install emacs
  • CentOS 7: sudo yum install emacs
  • CentOS 8: sudo dnf install emacs
  • Arch Linux: sudo pacman -S emacs

如果你想在图形界面下运行emacs,你可以直接输入emacs命令。如果你想在终端下运行emacs,你可以使用emacs -nw命令。如果你想指定要编辑的文件,你可以在命令后面加上文件名,如emacs file.txt

Linux emacs命令的基本语法

emacs命令的基本语法如下:

emacs [options] [files]

其中,options是一些可选的参数,用来控制emacs的行为,files是要编辑的文件名,可以有多个。下面是一些常用的options

  • -nw:在终端下运行emacs,不使用图形界面。
  • -q:不加载用户的初始化文件(~/.emacs~/.emacs.d/init.el),只使用默认的设置。
  • -u user:加载指定用户的初始化文件,而不是当前用户的。
  • -l file:加载指定的Lisp文件,可以用来扩展emacs的功能。
  • --version:显示emacs的版本信息,并退出。
  • --help:显示emacs的帮助信息,并退出。

Linux emacs命令的常用选项或参数说明

下表列出了一些常用的emacs命令的选项或参数,以及它们的含义和示例:

选项或参数含义示例
-nw在终端下运行emacs,不使用图形界面emacs -nw file.txt
-q不加载用户的初始化文件,只使用默认的设置emacs -q
-u user加载指定用户的初始化文件,而不是当前用户的emacs -u bob
-l file加载指定的Lisp文件,可以用来扩展emacs的功能emacs -l my.el
--version显示emacs的版本信息,并退出emacs --version
--help显示emacs的帮助信息,并退出emacs --help
+number打开文件时,将光标移动到第number行emacs +10 file.txt
-geometry WxH+X+Y指定emacs窗口的宽度、高度、水平位置和垂直位置emacs -geometry 80x24+100+50
-t device将emacs的输出重定向到指定的设备,如终端或打印机emacs -t /dev/tty1
-batch在批处理模式下运行emacs,不显示任何输出,只执行指定的Lisp表达式或文件emacs -batch -l my.el

Linux emacs命令的实例

下面是一些使用emacs命令的实例,以及它们的效果:

实例1:在图形界面下启动emacs

命令:

[linux@bashcommandnotfound.cn ~]$ emacs

效果:在图形界面下启动emacs,显示欢迎界面,可以使用鼠标和菜单栏操作。

实例2:在终端下启动emacs

命令:

[linux@bashcommandnotfound.cn ~]$ emacs -nw

效果:在终端下启动emacs,显示欢迎界面,只能使用键盘操作。

实例3:编辑一个文件

命令:

[linux@bashcommandnotfound.cn ~]$ emacs file.txt

效果:在图形界面下启动emacs,并打开file.txt文件,如果文件不存在,则创建一个新文件。

实例4:编辑多个文件

命令:

[linux@bashcommandnotfound.cn ~]$ emacs file1.txt file2.txt file3.txt

效果:在图形界面下启动emacs,并打开file1.txt、file2.txt和file3.txt三个文件,每个文件占用一个缓冲区,可以在不同的缓冲区之间切换。

实例5:打开文件时,将光标移动到指定的行

命令:

[linux@bashcommandnotfound.cn ~]$ emacs +20 file.txt

效果:在图形界面下启动emacs,并打开file.txt文件,将光标移动到第20行。

实例6:指定emacs窗口的大小和位置

命令:

[linux@bashcommandnotfound.cn ~]$ emacs -geometry 100x30+200+100

效果:在图形界面下启动emacs,并将emacs窗口的宽度设置为100个字符,高度设置为30个字符,水平位置设置为距离屏幕左边缘200个像素,垂直位置设置为距离屏幕上边缘100个像素。

实例7:加载一个Lisp文件

命令:

[linux@bashcommandnotfound.cn ~]$ emacs -l my.el

效果:在图形界面下启动emacs,并加载my.el文件,该文件是一个Lisp文件,可以用来扩展emacs的功能。

实例8:在批处理模式下运行emacs

命令:

[linux@bashcommandnotfound.cn ~]$ emacs -batch -l my.el -f my-function

效果:在批处理模式下运行emacs,不显示任何输出,只执行指定的Lisp表达式或文件。这里加载了my.el文件,并调用了其中定义的my-function函数。

Linux emacs命令的注意事项

  • emacs命令的选项或参数之间必须用空格分隔,不能连写,如emacs-nw是错误的,应该写成emacs -nw
  • emacs命令的选项或参数的顺序不重要,可以任意排列,如emacs -nw file.txtemacs file.txt -nw是等效的。
  • 如果你的Linux系统没有安装GNU Emacs,你可能会看到如下的错误信息:
[linux@bashcommandnotfound.cn ~]$ emacs
bash: emacs: command not found

这时,你需要先安装GNU Emacs软件包,才能使用emacs命令。你可以参考上面的Linux emacs命令适用的Linux版本一节,根据你的Linux发行版,选择合适的安装命令。

  • emacs命令可以接受多个文件名作为参数,但是如果文件名中包含空格或特殊字符,你需要用引号将文件名括起来,如emacs "file name with spaces.txt"
  • emacs命令可以在图形界面或终端下运行,但是如果你想在终端下运行emacs,你需要使用-nw选项,否则emacs会尝试打开一个图形窗口,这可能会导致错误或卡顿。
  • emacs命令可以加载Lisp文件,用来扩展emacs的功能,但是你需要确保Lisp文件的语法正确,否则emacs可能会报错或崩溃。你可以使用--debug-init选项,来查看加载Lisp文件时的调试信息。
  • emacs命令可以在批处理模式下运行,不显示任何输出,只执行指定的Lisp表达式或文件,这可以用来做一些自动化的任务,如批量修改文件、生成报告等。但是你需要注意,批处理模式下的emacs不会加载用户的初始化文件,也不会执行一些图形界面相关的命令,你需要在Lisp表达式或文件中指定你需要的设置和功能。
  • emacs命令可以显示版本信息或帮助信息,并退出,这可以用来查看你的emacs的版本号或获取一些基本的帮助。但是你需要注意,这些选项会覆盖其他的选项或参数,也就是说,如果你使用了这些选项,emacs不会执行其他的操作,也不会打开任何文件。

Linux emacs命令的快捷键

Emacs的一个特点是它有很多快捷键,可以让你在不使用鼠标的情况下完成各种操作。快捷键通常由一个或多个修饰键和一个普通键组成,如C-x C-s表示先按住Ctrl键,然后依次按下x和s键。下面是一些常用的快捷键,以及它们的功能:

  • C-x C-f:打开一个文件,或者创建一个新文件。
  • C-x C-s:保存当前文件。
  • C-x C-c:退出emacs。
  • C-x C-b:列出所有的缓冲区,可以在不同的缓冲区之间切换。
  • C-x 1:关闭除了当前缓冲区以外的所有窗口。
  • C-x 2:将当前窗口水平分割为两个窗口。
  • C-x 3:将当前窗口垂直分割为两个窗口。
  • C-x o:在不同的窗口之间切换。
  • C-x b:切换到另一个缓冲区。
  • C-x k:关闭当前缓冲区。
  • C-g:取消当前的操作或命令。
  • C-h t:打开emacs的教程,可以学习更多的快捷键和技巧。
  • C-h a:搜索一个命令,可以输入关键字,查看相关的命令和快捷键。
  • C-h k:查看一个快捷键的功能,可以输入一个快捷键,查看它对应的命令和说明。
  • C-h f:查看一个函数的文档,可以输入一个函数名,查看它的用法和参数。
  • C-h v:查看一个变量的值和文档,可以输入一个变量名,查看它的当前值和说明。
  • C-h i:打开emacs的信息系统,可以浏览各种主题的手册和文档。
  • C-h C-h:查看更多的帮助选项,可以选择不同的帮助主题和命令。

这些快捷键只是emacs的冰山一角,你可以通过不断的练习和探索,发现更多的快捷键和功能。你也可以自定义你自己的快捷键,或者使用别人已经定义好的快捷键集合,如[Evil],它可以让你在emacs中使用Vim的快捷键。

Linux emacs相关命令

除了emacs命令以外,还有一些和emacs相关的命令,可以用来执行一些特定的任务,或者提供一些额外的功能。下面是一些常见的emacs相关命令,以及它们的作用:

  • emacsclient:连接到一个已经运行的emacs服务器,可以在不启动新的emacs进程的情况下编辑文件或执行命令。
  • etags:生成一个标签文件,可以用来在emacs中快速跳转到函数或变量的定义处。
  • ctags:类似于etags,但是支持更多的编程语言,也可以被其他编辑器识别。
  • ebrowse:生成一个类浏览器文件,可以用来在emacs中查看C++类的层次结构和成员。
  • ediff:在emacs中比较两个或三个文件的差异,并提供交互式的合并功能。
  • eudc:在emacs中访问LDAP或PH服务器,可以用来查询和更新目录信息。
  • gnus:在emacs中阅读和发送邮件和新闻。
  • org-mode:在emacs中管理笔记、任务、日程和项目,支持多种格式的导出和导入。
  • calc:在emacs中使用一个强大的计算器,支持各种数学运算和函数。
  • games:在emacs中玩各种游戏,如五子棋、黑白棋、俄罗斯方块、贪吃蛇等。
0

评论区