の経験はありませんがviper-mode
、私が行った限られたテストに基づいて、次のようなものが機能するようです:
(add-hook 'viper-load-hook
#'(lambda ()
(define-key viper-insert-basic-map (kbd "C-d") nil)
(define-key viper-insert-basic-map (kbd "C-d C-d") 'kill-line)))
そのフックに必要なその他の定義を追加して、起動時にそれらが評価されるようにすることができます。ただし、選択したキー バインドには注意する必要があります。C-y
たとえば、あなたが具体的に言及した は通常 にバインドされてyank
おり、おそらくバインドを解除したくないものだと思います。また、viper-mode
非常に複雑で精巧な重複するキーマップのセットを使用しているように見えるため、有効にしたい機能に応じて、別のキーマップを指定する必要がある場合があります (実際には、複数の異なるキーマップを並行して使用する必要があります)。viper-vi-global-user-map
、、viper-insert-global-user-map
など。残念ながら、それは私の専門知識 w/r/t の程度viper-mode
です。
編集:申し訳ありませんが、私はあなたの要求を誤解したかもしれません. これらのキー バインドを 以外で viper-mode
適用する場合は、 を使用しますglobal-set-key
。つまり、次のようにします。
(global-unset-key (kbd "C-d"))
(global-set-key (kbd "C-d C-d") 'kill-line)
等々。ここでも、設定するバインディングに注意してください。describe-key
(bound by default to ) を使用C-h k
して、リマップするキー シーケンスが現在バインドされているものを確認します。