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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.