Bitnut
2020 年11 月 16 日 10:21
17
最近遇到一个问题是家里的笔记本字体比较小些,需要字体大小和在公司的不一样。这就需要判断是否在 WSL 环境下了。
下面是我使用的方法:
(defconst sys/linuxp
(and (eq system-type 'gnu/linux)
(not (string-match "-[Mm]icrosoft" operating-system-release)))
"Are we running on a GNU/Linux system?")
(defconst sys/WSL
(and (eq system-type 'gnu/linux)
(string-match "-[Mm]icrosoft" operating-system-release))
"Are we running on a GNU/Linux system?")
(defconst sys/win32p
(eq system-type 'windows-nt)
"Are we running on a WinTel system?")
;; 使用的时候
(cond
(sys/linuxp (set-face-attribute 'default nil :height 160))
(sys/win32p (set-face-attribute 'default nil :height 140))
(sys/WSL (set-face-attribute 'default nil :height 140)))
借鉴了下 @seagle0128 大佬的配置
3 个赞
(if (string= (system-name) "DESKTOP-DMGKG0I");;PC at work
(progn (set-font "Sarasa Term SC" "Sarasa Term SC" 24 24)
(setq desktop-dirname "~/.emacs.d/DMGKG0I")
(setq desktop-path '("~/.emacs.d/DMGKG0I"))))
(if (string= (system-name) "DESKTOP-439OGGP");;Mini PC
(progn (set-font "Sarasa Term SC" "Sarasa Term SC" 40 40)
(setq desktop-dirname "~/.emacs.d/439OGGP")
(setq desktop-path '("~/.emacs.d/439OGGP"))))
对于多设备,我是通过获取每个系统的system-name来判断的,进eshell输入(system-name)即可。
不过我发现在wsl2里面获取的system-name和宿主Windows上开GUI emacs获取到的system-name完全一致,幸好没人会同时使用wsl和windows的emacs吧。
o2o
2020 年12 月 3 日 13:26
19
我就是那个同时使用wsl和windows emacs的人。。。
1 个赞
et2010
2020 年12 月 3 日 13:52
21
工作上要用的Azure cosmosdb 模拟器只有Windows下面有,所以自然就用 wsl2 + emacs 了。一些痛点习惯就好了。Windows 下面最大的好处是可以玩PC游戏了
o2o
2020 年12 月 3 日 14:22
22
xserver在windows上对于鼠标的拖拽文件之类的问题一直解决不了。我主要在windows上用emacs是作为笔记的记录,拖拽文件之类的是常用的功能 所以没办法一直还得用windows的。
wsug
2020 年12 月 4 日 01:42
23
我也是wsl emacs和windows emacs都在用,因为windows emacs的shell-mode有些命令运行不了,于是就用了wsl终端emacs的shell-mode。除这个功能以外就都是用的windows gui emacs了
wsl感觉完全没有msys2下面的emacs好用.
自从在msys2下配好了之后, 我就再也没有折腾过windows上的环境了…
我之前试过在wsl2里面安装gentoo,发现无法在shell里调用clipboard.exe,最后才知道要手动添加Windows的路径到系统PATH里
谢谢提醒,我这里估计是使用了zsh的问题:
$PATH 里明明有 :/mnt/d/Program Files/MiKTex/miktex/bin/x64/:
硬是调用不了xelatex.exe
Program 和 Files中间多了个空格,需要加个转义\才行
/mnt/d/Program\ Files/MiKTex/miktex/bin/x64/xelatex.exe
大佬是怎么弄msys2上的环境的分享下,我也想搞一个
以下是我自己配置的步骤, 你可以参考以下, 还有些相关的资料:
windows上的前置配置
安装msys2: https://www.msys2.org/
修改软件源:
# /etc/pacman.d/mirrorlist.mingw64
Server = https://mirrors.ustc.edu.cn/msys2/mingw/x86_64
# /etc/pacman.d/mirrorlist.mingw32
Server = https://mirrors.ustc.edu.cn/msys2/mingw/i686
# /etc/pacman.d/mirrorlist.msys
Server = https://mirrors.ustc.edu.cn/msys2/msys/$arch
参考: https://chriszheng.science/2017/07/16/Best-practice-of-Emacs-on-MS-Windows/
和 https://emacs-china.org/t/topic/2600/16
修改git的源,安装windows版本的git:
在 /etc/pacman.conf
中, 加入
[git-for-windows]
# SigLevel = Optional TrustedOnly
SigLevel = Never
Server = https://dl.bintray.com/git-for-windows/pacman/$arch
原理不明,参考如上。
运行:
pacman -Syu
然后重开terminal,再次运行:
pacman -Su
安装 make
:
pacman -S make
安装openssh(是为了使用ssh), 并配置目录让ssh能找到key, 即配置windows的环境变量 HOME
为 你的home(比如 c:/msys64/home/name
).
做git相关的配置:
git config --global user.email [email protected]
git config --global user.name name
安装Source Code Pro:
https://fonts.google.com/specimen/Source+Code+Pro?selection.family=Source+Code+Pro
将caps lock改为ctrl,使用 sharpkeys
.
sharpkeys
安装地址: https://github.com/randyrants/sharpkeys
安装emacs:
pacman -S mingw-w64-x86_64-emacs
使用 ssh-keygen
产生key, 然后将 public key 上传到github中。
接着clone emacs的配置:
git clone [email protected] :lczch/rice-wine.git
创建 .emacs
文件并写入:
(load-file "~/rice-wine/init.el")
在 .bashrc
中设置常用的alias, PATH和一些emacs相关的环境变量:
# my .bashrc
if [ -f "$HOME/rice-wine/bash/.bashrc" ] ; then
echo "Load $HOME/rice-wine/bash/.bahsrc."
source "$HOME/rice-wine/bash/.bashrc"
fi
补充资料:Windows 上面 Emacs 简易入门最佳实践
另外, 如果要给msys2配置一个比较好看和方便的界面和shell, 参考这个: GitHub - seagle0128/dotfiles: Centaur Dotfiles - Full and clean configurations for development environment on GNU Linux, macOS and Cygwin , 使用起来也是傻瓜操作.
虽然zsh有点慢, 但熟悉之后你就可以自己搞了.
使用msys2中的emacs的最大好处是emacs认识msys2提供的linux-like的目录结构, 而且同时也能识别window的目录, 所以就可以通过PATH把散落在各种地方的可执行文件整合到terminal中, 通过emacs来调用了.
2 个赞
aeghn
2021 年5 月 13 日 09:21
34
可以,用上 daemon 后,性能和 Linux 下差不多,除了 git 有点慢
不过我基本上记载命令行力用 git,所以对我影响不太大
谢谢分享,请问这样安装后 用doom的配置有什么问题吗?
我没用过doom, 所以不知道有什么具体问题.
但我好像看到过论坛里有人发帖, 在windows里用doom的, 应该没问题.
你可以参考这个: 零秒精通Emacs之Windows10上畅行无碍地使用emacs的11步骤
这里就是用的doom.