emacs下安装eaf

news2024/12/26 23:04:35

emacs下安装eaf插件

原因

eaf插件一开始还有点排斥,觉得emacs终端下操作多好多流畅。想要浏览器,终端和pdf再快速切换就可以了,毕竟我用i3wm/yabai窗口管理器。
但是想到当初也是vim用的多学得多,emacs就不愿意去接触学习,觉得精力有限,结果就是与emacs错过了这么多年。
想到这就想着先安装好eaf插件玩一段时间,真不喜欢再卸载呗。

准备

最近两周都在使用doomemacs,确实很多功能和快捷键配置的非常不错,但是我又开始不断切换到自己的配置去学习doomemacs,比如leader键设置为SPC,org-mode下TAB键和evil的冲突,org-agenda打开直接在buffer下和另起一个窗口等。

这次安装我选择了自己的emacs配置和manjaro操作系统。

我自己是通过以下去切换doomemacs和自己的emacs配置的。

# 切换到我的emacs配置
ln -s ~/dir/emacs.d ~/.emacs.d 
# 切换到doomemacs配置
ln -s ~/doom.emacs.d ~/.emacs.d

切换的时候记得删除下软链接

rm -rf ~/.emacs.d

能正常切换和使用。

eaf安装

下载

git clone --depth=1 -b master https://github.com/emacs-eaf/emacs-application-framework.git ~/.emacs.d/site-lisp/emacs-application-framework/

cd ~/.emacs.d/site-lisp/emacs-application-framework
chmod +x ./install-eaf.py
./install-eaf.py

这个过程会非常久,耐心等待。

emacs里的配置

(add-to-list 'load-path "~/.emacs.d/site-lisp/emacs-application-framework/")
(require 'eaf)
(require 'eaf-terminal)  ;;终端
(require 'eaf-browser)   ;;浏览器
(require 'eaf-pdf-viewer) ;;pdf

python依赖包下载

如果现在直接运行 emacs,用eaf去打开,会报很多错,我把缺失的依赖整理了下,也可能是前面安装的时候中段过。

pip3 install PyQt6
pip3 install pyqt6-webengine 
pip3 install sexpdata
pip3 install epc
pip3 install fitz
pip3 install frontend

其中pywebengine 针对的是pyqt5的不要下,下载pyqt6-webengine。

错误一

RuntimeError: Directory ‘static/’ does not exist

# 如果有这个错误再安装下
pip3 install pymupdf

错误二

eaf打开终端会报错 make找不到

# eaf打开终端会报错 make找不到
sudo pacman -S make

# 还有app/terminal下没有node_module
cd ~/.emacs.d/site-lisp/emacs-application-framework/app/terminal
# 顺手install了下
npm install

错误三

node这个文件或者目录找不到

一开始我还以为是eaf里面本身要这个目录,代码跟踪了下,发现是我安装的是解压版node,所以我的node不在/usr/bin下,软链接下。

sudo ln -S 自己的node  /usr/bin/node

eaf使用

函数作用
eaf-open打开pdf
eaf-open-terminal打开终端
eaf-open-browser打开浏览器

使用了下还不错,但是快捷键还不怎么会用。
我一般都是连接27寸显示器的。如果左边buffer记笔记,右边eaf看pdf感觉还是挺香的。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/115563.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux系统下的压缩和解压指令

Linux系统下的压缩和解压指令 gzip/gunzip指令 gzip:用于压缩文件;gunzip:用于解压的 语法:gzip file 以及 gunzip file.gz (压缩文件,只能将文件压缩为*.gz文件) gzip /home/hello.txt: gzip压缩,将/home下…

Android设计模式详解之观察者模式

前言 观察者常用于订阅-发布系统,能够将观察者和被观察者进行解耦,降低两者之间的依赖; 定义:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态时,则所有依赖于它的对象都会得到通知并被自动更新…

湖南人与江西人,关系有多密切?回顾四省填湘的历史

现在的湖南人,可能90%都是四省填湘的移民后代,这种说法可信吗?而湖南人又与江西人的关系有多密切呢?我们来回顾一下四省填湘的历史吧。 四省填湘的背景 在历史上,湖南属于广义上的荆楚之地,是春秋战国时…

图解深度学习-神经网络

深度学习 深度学习是一种统计学习方法,可以在大量数据中自动提取关键特征信息。 深度学习的分类 深度学习的起源有感知器和基于图模型的玻尔兹曼机。在这两个的基础上引入多层结构形成了现在的深度学习。 神经网络的历史 M-P模型和感知器模型 M-P模型是首个通过…

中断和中断系统

目录 中断的引入 中断的概念 中断源(2018年)背会 中断系统的功能 1:实现中断及返回 2:实现优先权排队(中断判优) 3:高级中断源能中断低级的中断处理 CPU对外部可屏蔽中断的响应以及中断过…

AtCoder Grand Contest 060 A - No Majority

比赛名称:AtCoder Grand Contest 060 比赛链接:AtCoder Grand Contest 060 A - No Majority 题意: 一个由小写英文字母组成的字符串x被认为是好的,当且仅当以下条件得到满足。 x的每一个长度为2或更大的(连续的&am…

springmvc源码之DispatcherServlet前端控制器

系列文章目录 springmvc源码之Web上下文初始化 springmvc源码之DispatcherServlet前端控制器 文章目录系列文章目录DispatcherServlet前端控制器配置serlvet3.0扩展静态资源请求问题源码分析初始化配置刷新WebApplicationContextonRefresh介绍各个组件处理请求getHandlerha.ha…

与时代共命运:数智时代的到来意味着什么?

在数字经济时代背景下,各行各业都在全面推动新技术与商业的加速融合,全力驱动商业模式创新。 当下科技迅速发展,而数智化的发展体现的是社会与经济向新范式的根本转变。而这种转变为企业带来的是产业组织模式、现代基础设施体系、科技人才培…

Iceberg-Trino 如何解决链上数据面临的挑战

1.链上数据处理面临的挑战 区块链数据公司,在索引以及处理链上数据时,可能会面临一些挑战,包括: 海量数据。随着区块链上数据量的增加,数据索引将需要扩大规模以处理增加的负载并提供对数据的有效访问。因此&#xff…

应用层概述(计算机网络-应用层)

目录 网络应用 网络应用程序体系结构 客户/服务器体系结构 P2P对等体系结构 网络应用程序体系结构 应用层协议 网络应用 网络应用是计算机网络体系结构的最上层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分 我们以一些经典的…

如何选择一个合适的Web存储方案

Web客户端存储是一个现代Web应用必不可少的功能,常见的有Cookie、WebStorage和IndexedDB等,如何选择一个合适的Web存储方案呢? 一. Cookie 1. 为什么要有Cookie? HTTP协议是无状态的,即一次请求和响应就是一次完整地HTTP通信&…

Oracle监听报错相关问题汇总

监听服务报错问题汇总: 1.Windows 2008系统下oracle 11g监听异常死机,无法连接 **C:\Users\administrator>lsnrctl status LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 16-9月 -2020 10:09:26 Copyright (c) 1991, 2010, Orac…

(十六).net学习之SOA-WebService

SOA-WebService一、SOA的思想,分布式服务1.SOA2.优势3.数据总线二、建立webservice1.关于webservice2.具体实现三、WCF多宿主协议1、自托管宿主2、windows service宿主3、IIS宿主4、WAS宿主一、SOA的思想,分布式服务 1.SOA SOA:面向服务架构&#xff0…

一个umi4的项目适配到FireFox60.7.1esr版本上的从头到尾

项目场景: 一个使用umi4创建的大屏项目,用户的浏览器使用的是火狐60.7.1的稳定版。然后就报错了!!! 为什么不让用户换谷歌嘞,咱也不知道。那咱就搞兼容吧~~ 贴个浏览器的版本图片: 问题历程 …

【springboot】从解决@valid失效问题 到根据判断放行的更灵活替代方案 再到优雅的打日志

文章目录前言valid失效问题替代方案前言 valid 可以帮助我们节省很多代码 比较方便 但操作失误时 可能会失效 达不到我们预期效果; valid会有个问题 因为注解过于方便 反而会导致拦截后 错误日志的收集会比较麻烦 ,以及在面对有时需要拦截 有时不需要拦截…

机器学习中的模型选择和评估

机器学习中的模型选择和评估1. 介绍2. 模型拟合效果2.1欠拟合与过拟合表现方式2.2 避免欠拟合与过拟合的方法3.实例分析3.1鸢尾花数据集3.2 对鸢尾花数据进行聚类1. 介绍 在机器学习系统中,如何训练出更好的模型、如何判断模型的效果,以及模型是否过拟合…

【内存对齐】一篇文章带你看懂内存对齐(万字详细介绍+代码样例)

目录 为什么需要内存对齐 性能 范围 原子性 结论 数据模型 C 的内存对齐 具名要求 平凡类 标准布局类 平凡类与标准布局类总结 标准布局类的内存对齐 普通的标准布局类 带有位域的标准布局类 手动指定对齐大小的标准布局类 非标准布局类的内存对齐 GLSLang 的…

分布式事务(3):AT模式实战-Seata

1 介绍 Seata(Simple Extensible Autonomous Transaction Architecture,简单可扩展自治事务框架)是 2019 年 1 月份蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案。Seata 开源半年左右,目前已经有接近一万 star,社…

信息系统项目管理师考试总结

1、结果展示 从结果上看,论文刚刚过,案例分析差两份,选择题差五分。 问题一:案例分析中,计算题可以拿到分,提高案例分析的通过率。计算题比较客观。可以在下一次考试中多准备准备。 问题二:客观…

QUIC的诞生

背景 自1999年HTTP/1.1被提出以来,它已经稳定地被使用超过了20个年头。不过经典并不意味着完美,HTTP/1.1中一个连接同一时刻只能处理一个HTTP请求,如果当前的请求没有结束之前,其他的请求只能处于阻塞状 态。这一“对头阻塞”问题…