Code Monkey home page Code Monkey logo

Comments (7)

jiangshanyu avatar jiangshanyu commented on June 17, 2024 1

Hi @dcorking

Thanks for your suggestions. I at the end disabled the keybindings in diff-hl to resolve the issue, with the following code added in my init-local.el

(with-eval-after-load 'diff-hl
;; Unbind M-ESC and C-x v [
(define-key diff-hl-mode-map (kbd "M-ESC") nil)
(define-key diff-hl-mode-map (kbd "C-x v [") nil))

from emacs.d.

purcell avatar purcell commented on June 17, 2024

I suspect this is something local to your configuration, because I can't reproduce this locally. It sounds like the bindings are triggering commands in diff-hl-mode, but for me those two bindings just cause the normal org-mode actions.

from emacs.d.

jiangshanyu avatar jiangshanyu commented on June 17, 2024

Hummm, I tried the following:

  1. removed init-local, the same error occurs;
  2. removed .emacs.d completely, it worked;
  3. with a clean install, no additional touches, the same error occurs.

GNU Emacs 29.2, used in terminal, on Sonoma 14.4.

from emacs.d.

dcorking avatar dcorking commented on June 17, 2024

I can't get those 2 key combinations to work at all in Terminal with Emacs 29.3, Sonoma 14.4. Emacs sees them as <up> which is mapped to previous-line.

(In GUI mode, for me, option-shift-uparrow is S-up that calls (org-shiftup) as I expected: it will swap list rows or kill table rows.
option-uparrow is M-<up> that maps to (org-metaup) that will swap two items (lists, subtrees, tables , paragraphs). I expect that is what is broken for you.)

If you still need help,

  1. What are the outputs of C-h k (describe-key) for your key combinations?
  2. What are your key actions in Terminal profile? [I don't have any set for those keys.]
  3. Does everything work as expected in GUI mode?
  4. (By the way, do you have "Use Option as Meta Key" set? [I don't] do you start emacs from zsh? and what are your relevant customizations, if any, in $HOME/.zshrc)

from emacs.d.

jiangshanyu avatar jiangshanyu commented on June 17, 2024

Thanks @dcorking! Sorry for my late in reply -- I was working towards several deadlines and then forgot about it.

What are the outputs of C-h k (describe-key) for your key combinations?
Please find the output below:
"runs the command diff-hl-previous-hunk (found in
diff-hl-mode-map), which is an interactive byte-compiled Lisp function
in ‘diff-hl.el’.
It is bound to M-ESC and C-x v [.
(diff-hl-previous-hunk)
Go to the beginning of the previous hunk in the current buffer.
[back]
"

Does everything work as expected in GUI mode?
I don't have GUI installed, but the terminal version works before me updating to the current version of emacs.
(By the way, do you have "Use Option as Meta Key" set?
Yes, I have this set already.

from emacs.d.

dcorking avatar dcorking commented on June 17, 2024

Your paste missed out the beginning of the output of C-h k. However the parts you show make it pretty clear that your Emacs is not being sent the keystrokes you typed. I think you must have something in your terminal, shell or keyboard driver that is mapping option+shift+uparrow, or just option+uparrow to either option-esc or C-x v [ . (The first part will tell you which key strokes Emacs actually received.)

To diagnose your keyboard driver, I think the virtual keyboard might help you.
I'm not a zsh user, but I suggest you also check for relevant bindkey entries in your plugins and customizations.

Alternatively, and probably simpler than all that, add a new global-set-key to 'org-metaup in your init-local.el .

Just for info mine looks like this in Linux and macOS (whether in no-window-system mode or GUI, for example if I start it with emacs -nw -q so bypassing all customizations.):

M-<up> runs the command org-metaup (found in org-mode-map), which is
an interactive byte-compiled Lisp function in ‘org.el’.

org.el is built in to Emacs: purcell/emacs.d doesn't do anything special with this keybinding.

from emacs.d.

purcell avatar purcell commented on June 17, 2024

Yay, glad you figured this out. Thanks for the helpful replies, @dcorking!

from emacs.d.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.