LINUX.ORG.RU

Вопрос по VIM


0

0
Не совсем про development, но недавно стал девелопить в VIM.
Нажимаем v, переходим в visual-режим, буковкой y копируем в буфер.
Надо это буфер сохранить в отдельный файл, чтобы вставить в другое
окно VIM (не через иксовый буфер, а аккуратненько через файл).

Man конечно читал, но неашел. Вобщем - это как Midnight Comandere -
сохранить выделенный кусок в файл - а затем  вставить его  из файла.
anonymous
Прямых операций clipboard -> file по-моему нет.

Если уж очень хочется сделать именно через файл, на мой взгляд последовательность такая:

y # забираем в clipboard
^Wn # новое окно
P # вставляем в новое окно
:sav f.txt # сохраняем в файл

после этого файл можно открыть в новом окне командой :split f.txt и переносить его содержимое куда хочешь.
Rem
()
1. Вроде бы Vim позволяет открывать несколько файлов (сам с ним почти не работаю, точно не знаю). Тогда можно через регистры.

2. Можно посмотреть :help write, вроде похоже на то, что нужно.

3. А чем плох иксовый буфер?

DKorolkov
()
Ответ на: комментарий от DKorolkov
А когда через иксовый буфер копируешь большой кусок скрипта, то при вставке в новый открытый файл он "съезжает" по правому краю, возникают пустые поля и прочие глюки. К тому же неудобно копировать очень большой кусок, который не помещается на несколько экранов.
anonymous
()
Ответ на: комментарий от anonymous
И по левому краю тоже съезжает...
anonymous
()
1) Ctrl-V/или v - выделяешь 2) y - копируешь в буфер 3) :split filename.ext 4) p - paste(всатвка) 5) :w - запись файла filename.ext

При длительном использовании vim все производится машинально

PETER ★★
()
Ответ на: комментарий от PETER

***

При длительном использовании Vim пишутся элементарные маппинги :). Например, такие:

" Copy and paste globally - to exchange between vims
vmap _y          :write! ~/tmp/vim_global_buffer<CR>
vmap _Y          _y
map  _p          :read ~/tmp/vim_global_buffer<CR>
map  _P          k_p
hbee ★★★★
()
Ответ на: *** от hbee
Маппинги - это сила!
anonymous
()
v
Выделяешь стрелками что надо.
:w filename

затем во втором виме
:set paste
:r filename
:set nopaste
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.