将Emacs写作环境转移到Windows
Bash on Ubuntu on Windows(简称WSL)发布了,随着这个subsystem的发布和完善,估计以后Linux只会在虚拟机上跑了。我当然希望用WSL来搭建写作环境,但WSL默认只提供对命令行程序的支持,不建议使用GUI程序,虽然可以通过安装xming,Xmanger等Xserver方法的方法,让WSL的GUI程序跑在Windows上。emacs也能成功安装和运行,但Bash下并不支持中文输入。让emacs跑在xserver上,同样没有办法调出输入法。估计以后成熟了GUI程序还是能够跑起来的,先放弃WSL,暂时用msys2搭建环境,从结果来看还算是满意的。
1 安装windows版本的node
到nodejs官网下载node 4.4.7,并安装到d:\Runtime\nodejs,执行以下命令,能正常输出node版本号,说明你已经安装成功了。
node -v |
2 配置mingw64的环境变量
我自己比较喜欢用emacs,博客都是用org来写的,org文件的渲染是依赖emacs的,emacs是安装在ming64环境里面的,所以hexo要能成功调用emacs,就需要把nodejs的环境变量添加到mingw64的环境中。 打开mingw64
vim .bashrc |
3 安装python2,python3
pacman -S python2 python3 |
4 安装git
打开mingw64,关于mingw32、mingw64、msys2的差别,参考文章MSYS2 + MinGW-w64 + Git + gVim 环境配置
pacman -Syu |
把之前在Linux下生成的idrsa、idrsa.pub拷贝到mingw64的~/.ssh目录下,或者重新生成rsa的私钥和公钥,生成方法参考如何生成SSH key。
5 安装Hexo
打开mingw64
cd ~ |
浏览器中输入http://loalhost:4000,应该能看到Hexo的Hello World页面。
6 安装主题maupassant
cd ~/blog |
7 安装相关插件
npm install hexo-asset-image --save |
新版本的hexo-assert-image@0.0.2对图片的路径计算有误,需要将路径的"./“这两个字符去掉。
#第30行 |
8 配置blog-admin
参考我的spacemacs的Layer 迁移到Windows下,表格中英文混排时无法对齐的问题又再次出现,解决方法是在dotspacemacs/user-config函数当中添加如下内容。参考文章org-mode的一些小技巧
(set-default-font "Ubuntu Mono 12") |
9 配置Emacs默认浏览器
我自己默认的浏览器是Firefox,虽然Emacs自带的函数browse-url-firefox是针对Linux系统的,需要定义一个新的函数,替换它的作用。打开~/.spacemacs 在dotspacemacs/user-config函数当中添加如下内容。 参考文章:BrowseUrl
(defun dotspacemacs/user-config () |
10 安装字体
Ubuntu Mono 我比较喜欢的英文字体,我是用它作为我的默认英文字体的。 雅黑-Consolas混合字体,编程专用 如果用其他的编辑器,只能设置一种字体,这种字体中英文看起来都很不错,非常适合我们程序员使用,为了在编辑器中看起来更加锐利,用IE打开链接cleartype设置显示效果。Emacs是可以针对中英文设置不同的字体的,中文字体我比较喜欢雅黑,具体设置方法参考配置blog-admin一节。
至此总算把Emacs的写作环境搭建好了,回到Windows的感觉真好,Windows下的丰富的各种应用程序,而且现在有了Bash On Windows,实在需要到Linux下跑的程序就放到WSL下跑就可以了 。短期来看,硬盘中的Linux还是要保留的,用WSL编译程序经常会出各种莫名其妙的问题的。
11 后记
Windows 10的更新策略改变之后,每次大的版本更新就像是重装一次系统似的,需要等待漫长的更新时间。特别如果你加入了Insider Preview计划,这个更新更加是频繁发生。终于有一次更新后,连grub引导都发生了,导致无法启动系统。原因是这个版本的更新,从主分区中划分出来一个大概500m的recovery分区,连我自己做好的分区都敢动,微软你的胆子也太大了。实在受够了这个胆大妄为的做法,我决定还是回到Linux的怀抱,令我欣喜的是随着WPS版本的更新,WPS的Linux版本可以稳定使用了,这次Windows真的可以byebye了。