shift up-arrow doesn't highlight text emacs iterm2

后端 未结 2 2047
粉色の甜心
粉色の甜心 2021-02-14 20:00

I recently had help fixing M-left and so forth here: emacs in terminal meta arrow keybindings, but am unable to fix Shift-up using a similar solution.

相关标签:
2条回答
  • 2021-02-14 20:22

    This sounds like a trouble I had accessing a Ubuntu 12.04 machine via Putty, when END caused Emacs 23.3.1 to say <select> is undefined. That turned out to be an issue with the terminfo that lets programs use terminals in a device independent way.

    Based on this 2008 bug report discussion, I solved my problem by adding the following to the top of my ~/.bashrc:

    #so the END key will work correctly in Emacs over PuTTY
    TERM=xterm-vt220
    

    N.B., with either xterm-vt220 or the default xterm, emacs -Q -nw is getting ESC [ 4 ~ when I press END, ESC O A for Up, and ESC [ A for Shift-Up. (To see what keycodes Emacs is getting, press some buttons and then C-h,l.) For the same keys in the same order, cat says [4~, [A, and [OA...so Up and Shift-Up are oddly reversed.


    If you don't want to change your terminfo, see this discussion for a workaround http://lists.gnu.org/archive/html/help-gnu-emacs/2011-05/msg00211.html

    You should be able to work around the issue with something like:

    (define-key input-decode-map "\e[1;2A" [S-up])

    And for this to take effect at the right time, you will have to use in your .emacs something like:

    (if (equal "xterm" (tty-type)) (define-key input-decode-map "\e[1;2A" [S-up]))

    0 讨论(0)
  • 2021-02-14 20:44

    Just to add more information about the solution: https://github.com/arthurnn/dotfiles/blob/8d56f2419da9a4cb654d8941f379d6d5783bdb90/.emacs.d/init.d/setup-bindings.el#L3-L10 this should fix all the cases including emacsclient. The last line is responsible for fixing the Shift-up when using emacsclient.

    0 讨论(0)
提交回复
热议问题