首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Emacs 系列(一):抛掉一切,投入 Emacs 和 org 模式的怀抱

你不仅可以用它来编辑源代码,而且配置 Emacs 本身也是编程,里面有很多模式。就像编写一个 Firefox 插件一样简单,只要几行代码,然后,模式里的操作就改变了。 org 模式也一样。...最关键的是,自动嵌入到笔记中的链接可以链接到我按下 C-c c 键时正在编辑的那一行。如果我正在编辑文件,它会链回到那个文件和我所在的行。...如果我正在浏览邮件,它就会链回到那封邮件(通过邮件的 Message-Id,这样它就可以在任何一个文件夹中找到邮件)。聊天时也一样,甚至是当你在另一个 org 模式中也可也这样。...这个设置在不运行多个 emacs 们(emacsen)时很方便,因为这样就不会在试图捕获另一个打开的文件时出问题。这中方法很简单:创建一个叫 em 的脚本并将它放到我自己的环境变量中。就像这样: #!...这样做还有一个好处:-nw 之类的参数工作的很好,它实际上就像在 shell 提示符下输入 emacs 一样。它很适合用于设置 EDITOR 环境变量。

83810
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    spacemacs HowToUse 常用概念和模式切换

    一个emacs可以存在很多很多buffer。...作为一个session,保存下来 motion 当光标从一点移动到另外一点,在这两点之间的文本(包括这两个点)称作被“跨过”,这里的命令也被称作是 motion Vim的几种模式 正常模式:可以使用快捷键命令...ctrl+v进入可视块模式。 替换模式:正常模式下,按R进入。...模式切换 键 功能 i 在光标左侧输入正文 I 在光标所在行的行首输入正文 a 在光标右侧输入正文 A 在光标所在行的行尾输入正文 o 在光标所在行的下一行增添新行,光标位于新行的行首 O 在光标所在行的上一行增添新行...可依次类推 :r filename 在当前位置插入另一个文件的内容 :[n]r filename 在第n行插入另一个文件的内容 :r !date 在光标处插入当前日期与时间。同理,:r !

    1K20

    为什么要选择Vim编辑器

    当光标从一点移动到另外一点,在这两点之间的文本(包括这两个点)称作被“跨过”,这里的命令也被称作是 motion。...因此这个命令在编辑程序代码的时候非常有用,可以让你方便的在一段代码的头尾间移动。 5高效的输入编辑 1、使用关键词自动完成 VIM 有一个非常漂亮的关键词自动完成系统。...非常强大,只在很少的编辑器中才有这样的功能。你可以选择一个矩形块,并且在这个矩形里面的文本会被高亮。 在选择模式的时候使用上面所述的方向键和命令(motion)。...并且VIM中已经默认安装了Ctags,它可以帮助程序员很容易地浏览源代码。...还可以输入一个正则表达式,这类似于egrep程序的功能。 在源代码目录下打开vim。

    1.3K30

    软件设计(七)

    通信图:强调收发消息的对象的结构组织,强调参加交互对象的对象组织,在早期版本也称呼为协作图。 活动图:是一种特殊状态图,它展现了在系统内从一个活动到另一个活动的流程。...表现媒体指进行信息输入和输出的媒体,如键盘、鼠标、话筒喇叭等。 65、解释器设计模式:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。...策略设计模式:定义一系列算法,把他们都封装起来,并且使他们可以相互替换。 中介者:用一个中介对象来封装一系列的对象交互。...Command(命令)模式中,令牌代表一个请求。 Visitor模式中,一个visitor 对象是一个多态的accept操作的参数,这个操作作用于该visitor对象访问的对象。...67、DNS域名依次查询的次序:本地hosts文件 到 本地NDS缓存 到 本地DNS服务器 到 根域名服务器。 68、TCP与IP协议栈中协议和层次对应关系正确的是?

    44130

    用了VS Code、IDEA等十几款编辑器后,我总结出优秀编辑器的特质

    打字准确和舒适的附加好处就是打字很快(我的打字速度为每分钟 120 到 130 个单词)。 不过,我认为编程时,速度并不重要,所以这里最重要的部分是舒适度:无论输入速度如何,手腕都不会动。...如果我的光标位于一个单词上,并且我想移至与我的光标在同一行上非常接近的另一个单词的开头,那么如果相隔三个单词,我将只输入www(或者 3w)。...在我的当前缓冲区中键入SPC l会发生: 键入任何高亮显示的字符将使我的光标跳至该字符。对于单词也是如此,命令是SPC w: 对于字符模式,输入 SPC c 后我必须按另一个字符(我想跳到的字符)。...2 其他模态技巧 对模态编辑而言,以下是我希望编辑器具备的功能列表,当然不止这些: C-i和C-o:这些使我可以跳转到缓冲区中的某个文件 / 某个位置,然后返回到C-o之前我所在的位置,或者输入C-i...它能为你做很多事情,其中一些真的给我留下深刻印象: 允许我在函数内选择代码块的重构机制,要求编辑器“将其移至专用函数中”。

    1.8K10

    听GPT 讲Rust源代码--srctools(9)

    这里需要处理不同语言特性的注释标记,例如在Rust语言中使用///形式的注释。 最后,将转换后的注释块插入到代码块的顶部,并删除原始的代码块。...在该文件中,有几个主要的enum类型: EditMode: 枚举了三种编辑模式,用于表示如何处理生成的修改。有两个分支可以选择求值和使该修改可接受,或者仅仅评估修改的效果。...将匹配模式、表达式和else分支的语句块提取出来,将其分别存储在独立的变量中。 构建一个新的match表达式,使用匹配模式对表达式进行匹配。...通过该处理器,用户可以在编辑Rust代码时将函数或其他项目从一个模块中移到另一个模块中,从而更好地组织代码结构。 该文件中包含了一系列的函数和结构体,用于实现移动操作的逻辑。...其实现过程涉及到代码解析、语法分析和修改源代码等步骤。 总结起来,move_from_mod_rs.rs文件是rust-analyzer工具中的一个处理器,用于实现从一个模块移动项目的功能。

    19731

    总结了 9 个绝佳的 Python Debug 工具

    Pyringe 另一个Python调试器工具,可以将不同的Python代码检查到实时进程中,以清楚地了解其当前状态。 PDB 一个用于远程服务器的源代码调试工具。...它是为不支持基于GUI的调试器的环境而设计的。 PyScripter 另一个Python IDE平台,提供各种功能来测试和调试Python代码。它允许开发者在浏览器中编写和运行Python代码。...网站链接:https://www.jetbrains.com/pycharm/ 3.Pyringe Pyringe[3]是另一个Python调试器,它帮助将不同的Python代码注入到实时进程中,以清楚地了解其当前状态...它允许在跨平台上发布和运行加密的python脚本。此外,为了减少出错的几率,它允许开发者突出显示语法。 它包括一个模拟Emacs python模式的编辑器。...你也可以通过这个调试器将输出重定向到一个特定的文件。 优点 不需要额外的设置。 支持前缀。 自动生成检查过的代码行的日志。 缺点 PySnooper中还没有发现缺点。

    2.3K50

    Python全网最全基础课程笔记(一)——基础入门

    函数 函数是执行特定任务的独立代码块,可以接受输入参数并返回结果。Python中的函数定义以def关键字开始。...函数与模块 函数是Python编程中的基础构建块,用于封装重复的代码逻辑。 模块和包用于组织和管理Python代码,提高代码的可重用性和可维护性。...#-*- coding:utf-8 -*-是Emacs特有的,不是Python官方推荐的编码声明方式。 五、代码缩进 Python中的代码缩进是Python语法的一个重要组成部分,它用于区分代码块。...Python使用缩进来组织代码块,这种方式有几个好处: 提高代码可读性:通过缩进来区分代码块,使得代码的结构更加清晰,易于阅读和理解。...这意味着你不能在一个代码块中使用4个空格进行缩进,而在另一个代码块中使用2个空格。 逻辑层次:缩进级别表示了代码的逻辑层次。每增加一层缩进,就表示进入了一个新的代码块。

    18200

    强大、好用、适合程序员软件开发者的专业编辑器笔记软件综合评测和全面推荐

    下面将选择一些备受好评的代表性产品进行综合测评。Emacs:神的编辑器首先出场的两个编辑器,便是在程序员中引起编辑器之战 的两个工具。这便是 Emacs 和 Vim 这两款传说级的编辑器。...Emacs 官网Vim:编辑器之神介绍Vim 是从 vi 发展出来的、一个高度可配置的文本编辑器,可以高效地创建和修改任何类型的文本。...vim 的基础快捷键非常简洁高效。如今,很多编辑器都以插件等形式,支持了 Vim 模式。...Boostnote 官网FlowUs:新一代的块编辑器和生产力工具介绍与前面的几款专门的代码编辑器不同,FlowUs 是一款 Notion Like 的块编辑器。当然,支持代码高亮、多编程语言。...一个集项目管理、组织、协作、写作等一体的  All in One 产品。除了支持 Notion 一样的块编辑器属性,以及多维表格。​其中,多维表格支持分组、筛选、排序等基本功能。

    1.1K20

    你应该学习正则表达式

    从验证电子邮件地址到执行复杂的代码重构器,正则表达式的用途非常广泛,是任何软件工程师工具箱中必不可少的条目。 ? 什么是正则表达式?...本教程中的示例源代码可以在Github存储库中找到——https://github.com/triestpa/You-Should-Learn-Regex 0 – 匹配任何数字行 我们将从一个非常简单的例子开始...这允许我们在文本块(而不是代码行)中匹配年份,这对于搜索如段落文本非常有用。 \b ——字边界 (19|20) ——使用或(|)操作数匹配’19′或’20′。...命令中正则表达式的另一个好处是在文本文件中修改电子邮件。...这是另一个实例,对此我强烈建议你使用经过良好测试的库和/或服务,以及使用白名单而不是黑名单,以保护你的应用程序免受恶意输入。

    5.3K20

    【SRE该掌握的利器】提升Shell脚本质量的利器:ShellCheck

    ShellCheck的安装指南    ShellCheck支持多种安装方式,包括使用包管理器、源代码编译,以及Docker容器。对于大多数Linux发行版,通过包管理器安装是最简便的方法。...Neomake:一个使用多种语言的异步构建系统和静态分析工具的聚合器。Syntastic:另一个为多种语言提供语法检查的插件。...Emacs对于 Emacs 用户,以下是集成 ShellCheck 的选项:Flycheck:一个用于 Emacs 的现代语法检查器。Flymake:一个传统的 Emacs 插件,用于实时语法检查。...Sublime Text在 Sublime Text 中,可以使用 SublimeLinter 插件来集成 ShellCheck,它是一个强大的代码检查框架。...# Redirecting to input # 重定向到输入while getopts "a" f; do case $f in "b") # Unhandled getopts flags # 未处理的

    43020

    物联网IEC 61499 框架介绍

    在这些设备中,我们讨论的运行时环境应该能够运行。 这将从顶部矩形接收信息以创建FB网络,执行它们,使事件从一个到另一个等等。 这些设备通常具有输入和输出,这些设备由运行时环境访问。...现在,在4DIAC中,您可以将创建的FB导出到FORTE代码(C ++文件)中。为了使其工作,您需要添加导出的代码并使用FORTE的源代码进行编译。...这只能用于基本和复合功能块(BFB和CFB),因为这两个定义都是标准的,但是服务功能块(SFB)应该从零开始编码,因为这些是定义不在标准中的FB 。...4DIAC是可扩展的,这意味着可以轻松地扩展它,以支持导出到另一个运行时环境。 人机接口 FORTE旨在在PLC中运行,因此不可能使用像人机界面(HMI)这样的图形用户界面。...换句话说,FBDK是另一个类似于4DIAC的工具,FBRT是一个类似于FORTE的runtinme环境,但它是用Java编写的,并且支持图形用户界面。

    1.7K50

    Emacs Lisp2

    Emacs: (在windows中可以双击emacs图标,在Linux中可以输入% emacs & ),;; 然后在键盘上键入q 跳过系统欢迎的信息,;; 先观察在Emacs屏幕的底部,会给出一堆关于当前的工作情况的信息...;; 缓冲区也叫做工作区,在Emacs中打开一个文件,实际只是在Emacs中构造该文件的一个副本,放到缓冲区中,;; 在Emacs中对该文件的编辑也是针对该副本的编辑,唯有保存改动时,Emacs才会把缓冲区中的内容在复制到原文件中去...C-j);; C-j是一个快捷命令,在后台,该快捷键将调用求值命令,并且把计算的结果;; 插入到当前的缓冲区中;; 如果不希望Emacs在缓冲区中插入计算结果,我们还可以在表达式的末尾使用C-x C-e...,我自己写了一个小函数,用于这篇文章中输入两个由 ~~~ 来标识的代码块(local-set-key (kbd "C-c C-`") '( lambda () (interactive)...,在我按下 Ctrl-c Ctrl-` 的时候,会自动输出一个 markdown 的代码框,然后将光标定位到要输入代码的位置----总结Lisp 真的很简洁优雅只是括号看起来有点怪它提供了编程的另一种思维方式很值得花时间了解一下

    98740

    Linux命令行的艺术

    另一个轻量级的解决方案是 dtach。 ssh 中,了解如何使用 -L 或 -D(偶尔需要用 -R)去开启隧道是非常有用的,例如当你需要从一台远程服务器上访问 web。...获取文件的八进制格式权限,使用类似如下的代码: 1 stat -c '%A %a %n' /etc/timezone 使用 percol 或者 fzf 可以交互式地从另一个命令输出中选取值。...使用 ag 在源代码或数据文件里检索(比 grep -r 更好)。...使用 shuf 从一个文件中随机选取多行。 了解 sort 的参数。处理数字方面,使用 -n 或者 -h 来处理可读性数字(例如 du -h 的输出)。明白键的工作原理(-t 和 -k)。...如果你想在 Bash 命令行中写 tab 制表符,按下 ctrl-v [Tab] 或键入 $'\t' (后者可能更好,因为你可以复制粘贴它)。 标准的源代码对比及合并工具是 diff 和 patch。

    6.9K72

    跟我一起学习VIM - The Life Changing Editor

    也很简单,先按 ESC ,再输入 :wq ,前面一步是告诉VIM退出 INSERT 模式,后面一个命令是保存退出。...下面是采用这种配色的VIM截图: Solarized配色还有一个使它能够成为最受欢迎的配色方案的理由,除了VIM之外,它还提供了很多 其它软件 的配色方案,包括: Emacs , Visual...代码资源管理器现在已经成为了各种各样IDE的标配,这可以大大提高管理源代码的效率。...、全局变量、函数、类等信息,鼠标点击时就会跳到相应的源代码所在的位置,非常便捷。...现代的各种编辑器一般都可以在输入一半符号的时候帮你自动补全另外一半。可有的时候你想修改、删除或者是增加一个块的配对符号时,它们就无能为力了。

    1.2K20

    【愚公系列】软考中级-软件设计师 012-程序设计语言基础知识(概述)

    函数(Functions):封装了一系列操作和计算过程的代码块,可以被多次调用和重复利用。函数可以接受参数,并返回一个值。数组(Arrays):用于存储和处理一组相同类型的数据元素的数据结构。...2.4 传输成分在程序设计语言中传输成分主要有:数据传输、赋值和输入输出是常见的操作,用于处理数据的传递、存储和展示。数据传输:数据传输是将数据从一个位置传递到另一个位置的过程。...3.函数在程序设计语言中,函数是一段封装了特定功能的可重复使用的代码块。函数接受输入参数,执行预定义的操作,然后返回输出结果。函数的存在可以简化程序的结构,提高代码的可重用性和可维护性。...函数的参数可以是输入参数,也可以是输出参数。函数通过调用函数名并传递参数来执行代码块中的操作。函数执行完毕后,可以返回一个值作为结果。...函数的作用有多种,可以用于执行一系列操作,执行特定的计算任务,或者封装某个特定功能。函数可以在程序中多次调用,方便代码的复用,同时也使程序更易读、理解和维护。

    17811

    如何在 Emacs 进行文学编程

    这段代码的返回值。 在实际使用中,运行上面的代码所得到的结果会出现在如下的 RESULTS block 中,我们可以通过设置代码块的 header 来控制结果的输出样式。...header 的选项非常多,我也只使用过其中一些,具体的细节请参考文档。 实战三 给代码块取名。 从 实战一 和 实战二 中,我已经给两个代码块都命名了。...如果我们不给代码块命名或是两个代码块名称重复的话,那们所有的结果都会出现在一个 RESULTS 里, 一般情况下这是我们想要避免的。 此外,代码块的名字还会在导出到其他格式时被保留。...HTML 版本,上面的第二个代码块和结果在 org mode 中是这样的。...> print(add(2, 2)) #+end_src #+RESULTS: second block to use add function : 4 实战五 使用其他代码块的输出作为一个代码块的输入

    74720

    10 个让你进入 Emacs 世界的技巧

    使用它的菜单,用鼠标选择区域,点击缓冲区内的按钮,不要让陌生感阻碍你的工作效率。 image.png 这些功能被内置到 Emacs 中,是因为用户在使用它们。...不过,还有另一个层次的键盘快捷键,与现代电脑上的任何东西都完全不同。有时,键盘快捷键并不只是一个键组合,而是由一系列的按键组成。...Emacs 中通用的紧急按钮是 C-g(就是 Ctrl+G)。 我通过将 G 与 GNU 联系起来来记住这一点,我想我是在呼吁 GNU 将我从一个错误的决定中拯救出来,但请随意编造你自己的记忆符号。...一个整天用 Emacs 写代码的人可能知道运行调试器或启动特定语言模式的所有键盘快捷键,但对 Org 模式或 Artist 模式一无所知。这很自然,也很好。...C-a:到行首 C-e:到行尾 C-k:剪切整行 M-f:向前一个字 M-b:向后一个字 M-d:剪切一个字 C-y:贴回(粘贴)最近剪切的内容 M-Shift-U:大写一个词 C-t:交换两个字符(例如

    82220

    Python|Google Python样式指南

    1 背景 Python是Google使用的主要动态语言。该样式指南列出了Python程序的注意事项。 为了帮助正确设置代码格式,所以为Vim创建了一个设置文件。对于Emacs用户,保持默认设置即可。...2 Python语言规则 2.1 Lint 对你的代码运行pylint 2.1.1 定义 pylint是用于在Python源代码中查找错误和样式问题的工具。...2.2 导入 仅对包和模块使用导入 2.2.1 定义 从一个模块到另一个模块共享代码的可重用机制。 2.2.2 优点 命名空间管理约定很简单。...2.3.1 优点 避免由于模块搜索路径不是作者期望的模块名称冲突或导入错误。使查找模块更加容易。 2.3.2 缺点 由于必须复制程序包层次结构,因此使部署代码更加困难。...尽量减少try/except块中的代码量. try块的体积越大, 期望之外的异常就越容易被触发. 这种情况下, try/except块将隐藏真正的错误.

    1.6K20
    领券