美文网首页Lispemacs lisp语言介绍
[Emacs] Emacs之魂(二):一分钟学会人界用法

[Emacs] Emacs之魂(二):一分钟学会人界用法

作者: 何幻 | 来源:发表于2017-05-12 13:18 被阅读443次

    上文提到了编辑器之战
    据江湖传说,Emacs被称为“神的编辑器”,
    Emacs有着无与伦比的可扩展性和可定制性,简直变成了一个“操作系统”。

    使用Emacs你可以收发电子邮件,
    编辑远程档案,登录远程主机,登录IRC和朋友聊天,
    当做计算器,管理目录,进行文件比较合并,浏览网站,
    甚至还可以模拟其他编辑器,玩游戏,煮咖啡,等等,
    最不济的话,用它还可以写代码,编辑文本文件。

    Emacs有这么强大的功能,是因为用户可以无限制的扩展它,
    我们可以用elisp写代码,然后让Emacs做任何事情,
    Emacs有多强大,完全取决于它的使用者有多强大,
    像这样使用Emacs,我们称之为“神界用法”。

    然而,在没有学会elisp之前,用它默认提供的功能就够了,我们可以称之为“人界用法”。
    本文我们会发现,用一分钟学会人界用法,并不困难。
    下面我们先下载安装Emacs吧,我想,这不应该记入在那一分钟之内。

    Mac用户可以到这里下载安装,Emacs For Mac OS X
    Windows用户可以到这里下载,Emacs For Windows
    也可以通过命令行来安装,GNU Emacs: Download & installation

    安装完打开后,终于可以看到它的庐山真面目了,


    一分钟学会

    如图所示,一个Emacs编辑器可以包含多个frame,默认只打开一个,
    一个frame包含了tool bar,buffer,mode line和each area,
    其中,buffer+mode line合称一个window,一个frame可以包含多个window。

    buffer类似于其他编辑器中的标签,我们可以在一个window里面编辑不同的buffer,
    按住Ctrl键,在buffer中点击鼠标左键,就可以看到默认情况下Emacs加载了哪些buffer,
    我们可以选择一个buffer切换过去,然后使用同样的办法再切换回来。

    tool bar中包含了一些常用的功能,
    打开文件,新建文件,打开文件夹,关掉当前buffer,保存,撤销,剪切,复制,粘贴,查找。

    结合tool bar,以及切换buffer,我们已经在一分钟之内学会使用Emacs了。

    快捷键

    很多初学Emacs的同学被它的快捷键吓倒了,因为有些Emacs教程不喜欢人们使用鼠标,
    其实有些场景,用鼠标可能会更快或者更直观,何乐而不为呢?
    Emacs有多强大,完全取决于它的使用者有多强大,因此不必让快捷键束缚自己
    例如,切换buffer,点击buffer中的某个链接,等等。

    然而,学会使用快捷键在大多数情况下都是高效的,
    保存文件,上下左右移动光标,跳转到行首或者行尾,删除光标右边的一个字符,
    这些都是平时用的最多的命令操作,总是通过点击tool bar或者把手移动到方向键上是很不方便的。

    Emacs的快捷键非常之多,还可以自定义快捷键,
    大部分Emacs教程,喜欢这样罗列它们。

    C-f 后一个字符
    C-b 前一个字符
    C-p 上一行
    C-n 下一行
    M-f 后一个单词
    M-b 前一个单词
    C-a 行首
    C-e 行尾
    C-v 向下翻一页
    M-v 向上翻一页
    M-< 到文件开头
    M-> 到文件末尾
    
    C-x C-f "find"文件, 即在缓冲区打开/新建一个文件
    C-x C-s 保存文件
    C-x C-w 使用其他文件名另存为文件
    C-x C-v 关闭当前缓冲区文件并打开新文件
    C-x i 在当前光标处插入文件
    C-x b 新建/切换缓冲区
    C-x C-b 显示缓冲区列表
    C-x k 关闭当前缓冲区
    C-z 挂起emacs
    C-x C-c 关闭emacs
    

    其中,C表示Ctrl键,M表示Alt键,C-f表示按住Ctrl然后按f,
    C-x C-s表示先按Ctrl+x,再按Ctrl+s,
    C-x b表示先按Ctrl+x,再按b。

    如何记快捷键

    如果你和我一样,仅仅看到上面那些快捷键就已经懵逼了,不妨按下面的方法试一试,

    (1)只记那些自己经常用到的快捷键,练熟变成手指的条件反射
    (2)把快捷键的功能写在前面,键位写在后面,按逻辑功能分类
    (3)不知道用什么快捷键时,去网上搜一下

    有了这些经验之后,就不用记那么多快捷键了,
    相信我,不用快捷键也慢不了多少,因为编程的瓶颈不在打字速度上。

    此外,把功能写在前面有助于按逻辑功能分类,查找时也更方便,
    有些快捷键基本上不会被用到,那还是忘了它吧,省得占用大脑内存。
    以下是我总结的常用快捷键,

    剪切: C-w
    复制: M-w
    粘贴: C-y
    
    上一行: C-p
    下一行: C-n
    左移一个字符: C-b
    右移一个字符: C-f
    行首: C-a
    行尾: C-e
    
    文章开头: M-S-,
    文章结尾: M-S-.
    
    向上搜索: C-r
    向下搜索: C-s
    替换:M-S-5
    
    撤销: C-x u
    保存: C-x s
    保存,不提示: C-x C-s
    
    全选: C-x h
    退出: C-x C-c
    
    取消命令: C-g
    
    切分成两个窗口: C-x 2
    关闭其他窗口: C-x 1
    切换窗口: C-x o
    
    剪切光标到行尾: C-k
    删除下一个字符: C-d
    
    显示所有buffer:C-mouse
    关闭当前buffer:C-x k
    

    总结

    本文介绍了Emacs的安装和“人界用法”,最后分享了一个记快捷键的小窍门。
    我们也实在没有必要因为在幼儿园中记不住座位的摆放位置而放弃学业。

    Emacs有多强大,完全取决于它的使用者有多强大,因此,努力锻炼自己才是Emacs用户的精髓,
    从下文开始,我们开始开始学习elisp,逐步探讨这门语言作为可编程的编程语言(programmable programming language)的真谛。


    参考

    Emacs 入门
    Emacs 教程
    Emacs 快捷键

    相关文章

      网友评论

        本文标题:[Emacs] Emacs之魂(二):一分钟学会人界用法

        本文链接:https://www.haomeiwen.com/subject/zbvztxtx.html