[英]Shift-selection when navigating tabs in elpy (Emacs Python plugin)
我最近在Emacs 24下設置了elpy,除了我無法弄清楚的一項功能之外,其他所有功能都很好:
我的設置非常接近默認設置,並且啟用了cua-mode和瞬時標記模式-這意味着除編輯Python文件外,所有地方都可以使用CTRL + Shift +突出顯示單詞。
編輯Python文件時,CTRL +映射到elpy-nav- [向前|向后]縮進(在縮進級別之間跳轉),但與按Shift鍵突出顯示我的選擇不兼容。
我知道這聽起來像是一件很小的事情-但這讓我發瘋了:)
謝謝。
看起來好像有太多的“帶有修飾語”的綁定競爭着幾個“熱”鍵。 我減少了一些綁定以避免覆蓋我最喜歡的綁定(ctr / alt箭頭)
使用“偉大的” 使用包 :
我避免了Elpy和CUA 模式之間的鍵綁定沖突
我丟失了一些elpy默認值:
(use-package elpy
:ensure t
:preface
(defvar elpy-mode-map
(let ((map (make-sparse-keymap)))
;; Alphabetical order to make it easier to find free C-c C-X
;; bindings in the future. Heh.
;; (define-key map (kbd "<backspace>") 'python-indent-dedent-line-backspace)
;; (define-key map (kbd "<backtab>") 'python-indent-dedent-line)
;; (define-key map (kbd "C-M-x") 'python-shell-send-defun)
;; (define-key map (kbd "C-c <") 'python-indent-shift-left)
;; (define-key map (kbd "C-c >") 'python-indent-shift-right)
(define-key map (kbd "C-c RET") 'elpy-importmagic-add-import)
(define-key map (kbd "C-c C-b") 'elpy-nav-expand-to-indentation)
(define-key map (kbd "C-c C-c") 'elpy-shell-send-region-or-buffer)
(define-key map (kbd "C-c C-d") 'elpy-doc)
(define-key map (kbd "C-c C-e") 'elpy-multiedit-python-symbol-at-point)
(define-key map (kbd "C-c C-f") 'elpy-find-file)
(define-key map (kbd "C-c C-n") 'elpy-flymake-next-error)
(define-key map (kbd "C-c C-o") 'elpy-occur-definitions)
(define-key map (kbd "C-c C-p") 'elpy-flymake-previous-error)
(define-key map (kbd "C-c C-s") 'elpy-rgrep-symbol)
(define-key map (kbd "C-c C-t") 'elpy-test)
(define-key map (kbd "C-c C-v") 'elpy-check)
(define-key map (kbd "C-c C-z") 'elpy-shell-switch-to-shell)
(define-key map (kbd "C-c C-r i") 'elpy-importmagic-fixup)
(define-key map (kbd "C-c C-r p") 'elpy-autopep8-fix-code)
(define-key map (kbd "C-c C-r r") 'elpy-refactor)
;; (define-key map (kbd "<S-return>") 'elpy-open-and-indent-line-below)
;; (define-key map (kbd "<C-S-return>") 'elpy-open-and-indent-line-above)
;; (define-key map (kbd "<C-return>") 'elpy-shell-send-current-statement)
;; (define-key map (kbd "<C-down>") 'elpy-nav-forward-block)
;; (define-key map (kbd "<C-up>") 'elpy-nav-backward-block)
;; (define-key map (kbd "<C-left>") 'elpy-nav-backward-indent)
;; (define-key map (kbd "<C-right>") 'elpy-nav-forward-indent)
;; (define-key map (kbd "<M-down>") 'elpy-nav-move-line-or-region-down)
;; (define-key map (kbd "<M-up>") 'elpy-nav-move-line-or-region-up)
;; (define-key map (kbd "<M-left>") 'elpy-nav-indent-shift-left)
;; (define-key map (kbd "<M-right>") 'elpy-nav-indent-shift-right)
;; (define-key map (kbd "M-.") 'elpy-goto-definition)
;; (define-key map (kbd "M-TAB") 'elpy-company-backend)
(define-key map (kbd "<S-return>") 'elpy-open-and-indent-line-below)
(define-key map (kbd "<C-S-return>") 'elpy-open-and-indent-line-above)
(define-key map (kbd "<C-return>") 'elpy-shell-send-current-statement)
(define-key map (kbd "<M-right>") 'elpy-nav-forward-block)
(define-key map (kbd "<M-left>") 'elpy-nav-backward-block)
;; (define-key map (kbd "<C-S-left>") 'elpy-nav-backward-indent)
;; (define-key map (kbd "<C-S-right>") 'elpy-nav-forward-indent)
;; (define-key map (kbd "<M-S-down>") 'elpy-nav-move-line-or-region-down)
;; (define-key map (kbd "<M-S-up>") 'elpy-nav-move-line-or-region-up)
(define-key map (kbd "<M-S-left>") 'elpy-nav-indent-shift-left)
(define-key map (kbd "<M-S-right>") 'elpy-nav-indent-shift-right)
(define-key map (kbd "M-.") 'elpy-goto-definition)
(define-key map [(control menu)] 'elpy-company-backend)
map)
"Key map for the Emacs Lisp Python Environment.")
:config
(elpy-enable)
(elpy-use-ipython)
(defalias 'workon 'pyvenv-workon))
(use-package ein
:ensure t
:config
(defalias 'eip 'ein:notebooklist-open))
看到:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.