tutorial mac emacs

tutorial - emacs ubuntu



¿Cómo puedo eliminar la línea actual en Emacs? (3)

En caso de que no quiera matar la línea (que lo pondría en el portapapeles del sistema operativo y matar el anillo), simplemente elimínela:

(defun delete-current-line () "Delete (not kill) the current line." (interactive) (save-excursion (delete-region (progn (forward-visible-line 0) (point)) (progn (forward-visible-line 1) (point)))))

¿Cuál es el equivalente de emacs del dd de vi? Quiero eliminar la línea actual. Intentó CTRL + k pero solo borra de la posición actual.


La forma más rápida / más simple de eliminar (matar) una línea completa, desde cualquier punto de la línea, sin seleccionar nada, es:

C-w ; kill-region

Es versátil al eliminar todo lo que se selecciona, o una línea por defecto si no se selecciona nada.

Dada la pregunta, probablemente también estés interesado en replicar el "tirón" de Vim, yy (aunque en el lenguaje de Emacs un "tirón" es confusamente "poner" de Vim, p ). Esto es:

M-w ; kill-ring-save

Agradable y congruente, y bastante fácil de recordar. Incluso ligeramente similar al i_CTRL-W Vim.

Una vez que has puesto algo en el anillo de matar con cualquiera de los anteriores, es probable que quieras "tirar" (pegar):

M-y ; yank-pop

(Tenga en cuenta que CS-backspace puede no funcionar en el terminal Emacs).


C-a # Go to beginning of line C-k # Kill line from current point

También hay

C-S-backspace # Ctrl-Shift-Backspace

que invoca Mx kill-whole-line .

Si desea establecer un enlace de clave global diferente, debe poner esto en ~ / .emacs:

(global-set-key "/C-cd" ''kill-whole-line) # Sets `C-c d` to `M-x kill-whole-line`

Si desea eliminar un número de líneas enteras, puede prefijar el comando con un número:

C-u 5 C-S-backspace # deletes 5 whole lines M-5 C-S-backspace # deletes 5 whole lines C-u C-S-backspace # delete 4 whole lines. C-u without a number defaults to 4 C-u -5 C-S-backspace # deletes previous 5 whole lines M--5 C-S-backspace # deletes previous 5 whole lines

A veces también me resulta útil Cx z :

C-S-backspace # delete 1 whole line C-x z # repeat last command z # repeat last command again. # Press z as many times as you wish. # Any other key acts normally, and ends the repeat command.