首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >默认情况下Emacs中的Dvorak布局?

默认情况下Emacs中的Dvorak布局?
EN

Stack Overflow用户
提问于 2012-04-02 03:34:07
回答 2查看 451关注 0票数 2

我最近切换到了在Dvorak布局上打字。但过了一段时间后,我决定只在Emacs中使用Dvorak -这样我的系统上的所有其他键绑定就不会被破坏。

因此,我从StackOverflow.com上的一些问题中提取了以下内容:

代码语言:javascript
复制
(defadvice switch-to-buffer (after activate-input-method activate)
  (activate-input-method "english-dvorak"))

它将所有新缓冲区中的输入法切换到dvorak。它运行良好,但有一个问题-暂存缓冲区保持其默认的英语布局,所有选择“对话”(C-x C-f)的文件也保留它-这有点恼人,因为它需要我在一分钟内切换几次“输入心态”。

有没有办法在emacs中全局启用dvorak布局-并且仍然保留默认快捷键(就像默认英语中的C-x )?

编辑:

我的问题的答案是:

代码语言:javascript
复制
(defadvice switch-to-buffer (after activate-input-method activate)
  (activate-input-method "english-dvorak")) 
(add-hook 'minibuffer-setup-hook (lambda () (set-input-method "english-dvorak")))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-02 09:57:02

你可以尝试这样的代码(保证100%未测试代码):

代码语言:javascript
复制
(define-minor-mode dvorak-minor-mode "Use Dvorak IM." :lighter nil
  (if dvorak-minor-mode (activate-input-method "english-dvorak")))
(define-global-minor-mode dvorak-mode dvorak-minor-mode dvorak-minor-mode)
票数 3
EN

Stack Overflow用户

发布于 2020-06-05 21:13:16

我使用Emacs版本28和emacsclient。为了让Emacs服务器成功启动,我不得不对@Stefan的回答进行了一些调整--下面是我用来在我所有的缓冲区中启用dvorak的完整代码:

代码语言:javascript
复制
(define-minor-mode dvorak-minor-mode "Use english-dvorak input method." :lighter nil
  (if (and dvorak-minor-mode (not (minibufferp)))
    (activate-input-method "english-dvorak")))
(define-global-minor-mode global-dvorak-mode dvorak-minor-mode dvorak-minor-mode)
(global-dvorak-mode t)
(add-hook 'minibuffer-setup-hook (lambda () (set-input-method "english-dvorak")))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9967601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档