Windows下使用单程序(server)模式打开Emacs和VIM
折腾目标:每次打开新文件时,使用已经打开的Emacs和VIM,不单独开一个新窗口。
Emacs篇
Emacs启动速度和Org-mode加载速度极渣,默认每次用runemacs新开一个程序相当蛋疼。
解决方案即是使用大家所熟悉的标准Server模式了。
- 在emacs配置文件中,默认打开Server模式
- 使用emacsclientw打开文件
具体做法:新建BAT文件内容如下,文件选择默认用这个BAT打开
echo off
start emacsclientw.exe -a "C:\green\Emacs\bin\runemacs.exe" -c %1
解析
- -a 参数设置不存在server的情况下的替换编辑器
- -c 参数新建窗口打开文件,而不是在当前窗口
VIM篇
Vim启动速度一直极佳,说实话以前一直没想着用什么Server模式。
只是在Emacs Server用习惯了以后,发现Server有不少优点
- 在同一个程序内复制黏贴方便
- 我配置了退出时记录窗口位置和大小,启动时还原。但多窗口下有点鸡肋。
具体做法:新建BAT文件内容如下,文件选择默认用这个BAT打开。
此方法意外解决了文件默认关联gvim的时候,Listary里打开还是用的notepad
echo off
start gvim.exe --remote-tab-silent %1
解析
- –remote-tab-silent参数中
- remote代表Server模式
- tab代表用新tab打开文件
- silent代表不存在Server的时候不报错
折腾感言
vim的单参数方案显然比emacs需要两个执行文件还各种设置要高大上的多。
本文介绍了如何在Windows环境下,通过服务器模式来使用Emacs和VIM,以便在打开新文件时复用已存在的进程,避免频繁创建新窗口。针对Emacs,通过配置启动Server模式和使用emacsclientw打开文件;对于VIM,利用--remote-tab-silent参数在已有窗口中打开文件,提升工作效率。
721

被折叠的 条评论
为什么被折叠?



