LINUX.ORG.RU

copy / paste in console...?

 , ,


0

1

Приветствую! Обнаружил в своих знаниях очередной пробел, мешающий жить - как в консоли сделать копи-пейст выделенных строк между разными файлами?

До сих пор пользую воркароунд в виде обьединения файлов и редактирования получившегося в итоге: cat text1.txt text2.txt > text_fin.txt

но весьма неудобно, да. Поискал немного в гугле, ничего хорошего ненашёл. вроде Ви умеет с буферами работать, но жутко неудобно, имхо. Сам в качестве редактора использую в основном встроенный в миднайт коммандер. Спасибо заранее....

Поставьте gpm и запустите. В консоли появится курсор мыши. Для копирования фрагмента выделаете текст зажав левую кнопку мыши, для вставки текста нажимаете правую кнопку мыши.

kostik87 ★★★★★ ()

1. vim сохраняет вырезанный кусок между запусками

2. можно просто скопировать текст с консоли ctrl+shift+c и вставить ctrl-shift-v (во всяком случае в konsole) но не в mc

3. можно открыть несколько файлов в любом редакторе (не mc)

no-such-file ★★★★★ ()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от wisedraco

Тогда пункт 1 - через vim или 3 - через одновременное открытие в редакторе (vim же) Если неудобно переключаться, то можно настроить хоткеи, на переключение предыдущий/следующий файл.

Кроме того в любом vi можно указать в коммандной строке vi file1 file2. Тогда откроется сначала file1, вырезаем что нужно, пишем :n, открывается следующий файл file2, вставляем вырезанное, нажимаем ZZ. Всё.

no-such-file ★★★★★ ()
Последнее исправление: no-such-file (всего исправлений: 2)

Я для этой цели имею запущенными emacs --daemon для себя и для рута.

# Чтоб не писать каждый раз, добавь
$ echo 'alias ec="emacsclient -c -nw"' >> ~/.bashrc && . ~/.bashrc

# А дальше у меня это выглядит так:
# Открываем файл1
$ ec file1

# Выделяем текст, копируем
A-SPC …<перемещение курсора>… A-SPC C-j

# Открываем файл2
C-x f file2 RET

# Вставляем
C-y

# Возвращаемся в буфер файла1 (ido-mode, работает везде, в т. ч. без иксов)
C-x ←

# Нам больше ничего не надо копировать, выходим
C-q

deterenkelt ()
Ответ на: комментарий от anonymous

Спасибо всем! Почерпнул для себя много познавательного и интересного. Наиболее удобный для меня вариант, похоже, этот, предложенный анонимусом для миднайт коммандер эдитора:

mc

ctrl-f

shift-F5

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

Ну не знаю. Сейчас специально поставил mc, попробовал. Всё нормально.

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

Это в putty так. В настоящей консоли средней клавишей :)

А у меня в настоящей консоли выделение и помещению в буфер левой клавишу, а вставка правой, при чём в любом дистрибутиве.

Так что разбирайтесь почему у вас по другому.

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

Сейчас проверил: shift + мышка в mc работает и в «настоящей» консоли. Так что, все совершенно идентично работе в иксах.

А правой клавишей вставка не может работать. У тебя что-то в настройках неправильно.

Eddy_Em ☆☆☆☆☆ ()
Последнее исправление: Eddy_Em (всего исправлений: 1)
Ответ на: комментарий от Eddy_Em

А правой клавишей вставка не может работать. У тебя что-то в настройках неправильно.

Я ничего в консоли не менял. Просто установил gpm и запустил. Всё время как использовал gpm, а это уже примерно лет 8 всегда работало так, выделяю текст с зажатой левой кнопкой мыши, нажимаю правую кнопку мыши - текст вставляется.

Ещё раз повторяю, это «голая» консоль.

kostik87 ★★★★★ ()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Все-таки, где-то у тебя что-то криво настроено. Возможно, в /etc/ ты когда-то прописал настройки для двухкнопочной мыши, а теперь тягаешь их везде.

У меня ПКМ выделяет блок текста от места, где ты ЛКМ щелкнул, до текущего. А СКМ вставляет, как и положено.

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

Eddy, я ещё раз говорю, я ни чего ни когда относительно работы мыши в консоли не настраивал. Просто ставлю gpm:

emerge gpm
или
apt-get install gpm
Далее
rc-update add gpm default
/etc/init.d/gpm start
или
/etc/init.d/gpm start
всё, больше ни каких настроек не делаю.

После чего в консоли при движении мыши появляется серый прямоугольник, при зажатой левой кнопкой мыши выделяю текст, отпускаю её и выделенный текст поместился в буфер. Нажимаю правую кнопку мыши - текст вставился. Могу даже переключиться на другую виртуальную консоль и нажать там правую кнопку мыши, в таком случае текст вставится на этой консоли.

И это куда более удобный способ, чем нажимать среднюю клавишу или нажимать в начале левую кнопку мыши, а потом правую для указания границ выделенного фрагмента текста.

Я всегда считал описанное поведение стандартным, что в Debian 3-4 года назад, что сейчас в Gentoo, пользуюсь я этой функцией редко, но иногда удобно и она всегда у меня так работала, во всех дистрибутивах примерно как уже 8 лет.

Повторю ещё раз, ни какие настройки не делаю, кроме как установки самого gpm, добавления на уровень запуска и собственно запуска программы.

Описанный тобой способ у меня вообще не работает.

kostik87 ★★★★★ ()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

-B sequence Set the button sequence. 123 is the normal sequence, 321 can be used by left-handed people, and 132 can be useful with two-button mice (especially within Emacs). All the button permutations are allowable.

...

-3

Force three buttons. By default the mouse is considered to be a 2-buttons one, until the middle button is pressed. If three buttons are there, the right one is used to extend the selection, and the middle one is used to paste it. Beware: if you use the -3 option with a 2-buttons mouse, you won't be able to paste the selection.

http://linux.die.net/man/8/gpm

gh0stwizard ★★★★★ ()
Ответ на: комментарий от gh0stwizard
GPM(8)                      System Manager's Manual                     GPM(8)



NAME
       gpm - a cut and paste utility and mouse server for virtual consoles

SYNOPSIS
       gpm [ options ]

...

OPERATION
       To  select  text  press  the  left mouse button and drag the mouse.  To
       paste text in the same or another console,  press  the  middle  button.
       The right button is used to extend the selection, like in `xterm'.


       Two-button mice use the right button to paste text.


       Double  and triple clicks select whole word and whole lines. Use of the
       `-p' option is recommended for best visual feedback.


       If a trailing space after the contents of a line is highlighted, and if
       there  is  no  other text on the remainder of the line, the rest of the
       line will be selected automatically. If a number of lines are selected,
       highlighted  trailing  spaces  on  each  line  will be removed from the
       selection buffer.


       Any output on the virtual console holding the selection will clear  the
       highlighted  selection  from  the  screen, to maintain integrity of the
       display, although the contents of the paste buffer will be unaffected.


       The selection mechanism is disabled if the controlling virtual  console
       is  placed  in  graphics mode, for example when running X11, and is re-
       enabled when text mode is resumed. (But see BUGS section below.)

$ eix -Ic gpm
[I] sys-libs/gpm (1.20.7-r2@13.08.2014): Console-based mouse driver

$ ps ax | grep gpm
 3508 ?        Ss     0:00 /usr/sbin/gpm -m /dev/input/mice -t ps2

Ну и зачем мне ваша средняя кнопка мыши? Вы не находите, что выделение с нажатой левой кнопкой мыши, а вставка по нажатию правой кнопки мыши намного удобнее?

kostik87 ★★★★★ ()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Ещё скажи и в иксах мидл-клик не используешь. Может тебе тогда лучше это, на венду? Гента не делает из человека линуксоида. :3 // кстати забавно, впервые обнаружил, что изначально мидл-клик отключен и для вставки используется пкм.

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

Ещё скажи и в иксах мидл-клик не используешь.

Я мышью вообще не особо много пользуюсь, в основном только для более быстрого и простого позиционирования курсора, если говорить об операциях копирования и вставки, то использую для этого клавиаитурные комбинации ctrl+c и ctrl+v, ну и прочие, для перемещения по текстовым данным, будь это просто текст, скрипт или код программы в основном использую pageDown и pageUp.

Так что иди учи свою жену.

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

Хорошо, сколько времени уходит на выделение цитаты в браузере? // да, я прекрасно знаю, что такое привычки. :3

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

Ну и зачем мне ваша средняя кнопка мыши? Вы не находите, что выделение с нажатой левой кнопкой мыши, а вставка по нажатию правой кнопки мыши намного удобнее?

Ты хоть прочитал и перевел и понял, что ты выделил?

Лично мне как-то всеравно какая у тебя мышь, просто у 95% мышь нынче 3х и более кнопочная, поэтому при дефолтной настройке gpm будет работать в режиме 3х кнопочной мыши и вставлять выделенный текст по СКМ.

То, что у тебя 2х кнопочная мышь (тачпад) или gpm не видет твою 3+ кнопочную мышь было очевидно, после твоего поста «А у меня...».

У меня на всех дистрибутивах (и разных конфигурациях ПК) с 2001 года в дефолте вставка по СКМ, собственно, что и написано в документации.

Двухкнопочную мышь последний раз держал еще в прошлом веке (она еще была шариковой, епрст :)

gh0stwizard ★★★★★ ()
Последнее исправление: gh0stwizard (всего исправлений: 2)
Ответ на: комментарий от wakuwaku

Хорошо, сколько времени уходит на выделение цитаты в браузере?

Да ровно столько же сколько и у вас, зажал левую кнопку мыши, выдели нужный кусок, отпустил кнопку, нажал ctrl+c, далее alt+tab и теперь ctrl+v, всё это займёт меньше времени, чем переключиться между окнами, а затем поднять палец, положить его на колесо прокрутки и нажать на него, а потом ещё и вернуть его на левую клавишу мыши.

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

Эм, выделение текста, открытие новой вкладки и вставка содержимого буфера делается за доли секунды. В это время входит: переместить палец с колёсика на лкм, выделение, клик лкм по ссылке «ответить», перемещение курсора в район поля ввода и нажатие скм. Я уж не говорю о том, что средний палец может находиться на скм, вместо пкм. Но ладно, это не важно, просто было интересно.

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

Лично мне как-то всеравно какая у тебя мышь, просто у 95% мышь нынче 3х и более кнопочная,

У меня так же есть трёх кнопочная и более мышь, даже беспроводная.

Logitech m510 - http://www.logitech.com/ru-ru/product/wireless-mouse-m510?crid=7
Начало выделения левой кнопкой мыши, окончание - правой, вставка - средней, мда, неудобно, перенастрою.

Logitec m-uv69 - http://www.nix.ru/autocatalog/mouse_logitech/Logitech_Mouse_Optical_MUV69_USB... Работает как я описал в предыдущих сообщениях, так же имеет более двух кнопок.

В общем, перенастрою gpm, а то переносить палец с левой кнопки на колесо неудобно.

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

В это время входит: переместить палец с колёсика на лкм, выделение, клик лкм по ссылке «ответить», перемещение курсора в район поля ввода и нажатие скм.

А левая рука вам на что? Мне лень двигать мышь, тем более для открытия новой вкладки, я лучше просто выделю ей текст, если надо открыть вкладку, то к примеру сразу после комбинации копирования нажму ctrl+t для открытия вкладки, а затем сразу ctrl+v, если нужно, то передвину курсор.

Я уж не говорю о том, что средний палец может находиться на скм, вместо пкм.

У вас либо мышь большого размера, у меня обычная, не ноутбучная мышь для девушки, либо у вас пальцы небольшого размера (тонкие), так что мне удобно, когда указательный палец лежит на левой кнопке мыши, а средний - на правой, двигать мне их лень. Для меня будет быстрее так, как я написал.

kostik87 ★★★★★ ()
Последнее исправление: kostik87 (всего исправлений: 1)

У mc есть свой буфер копипасты — Shift-F5/Ctrl f (скопировать/вставить)

PS Аноним уже ответил...

unanimous ★★★★★ ()
Последнее исправление: unanimous (всего исправлений: 1)
Ответ на: комментарий от kostik87

Левая рука для набора текста. Ну или мышка под ней.

выделю ей текст … комбинации копирования … ctrl+t … ctrl+v … если нужно, то передвину курсор

в общем-то, это куда более затратно, нежели 1 жест мышкой на уровне рефлексов. :>

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

нежели 1 жест мышкой на уровне рефлексов. :>

У меня работают рефлексы нажатия комбинаций левой кнопкой мыши. Да и движения мышью я совершаю лишь одной кистью руки, а для того, что вы предлагаете может потребоваться уже перемещать руку целиком, а не лишь одну кисть. Попробуйте описанный мной способ. Хотя, если вы не привыкли к клавиатурным комбинациям, то вам будет неудобно.

Левая рука для набора текста. Ну или мышка под ней.

Ну если вы левша, тогда есть ctrl+inset и shift+insert, shift+del и прочее, но с alt+tab, конечно, будут проблемы.

kostik87 ★★★★★ ()

ещё через screen как-то можно...

teod0r ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.