9

在 vim 我的 .vimrc 中有这个:

" Easy window navigation
map <C-h> <C-w>h
map <C-j> <C-w>j
map <C-k> <C-w>k
map <C-l> <C-w>l

如何在邪恶模式下获得简单的窗口导航?

另外,在 vim "+ 中会复制到我的系统剪贴板吗?这似乎在 emacs 中不起作用。

$ emacs --version

GNU Emacs 24.3.1 版权所有 (C) 2013 Free Software Foundation, Inc. GNU Emacs 附带绝对没有保证。您可以根据 GNU 通用公共许可证的条款重新分发 Emacs 的副本。有关这些事项的更多信息,请参阅名为 COPYING 的文件。

$ cat .emacs

;;

;; Package manager and better repos
(require 'package)
(add-to-list 'package-archives 
                 '("marmalade" .
                         "http://marmalade-repo.org/packages/"))
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
(package-initialize)

(setq backup-directory-alist `(("." . "~/.emacs.d/saves")))

;; Indents, tab as spaces
(setq-default indent-tabs-mode nil)
(setq default-tab-width 2)

;; evil-mode
(eval-after-load "evil"
  '(progn
     (define-key evil-normal-state-map (kbd "C-h") 'evil-window-left)
     (define-key evil-normal-state-map (kbd "C-j") 'evil-window-down)
     (define-key evil-normal-state-map (kbd "C-k") 'evil-window-up)
     (define-key evil-normal-state-map (kbd "C-l") 'evil-window-right)))
(require 'evil)
(evil-mode 1)
;(setcdr evil-insert-state-map nil)
;(define-key evil-insert-state-map [escape] 'evil-normal-state)

;; Fun stuff
(require 'jabber-autoloads)
(require 'jabber)
4

1 回答 1

12

您可以将要使用的键绑定添加到evil-normal-state-map

(eval-after-load "evil"
  '(progn
     (define-key evil-normal-state-map (kbd "C-h") 'evil-window-left)
     (define-key evil-normal-state-map (kbd "C-j") 'evil-window-down)
     (define-key evil-normal-state-map (kbd "C-k") 'evil-window-up)
     (define-key evil-normal-state-map (kbd "C-l") 'evil-window-right)))

将代码包装到其中eval-after-load是必要的,以确保evil-normal-state-map在调用define-key.

如果您想让相同的绑定在其他“状态”(例如“运动”状态)中也可用,只需将它们添加到相应的键映射中,如上所示(在“运动”状态的情况下,相应的映射是称为evil-motion-state-map)。


要让 Emacs 使用系统剪贴板,请尝试设置x-select-enable-clipboard为非nil值:

(setq x-select-enable-clipboard t)

还有一些使用剪贴板的特定命令用于杀死和拉拽。从文档中:

  • clipboard-kill-region

    杀死该区域,并将其保存在 X 剪贴板中。

  • clipboard-kill-ring-save

    复制区域以杀死环,并保存在 X 剪贴板中。

于 2014-05-10T10:49:43.840 回答