Как сохранить текстовый блок в визуальном режиме в файл в 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.