首页
归档
友情链接
关于
Search
1
在wsl2中安装archlinux
80 阅读
2
nvim番外之将配置的插件管理器更新为lazy
58 阅读
3
2018总结与2019规划
54 阅读
4
PDF标准详解(五)——图形状态
33 阅读
5
为 MariaDB 配置远程访问权限
30 阅读
心灵鸡汤
软件与环境配置
博客搭建
从0开始配置vim
Vim 从嫌弃到依赖
archlinux
Emacs
MySQL
Git与Github
AndroidStudio
cmake
读书笔记
菜谱
编程
PDF 标准
从0自制解释器
qt
C/C++语言
Windows 编程
Python
Java
算法与数据结构
PE结构
登录
Search
标签搜索
c++
c
学习笔记
windows
文本操作术
编辑器
NeoVim
Vim
win32
VimScript
Java
emacs
linux
文本编辑器
elisp
反汇编
OLEDB
数据库编程
数据结构
内核编程
Masimaro
累计撰写
308
篇文章
累计收到
27
条评论
首页
栏目
心灵鸡汤
软件与环境配置
博客搭建
从0开始配置vim
Vim 从嫌弃到依赖
archlinux
Emacs
MySQL
Git与Github
AndroidStudio
cmake
读书笔记
菜谱
编程
PDF 标准
从0自制解释器
qt
C/C++语言
Windows 编程
Python
Java
算法与数据结构
PE结构
页面
归档
友情链接
关于
搜索到
1
篇与
的结果
2025-03-25
Emacs 折腾日记(十九)——配置输入法和vim操作方式
上一篇文章中,我们将Emacs变得稍微好看了点。换成了自己喜欢的主题和颜色,这样每天用起来也比较养眼,不会特别排斥。本篇文章的主要任务就是配置输入法方便输入中文以及将vim的操作模式搬到Emacs中。进一步提到Emacs的可用性配置中文输入法系统基本环境配置在配置输入法之前,需要系统支持中文,并且有对应的中文字体可以显示中文,而且还需要对应的输入法框架支持。首先我们安装中文字体和语言包,本人之前有一篇介绍如何搭建wsl2+archlinux的文章,已经完成了这一步。但是为了没看过那篇文章的读者不用再去费劲的找那篇文章,我还是把命令贴出来:sudo pacman -S wqy-zenhei wqy-microhei noto-fonts-cjk # 安装中文字体 sudo pacman -S fcitx5-im fcitx5-chinese-addons # 安装中文输入法框架及中文引擎 sudo pacman -S fcitx5-qt fcitx5-gtk # GUI支持接着配置 Locale ,我们需要编辑 /etc/locale.gen 文件,取消下面两行的注释en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8编辑完成之后,调用 sudo locale-gen 命令生成 locale。接着我们需要在 ~/.bashrc 或者 ~/.zshrc 又或者其他shell的配置文件中加入输入法的配置export GTK_IM_MODULE=fcitx5 export QT_IM_MODULE=fcitx5 export XMOIFIERS=@im=fcitx5然后我们启动fcitx5服务dbus-launch fcitx5 --disable=wayland -d &这个时候我们可以启动emacs,并且执行 M-x toggle-input-method 或者使用 C-\ 来切换输入法。只是默认的 chinese-py 输入法比较难用。所以我们需要换一个输入法并且给出拼音的词库emacs-rime 配置这个配置是我在 Emacs-China论坛 的一篇文章中发现这个输入法。可以访问 输入法源代码地址 ,它已发布到 Melpa,所以我们可以通过use-package 或者emacs自带的package来安装和管理。这里还是使用 use-package在安装之前,需要安装librime 和 fcitx5-rime。在arch中使用sudo pacman -S librime fcitx5-rime接着安装雾凇拼音,但是根据emacs-rime 官方文档的说法,最好不要将~emacs-rime~ 与 ~fcitx-rime~ 共用用户数据目录。所以这里我们我们将它放到其他目录git clone https://github.com/iDvel/rime-ice ~/.config/rime --depth=1然后我们进行emacs-rime的配置和安装(use-package rime :ensure t :custom (default-input-method "rime") (rime-posframe-properties (list :background-color "#333333" :foreground-color "#dcdccc" :font "WenQuanYi Micro Hei Mono-14" :internal-border-width 10)) (rime-user-data-dir "~/.config/rime") (rime-show-candidate 'posframe))到这里我们使用 C-\ 就可以愉快的输入中文了Vim 操作方式本系列文章并没有像一般的Emacs教程那样给各位读者介绍Emacs的操作和快捷键。因为我觉得Emacs可以很方便的变成跟vim一样的编辑器,既然读者们都熟悉vim,那就没必要单独的学习一套Emacs操作,直接继承vim的操作就行。这里说一个题外话,我觉得一个编辑器如果不支持vim的操作模式,要么就是使用的人不多,要么就是不够开放。对我来说这种编辑器平时就没有学习和使用的必要了。我们使用evil 插件来模拟vim的操作。(use-package evil :ensure t :init (evil-mode))我们执行完这句代码之后会发现已经进入了vim的normal模式了。这个时候又可以愉快的使用vim的操作方式来编辑文本了。但是查阅了关于evil的文档后发现,evil本身并不支持像vim那样设置leaderkey,我们要结合其他插件来达到这一效果。我们使用 general 插件来模拟并设置leaderkey(use-package general :ensure t :config (general-evil-setup t))插件安装完成之后可以使用下面的代码来设置leaderkey(general-create-definer my-leader-def :states '(normal insert visual emacs) :prefix "SPC" :non-normal-prefix "C-,")这里使用 general 提供的 general-create-definer 来定义自己的leader键,它可以定义leader键的作用范围和触发方式。my-leader-def 是一个符号它代表着我们在这里定义的leader键,后续可以通过它来结合其他按键来实现快捷键绑定。这里的 :states 表示作用的范围,在启用evil插件之后我们在 normal、insert、visual、emacs 这几个模式中启用这个leader键。通过 :prefix 定义leader键,这里我定义leader键为空格。最后一个参数 :non-normal-prefix 定义在非normal 模式下使用 C-, 来作为leader键。后面我们就可以通过这个 my-leader-def 这个符号来绑定快捷键了。下面提供一个例子来演示如何绑定快捷键。前面介绍vim相关内容的时候提到过,我们使用 <leader>ee 来快速打开配置文件,使用 <leader>ss 来重新加载配置,在这里实现以下emacs版本的这套功能。我们先来实现这两个功能函数(defun open-my-emacs-config() (interactive) (find-file "~/.emacs.d/init.el")) (defun source-my-emacs-config() (interactive) (eval-buffer (get-buffer "~/.emacs.d/init.el")))实现了这样的函数之后就是针对这些命令来绑定快捷键了。我们使用下面的代码来绑定(my-leader-def "ss" 'open-my-emacs-config) (my-leader-def "ee" 'source-my-emacs-config)至此我们使用evil 和 general 插件完成了一个简单的Emacs vim化的改造。利用这些简单的配置后面在使用的时候应该会更加的得心应手。随着代码越来越多,需要用git管理起来,每篇文章更新的代码我都会传到GitHub上供读者参考本篇代码
2025年03月25日
7 阅读
0 评论
0 点赞