Как сохранить текстовый блок в визуальном режиме в файл в Vim?
название очень описательный. На всякий случай приведу пример:
START BLOCK1
something
END BLOCK1
START BLOCK2
something
somenthing...
END BLOCK2
- выбрать
BLOCK1
в визуальном режиме - я дергаю его, нажимая y
- как я могу спасти дернул
BLOCK1
в какой-то другой файл?
6 ответов:
выберите текст, который вы хотите сохранить, в визуальном режиме строки или блока, и
:w new.txt
это то, что вы печатаете, но вы не будете на самом деле посмотреть именно то, что выше. При нажатии кнопки
:
, вы перейдете в командную строку, которая автоматически будет заполнена информацией о выборе. Это будет выглядеть примерно так::'<,'>
просто продолжайте печатать остальные (
w new.txt
) для получения:'<,'>w new.txt
...и нажмите enter.
с выбранным блоком, вы можете
:'<,'>w other-file
, который будет записывать только выбранный блок вother-file
. Удар:
в визуальном режиме должны поместить'<,'>
в командной строке для вас уже, так что вам действительно нужно только ввести:w other-file
.
вероятно, есть более простой способ сделать это, но то, что я бы сделал, это создать новый буфер (или вкладку), а затем вставить его в
p
. Вы можете создать новый буфер с:new
или новая вкладка с:tabnew
. Вы можете записать буфер / вкладку в файл как обычно с помощью:w filename
.
как @dronus упоминается в комментариях,
:w !pbcopy
предложения не копируются правильно, потому что он копирует всю строку. Если я хочу скопировать только url-адрес в строке, я не смогу. Вот строка, которую вы можете добавить в свой.vimrc
файл так, что каждый раз, когда вы нажмете CTRL-C, выбранная строка в вашем vim будет скопирована в буфер обмена:map <C-c> y:e ~/clipsongzboard<CR>P:w !pbcopy<CR><CR>:bdelete!<CR>
Если вы хотите читать подробности о том, что это делает, вы можете прочитать об этом на мой блог
его такая же реализация, как и то, что предложил @rmeador.