2012-02-06 21 views

Respuesta

26

puede hacerlo en tres pasos:

  • tipo Shift-vj ...j para seleccionar algunas líneas
  • tipo :'<,'>w! >>file.bak a SAV e seleccionado líneas de file.bak (agregar)
  • tipo gvd eliminar líneas originales

Se puede escribir un comando definido por el usuario Sbak si te gusta:

com! -nargs=1 -range Sbak call MoveSelectedLinesToFile(<f-args>) 
fun! MoveSelectedLinesToFile(filename) 
    exec "'<,'>w! >>" . a:filename 
    norm gvd 
endfunc 
+0

bien, ahora otros pasos: 1. para usar automáticamente .bak como el nombre de archivo bak 2. no anexar prenexar. thx. – greatghoul

+0

use 'expand ('%: t')' para obtener el nombre de archivo actual – kev

+0

thx, lo tengo, lo asignaré a un acceso directo – greatghoul

10

¿Qué hay de

  1. v
  2. algún comando de movimiento/incluso buscar para seleccionar el texto
  3. :'<,'> w! >> /YOUR/SELECTIONFILE
  4. :'<,'>d

es eso lo que quieres? Si es así establecer un map para ello, como

map <F2> :'<,'> w! >> /YOUR/SELECTIONFILE<cr>:'<,'>d<cr> 

Nota esta anexa a SELECTIONFILE, y no sólo la selección, pero toda la líneas. Además, lea :h :w y :h ++opt (en el que puede aprender sobre las posibles opciones para escribir archivos (por ejemplo) puede agregar a un archivo con codificación diferente, que realmente ensucia cosas, así que no haga eso ;-)

Cuestiones relacionadas