在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)
答案 0 :(得分:11)
您可以将要使用的键绑定添加到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
。
如果你想在其他&#34;状态&#34;中提供相同的绑定。 (例如&#34; Motion&#34;状态),只需将它们添加到相应的键映射中,如上所示(在&#34; Motion&#34;状态下,相应的映射称为{{1 }})。
要让Emacs使用系统剪贴板,请尝试将evil-motion-state-map
设置为非x-select-enable-clipboard
值:
nil
还有使用剪贴板的杀戮和劫持的特定命令。来自文档:
(setq x-select-enable-clipboard t)
:
杀死该区域,并将其保存在X剪贴板中。
clipboard-kill-region
:
复制区域以杀死响铃,并保存在X剪贴板中。