C-v originally in emacs moves one screenful, but when in cua mode, it yanks text. So, how do I move one screenful again in cua mode?
Try the PageDown key, aka <next>. It is bound to command cua-scroll-up.
(You should consult the doc for CUA mode for such questions. It should let you know what keys are bound to normally-bound keys that it usurps.)
Related
In Windows 7 / Emacs 24.5
Copy text e.g. "example" in the kill-ring
M-x
C-y (yank)
Success show text "example" in the minibuffer
But if turn on CUA-mode, the text "example" not yank (paste) by 'C-v' in the minibuffer.
CUA mode makes C-v the yank/paste command.
If you start Emacs with :
emacs -Q
Then turn on CUA mode (M-x cua-mode) you'll see that C-v works as you expect.
Without knowing your setup it's difficult to be sure but it's likely you're using a package which modifies the behavior of M-x (E.g. smex, Ido, ivy, etc.)
It's likely CUA mode won't really have anything to do with this problem. You can verify this by trying to do C-y to yank in the minibuffer too.
Packages which enhance M-x may provide a way to allow you to drop out temporarily, so you can yank text in-place.
Update
From your comments we know you are using Helm, which overrides some bindings in the minibuffer, including C-v which is bound to page down.
Because bindings are applied at different mode (context) scopes, the minibuffer modemap (list of key bindings) will override anything that's applied at a more general context (such as cua mode)
To work around this you'd need to add a binding specifically for cua-paste in the affected mode map. It would need to be applied after Helm has loaded.
Emacs's Delete-selection-mode, modern as it feels, makes it too easy to inadvertently delete code. Thus, I would like it disabled by default. Therefore, I added
(delete-selection-mode f)
to my init.el file but that had no effect. By which I mean, if I highlight a region and type something, the contents of the selection are replaced with the new typing. I also tried toggling the mode with M-x delete-selection-mode command, but that had no effect. I use Emacs 24.1.1 on Windows7, Mac and Linux. What am I missing, is there some other mode or variable that I should be enabling instead?
delete-selection-mode is set by default when CUA mode is enabled, but it can be disabled via M-x customize. CUA settings are a subgroup of the "Editing Basics" subgroup of the top-level "Editing" group. To disable delete-selection mode, use the Value Menu of the "Cua Delete Selection" item and change the setting to Disabled. This will place the following line among the custom-set-variables defined in your .emacs or init.el file: (cua-delete-selection nil). After this has been set, actions such as cut with C-w or pressing the delete key will continue to operate normally on regions.
Is there a way I can stop needing C-X before any shortcut and, for example, just use C-c to leave?
Also, if possible, what disadvantages could this have?
I'm looking for a simpler way of using GNU Emacs, but not sure if I can find one.
(this is too long for a comment)
Not really an answer but I know that some people hate the "C-x anything" in Emacs not just because you have to "type a lot of keys" but also because from a touch-typing point of view C-x doesn't make that much sense.
But of course in Emacs everything is configurable. I'm using "C-," instead of C-x and I honestly find it much easier this way.
I use my left pinky to hit CTRL, which is the key physically located at the left of 'a' on a QWERTY keyboard: i.e. the key that used to be CTRL but that now often is labelled CAPS-Lock [and you can remap it to CTRL].
I then touch-type ',' with my right hand.
To this end I added this to my config:
(define-key global-map [(control ,)] ctl-x-map)
You won't have less keys to type to do, say, a C-x C-c (which you can now do both by doing C-x C-c or by doing C-, C-c), but at least you won't be distorting your fingers as much ; )
Also note that as explained here (see user "scottfrazer"'s +40+ upvoted and accepted answer) it may be better to create a minor mode for all your key mappings instead of directly define a global mapping:
Globally override key binding in Emacs
My recommendation is to first learn the standard Emacs key bindings, then, after a while change whichever ones you think will do you the most good to change.
See also CUA mode, in the Emacs docs -- I don't use or recommend CUA mode, but a lot of people (esp. newbies?) use it to keep their cut, copy, paste key habits.
After looking at the source code of boon.el, I found out about ctl-x-map. C-x is a prefix key, prefix keys often have their own maps.
To use M-m for C-x shortcuts and unbind C-x, use this
(global-set-key (kbd "M-m") 'ctl-x-map)
(global-set-key (kbd "C-x") nil)
I think it is a very bad idea, because the C-x prefix can handle such situations like C-x s vs C-x C-s. And: you are really f*cked when you read emacs tutorials and have your own keybindings
If you want some other keybindings read ErgoEmacs Keybinding or How to Set Emacs's User Interface to Modern Conventions
I've been Googling around and looking at Emacs built-in help but I have yet to determine how to scroll up (or down) in Emacs ansi-term.
I'm using Emacs 23.3.1, OS X, in iTerm2. Thanks!
Edit: I've noticed most the advice people give me doesn't work in ansi-term but does work in eshell. I have since moved to eshell.
In general, if you don't need full screen terminal emulation, shell or eshell are better choices.
However, if you decide to stick with ansi-term, press C-c C-j to go into line mode. Then you can move around normally with the usual cursor movement keys. Press C-c C-k to get back into char mode to interact with the terminal.
Alternatively, you can scroll backwards a screen at a time with C-c C-v and just enter text to scroll back to the terminal input point.
Take a look at the Emacs documentation on term-mode (most of which applies equally to ansi-term) for more information.
Shift-page up/down (in Emacs-speak, S-prior/S-next) will work using the default bindings.
(While the normal C-h m/C-h b don't work to see mode information and bindings in this mode, you can still use C-c M-x describe-mode/describe-bindings, or depending on your setup, use F1 or the help key instead of C-h.)
install evil-mode at first, press C-z to switch to vim key binding.
You can use C-f, C-b to scroll up and down
you can use 20% to jump to to the top 20% of the buffer
you can use /, ?, #, * to search the text in the buffer.
all the grep/filter commands now usable (occur, swiper, helm-swoop, .... just name a few)
you can narrow/widen the buffer
you can yank text
Have you tried: Page up, up arrow, Ctrl-V,Alt-V
For ansi-term, I have this in my .emacs:
(add-hook 'term-mode-hook
(function
(lambda ()
(define-key term-raw-map [?\C-c prior] 'scroll-down)
(define-key term-raw-map [?\C-c next] 'scroll-up))))
Then I can use C-c pgup and C-c pgdn to scroll.
I was having the same issue but with multi-term (zsh), and after reading the response from #muffinista (the C-v did not work for me) but the Alt-v worked to go 1 page, after that you can use the normal C-p and C-n to scroll up and down.
This worked for me, but it depends a lot on which term you are using and key bindings you might have.
Up and down are Ctrl-P and Ctrl-V. There's a whole long list here
When I turn on icicles mode in emacs, it kinda mess up delete-selection-mode.
After copied some text, if I try to yank it into a highlighted region, instead of replace that region, it will append at the end of the region. I say kinda because, I could still use backspace or directly type text to replace the highlighted region. Only yanking behavior is not right.
Is there some option in icicles mode to fix this yank behavior? So far I haven't found any.
Thank you
M-x icicle-send-bug-report RET
Yes, M-x icicle-send-bug-report RET
Give a complete recipe, starting from emacs -Q. It sounds like you have some other setting somewhere that is interfering. I use Icicles with delete-selection-mode all the time.