17

Here's my opinion, as I don't think there's an absolute answer. In short, what you “lose” is the added complexity to the key use. Following is more detailed explanation. Emacs C-x is prefix key for general commands, and C-c is prefix key of current major mode's commands. CUA mode uses C-x for cut and C-c for copy. In order to avoid conflict, cua uses some ...


16

As others commented, cua-mode does this, which ships with Emacs. Just M-x cua-mode RET to enable it, or put (cua-mode 1) in your .emacs or .emacs.d/init.el to enable it at startup. Unless it changed in 24.4, it will also enable using DEL (usually backspace) to delete (without cutting) a selected region, simply starting to type to overwrite (without cutting) ...


5

It turned out that the key was already bound in cua-global-keymap, which overrode its binding in ido-common-completion-map. Indeed, this is because cua-mode uses emulation-mode-map-alists, which has one of the highest priorities in key lookup, to store and select from many of its key bindings. See (elisp) Active Keymaps, (elisp) Searching Keymaps and (elisp)...


3

CUA's help on rectangles (and other things) is slightly hidden away. M-x find-library RET cua-base RET Search the commentary for the section on "CUA rectangle support" (Which is not to suggest that library commentaries in general are "hidden" -- they're a crucial aspect of Emacs' documentation which all users should know how to access. It's just that in ...


3

There are a couple of ways to do this. The documentation for cua-mode (which can be accessed with C-h f cua-mode) says you have three options: press the prefix key twice very quickly (within 0.2 seconds), press the prefix key and the following key within 0.2 seconds, or use the SHIFT key with the prefix key, i.e. C-S-x or C-S-c. Alternatively, as others ...


3

A little bit late to the party but I use the following: (define-key evil-insert-state-map (kbd "C-c") 'cua-copy-region) (define-key evil-insert-state-map (kbd "C-v") 'cua-paste) (define-key evil-insert-state-map (kbd "C-x") 'cua-cut-region) (define-key evil-insert-state-map (kbd "C-z") 'undo-tree-undo) (define-key evil-insert-state-map (kbd "C-y") 'undo-...


3

You also might want to check out ergoemacs mode, https://ergoemacs.github.io/. It remaps emacs keybindings to ones that make more sense to users acclimated to modern editing software, among many other changes.


3

As others have suggested, you'd be wise to avoid overwriting some of the most common keychord prefixes with your own keybindings. Here's a stylized example of what's going to happen. Let's say we have a keychord prefix of C-c a that allows you to send messages to yourself based on what key comes next: (global-set-key (kbd "C-c aa") (lambda () (interactive)...


2

If you want more traditional key bindings better activate cua-mode. If you want to remap them manually, you will eventually get more problems than benefits, because key bindings like C-c are in fact prefixes for a lot of other key bindings, and not only built-in ones. So, if you remap these, you will need to remap a lot of stuff. As an advice, don't do it. ...


2

I wrote some lisp code to fix this. I just added this to my init.el ;; fix problem of cua-mode and macro ;; fix function (defun cua-macro-fix() (kmacro-edit-macro) ;; fix the C-c C-c (goto-char (point-min)) (forward-line 7) (while (search-forward "C-c C-c" nil t) (replace-match "C-c")) ;; fix the C-x C-x (goto-char ...


2

After testing the potential solutions I can find, this is what worked for me (Ubuntu 16.04, emacs 24.5): (setq cua-rectangle-mark-key (kbd "C-^")) (cua-selection-mode t) Basically, define the key in question to the new value before enabling cua-mode in init file. This seems to work both for emacs -nw, and terminals local and remote (windows and Linux).


1

Does (define-key cua--cua-keys-keymap (kbd "C-c <timeout>") 'somefunc) (without wrapping somefunc) do what you want it to? Investigation When in CUA mode, the usual method of investigating keybindings, describe-key did not work with C-c (at least with no selected text), as C-h k C-c continued waiting for further input (displaying C-c-). Hence, I ...


1

Based on clues from lawlist's comments, reading around the area of "Key Sequence Input" in the elisp info file, and an explanation of defadvice that even I can understand, here, I added this to my .emacs: (defadvice org-backward-paragraph (before set-up-shift-select-backward-paragraph activate) (interactive "^")) (defadvice org-forward-paragraph (...


1

I found the culprit. I had this customisation in my .emacs that I had forgotten about: (select-enable-primary t) I don't understand how this would interfere with CUA but I removed this customisation without any observable adverse effects so far.


1

This one is pretty straightforward, M-k does it. It is not listed in the mini-buffer help, and asking for help with C-? does not show more help. It can be found on this link on rectangle editing with cua mode. Interestingly, I can not find those comments on current cua-rect.el code. But it is there: (cua--rect-M/H-key ?k 'cua-cut-rectangle-as-text). As ...


1

I was experiencing this from some time now, and never had the time/energy to look at it. But it seems it is pretty straightforward as it is described in AnsiTermHints: ;; enable cua and transient mark modes in term-line-mode (defadvice term-line-mode (after term-line-mode-fixes ()) (set (make-local-variable 'cua-mode) t) (set (make-local-variable '...


1

It seems @Drew already answered in the comments of the question. This makes it: (define-key isearch-mode-map (kbd "C-x") nil) He deserves the merit. I just copy the solution here for better reading ;-)


Only top voted, non community-wiki answers of a minimum length are eligible