Добавить или добавить выделенный текст в файл в Vim
В Vim есть способ перемещения выделенного текста в <current_file>.bak
, добавление или добавление?
Если возможно, файл резервной копии не должен отображаться.
Я предполагаю, что рабочий процесс будет следующим:
- Выберите текст
- Тип
:sbak
- Выбор сохраняется в
<current_file>.bak
Ответы
Ответ 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
(в котором вы можете узнать о возможных вариантах написания файлов (например), которые вы можете добавить в файл с другой кодировкой, что действительно бесполезно, поэтому не делайте этого;-)