2010-10-18 13 views

Respuesta

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

Existe también

C-S-backspace # Ctrl-Shift-Backspace 

que invoca M-x kill-whole-line.

Si desea establecer una clave de unión mundial diferente, que había puesto 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 completas, que 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 se encontró C-x z útil:

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. 
+0

Esto funciona. ¿Hay alguna manera de hacer esto usando un comando? ¿Tendré que crear un enlace de clave personalizado para hacer esto? –

+13

No sabía 'C-x z', eso es genial. Y una respuesta agradable y precisa por cierto. – slu

+2

También hay 'C-k C-k' que funciona como un' d $ S-j' en vim, pero esto puede eliminar líneas adelante bastante bien. –

7

En caso de que no desea matar a la línea (lo que pondría en el portapapeles del sistema operativo y matar anillo) sino simplemente eliminarlo:

(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))))) 
0

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

C-w ; kill-region 

es versátil en la supresión de lo que esté seleccionado, o una línea por defecto si no hay nada seleccionado.

Teniendo en cuenta la cuestión, es probable que también interesado en replicar "tirón" de Vim, yy (aunque en el lenguaje Emacs un "tirón" es confusamente Vim de "poner", p). Esto es:

M-w ; kill-ring-save 

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

Una vez que usted ha puesto algo en el histórico de recortes con cualquiera de los anteriores, Es probable que desee a "tirón" (pegar) es:

M-y ; yank-pop 

(Tenga en cuenta que CS-retroceso puede no funciona en la terminal Emacs.)

Cuestiones relacionadas