Emacsのvimバインディングに素晴らしいevilパッケージを使用しています。
正しくない鍵は Ctrl+U。 「up」ではなく、emacs接頭辞です。
誰かが私の.emacsの一部のLISPコードでその解決策を持っていますか?
ありがとう。
.emacs
に追加できる変数があります
(setq evil-want-C-u-scroll t)
(require 'evil)
を呼び出す前に表示する必要があります。
または、独自のキーバインドを定義するのも簡単で、evil
APIは非常に豊富なので、非常に簡単です。
(define-key evil-normal-state-map (kbd "C-u") 'evil-scroll-up)
(define-key evil-visual-state-map (kbd "C-u") 'evil-scroll-up)
(define-key evil-insert-state-map (kbd "C-u")
(lambda ()
(interactive)
(evil-delete (point-at-bol) (point))))
evil-want-C-u-scroll
が正しく機能していなかったため、このルートをたどる必要がありました。
VimのC-u
は半画面のページアップです。私は以下を使用してそれを複製しました、
(define-key evil-normal-state-map (kbd "C-u") 'evil-scroll-up)
C-h f evil-scroll-up
から
(邪悪なスクロールアップCOUNT)
ウィンドウとカーソルCOUNT行を上にスクロールします。デフォルトは画面の半分です。
John Wiegley use-package を使用しているすべてのユーザーに対して bling の回答を取得するには、それを:init
セクションのように:
(use-package evil
:ensure t
:init
(setq evil-want-C-u-scroll t)
:config
(evil-mode 1)
;; snip...
)
HTH
VimのC-u
は「前の行」ではなく、ページアップのようなものです。正確な動作を再現する方法はわかりませんが、C-b
(evil-scroll-page-up)またはマップC-k
、C-j
10行上/下に移動します。
(global-set-key (kbd "C-k") (lambda () (interactive) (previous-line 10)))
(global-set-key (kbd "C-j") (lambda () (interactive) (next-line 10)))
C-u
キーもEmacsにとって非常に重要なので、とにかく上書きしないでください。
melleb の回答に追加するために、evil-want-C-u-scrollの場合のキーの組み合わせも定義しました。
(use-package evil
:ensure t
:init
(setq evil-want-C-u-scroll t)
(when evil-want-C-u-scroll
(define-key evil-insert-state-map (kbd "C-u") 'evil-scroll-up)
(define-key evil-normal-state-map (kbd "C-u") 'evil-scroll-up)
(define-key evil-visual-state-map (kbd "C-u") 'evil-scroll-up)
(define-key evil-motion-state-map (kbd "C-u") 'evil-scroll-up))
:config
(evil-mode 1)
...
)
これはGNU Emacs 24.4.1で機能します
まず、あなたの質問に答えます:
(define-key evil-insert-state-map "\C-u" 'previous-line)
(define-key evil-normal-state-map "\C-u" 'previous-line)
(define-key evil-replace-state-map "\C-u" 'previous-line)
(define-key evil-visual-state-map "\C-u" 'previous-line)
(define-key evil-motion-state-map "\C-u" 'previous-line)
私は実際には自分自身をテストすることができない(悪ではない)ため、これらが機能しない場合は、以下を試してください。
交換する
(define-key evil-motion-state-map "\C-u" 'previous-line)
と
(define-key evil-motion-state-map "cu" 'previous-line)
あなたがそれをしたい/それが必要な悪のどのモードでもこれをしてください。
さらに、up
の「悪」なバージョンがあるかもしれません。代わりにそれをバインドしたいかもしれません。
また、私が間違っている場合は修正してください。ただし、キーバインドのどこかで機能的/便利な「アップ」を備えた邪悪な「船」は、どこかで読み上げられる可能性があります。