Подтвердить что ты не робот

Добавить или добавить выделенный текст в файл в Vim

В Vim есть способ перемещения выделенного текста в <current_file>.bak, добавление или добавление? Если возможно, файл резервной копии не должен отображаться.

Я предполагаю, что рабочий процесс будет следующим:

  • Выберите текст
  • Тип :sbak
  • Выбор сохраняется в <current_file>.bak
4b9b3361

Ответ 1

Вы можете сделать это в три этапа:

  • type Shift-v j... j для выбора некоторых строк
  • введите :'<,'>w! >>file.bak, чтобы сохранить выбранные строки в file.bak (добавить)
  • type g v d для удаления исходных строк

Вы можете написать пользовательскую команду Sbak, если хотите:

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

Ответ 2

Что насчет

  • v
  • команда перемещения/даже поиск для выбора текста
  • :'<,'> w! >> /YOUR/SELECTIONFILE
  • :'<,'>d

Это то, что вы хотите? Если для него настроено a map, например

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

Обратите внимание, что это добавляет к SELECTIONFILE, и не только выделение, но и целые строки. Кроме того, читайте :h :w и :h ++opt (в котором вы можете узнать о возможных вариантах написания файлов (например), которые вы можете добавить в файл с другой кодировкой, что действительно бесполезно, поэтому не делайте этого;-)