Emacs Python 自动补全之 eglot
eglot
个人水平有限,自己的测试难免有不足甚至错误的地方。欢迎各位emacser 能前来留言交流。
首先eglot 是一个lsp-mode的集成环境。作者说这不仅仅是一个lsp工具。但是我从其说明文档中没有得到更多的东西。eglot 相当于只是一个框架。需要什么功能,还需要另外单独安装,其对应关系如下:
- Javascript's javascript-typescript-stdio
- Rust's rls
- Python's pyls
- Ruby's solargraph
- Java's Eclipse JDT Language Server
- Bash's bash-language-server
- PHP's php-language-server
- C/C++'s ccls (cquery and clangd also work)
- Haskell's IDE engine
- Kotlin's kotlin-language-server
- Golang's go-langserver
- Ocaml's ocaml-language-server
- R's languageserver
- Dart's dart_language_server
比如,这个测试中需要支持python 的lsp . 就需要去安装pyls. 各个lsp 的入口,可以在eglot 的README中查找。下面是安装eglot (pyls).
eglot 依赖于pyls. 因此安装的时候需要将两者同时安装。
M-x package-install RET eglot RET
pip3 install 'python-language-server[all]'
安装完成后进行配置:
(add-hook 'python-mode-hook 'eglot-ensure)
在打开 ".py" 文件时自动识别为python-mode,并启动eglot.
但是自动补全功能并不好用, 不会自动提示可补全项。需要按TAB, 才会出现 。而且不支持使用M-n (n 属于0-9) 来选择补全项。
Emacs Python 自动补全之 eglot的更多相关文章
- Emacs Python 自动补全之 jedi
jedi jedi 的安装配置并不是很友好.github 上也没有明确说明.查了很多资料, 最后才配置成功.可是效果却不是很理想.在补全的时候有明显的卡顿现象. 不知道网上这么多人对其推崇备至是因为什 ...
- Emacs Python 自动补全--Elpy
安装方法: 首先,安装一些依赖包: # Either of these pip install rope pip install jedi # flake8 用来检查语法错误 pip install ...
- Python自动补全
转自:http://blog.linuxeye.com/324.html Python自动补全有vim编辑下和python交互模式下,下面分别介绍如何在这2种情况下实现Tab键自动补全. 一.vim ...
- Python 自动补全(vim)
一.vim python自动补全插件:pydiction 可以实现下面python代码的自动补全: 1.简单python关键词补全 2.python 函数补全带括号 3.python 模块补全 4.p ...
- vim python自动补全插件:pydiction
vim python自动补全插件:pydiction 可以实现下面python代码的自动补全: 1.简单python关键词补全 2.python 函数补全带括号 3.python 模块补全 4.pyt ...
- MacOS python自动补全设置
1. 新建python自动补全脚步 $ cd <workdir> $ touch tab.py $ vim tab.py,输入如下内容后保存 $ chmod +x tab.py #!/us ...
- [转] vim配置python自动补全
vim python自动补全插件:pydiction 可以实现下面python代码的自动补全: 1.简单python关键词补全 2.python 函数补全带括号 3.python 模块补全 4.pyt ...
- Sublime Text3 python自动补全问题——Sublime Text3安装Anaconda插件
学习python的时候 在编辑器的选择上会有很多选择,我最终还是选择了sublime text3. 相对于其他编辑器,sublime text有以下特性: 插件多,类似GoSublime,Emmet信 ...
- vim中设置Python自动补全
转自:http://blog.csdn.net/wangzhuo_0717/article/details/6942428 在VIM里面增加python的autocomplete功能的做法如下: 1. ...
随机推荐
- Delphi FileListBox组件
- redis弱密码漏洞利用
背景: redis无认证,或者弱密码,可以成功连接到redis服务器 反弹shell拿到的权限取决于redis的启动账号 操作: 1. Centos7安装redis客户端 #yum install r ...
- eclipse中安装Activiti插件
由于公司网络问题,不能在线安装,下载到本地的插件,安装也是各种问题,后面终于找到能安装的插件包 1.下载eclipse activiti插件包 链接:https://pan.baidu.com/s/1 ...
- C#线程中LOCK的意义
学习心得,为的是让新人能理解,高手直接绕~ lock 确保当一个线程位于代码的临界区时,另一个线程不进入临界区.如果其他线程试图进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放. 引用一句 ...
- VMware中的桥接模式--来自网络
在桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一独立的主机,它可以访问网内任何一台机器.不过你需要多于一个的IP地址,并且需要手工为虚拟系统配置IP地址.子网掩码,而且还要和宿主机器处于 ...
- 本地安装sass出错问题解析
2016年3月23日个人博客文章--迁移到segmentfault 安装sass ruby安装因为sass依赖于ruby环境,所以装sass之前先确认装了ruby.先导官网下载个ruby 在安装的时候 ...
- 理解 Cookie、Session、Token
发展史 Cookie Session Token Token的起源 基于服务器的验证 基于服务器验证方式暴露的一些问题 基于Token的验证原理 Tokens的优势 发展史 1.很久很久以前,Web ...
- Django + pyecharts 实现数据可视化
1 创建django项目 :Visualization and APP :Demo >>django-admin startproject Visualization >>p ...
- java邮箱正则验证
import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class tes ...
- python re.search方法
re.search 扫描整个字符串并返回第一个成功的匹配. 函数语法: re.search(pattern, string, flags=0) 函数参数说明: 参数 描述 pattern 匹配的正则表 ...