在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
版权所有(C) 2013 Free Software Foundation, Inc。GNUEmacs是绝对没有保证的。您可以重新分发副本在GNU通用公共许可证的条款下使用Emacs。更多的有关这些事项的信息,请参阅名为"copy"的文件。
$ 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)
您可以将您想要使用的键绑定添加到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
中是必要的,以确保在调用define-key
时evil-normal-state-map
是定义的/可用的。
如果你想让相同的绑定在其他"状态"(比如"运动"状态)中也可用,只需将它们添加到相应的键映射中,如上所示(在"运动"状态的情况下,相应的映射称为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剪贴板中。