Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Как скопировать из vim через ssh в локальный буфер обмена?  (Прочитано 3468 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн serii

  • Автор темы
  • Участник
  • *
  • Сообщений: 146
    • Просмотр профиля
Добрый день.
Подключаюсь к серверу по ssh и октрываю файл в vim, но буфер не работает.
На сервере в .vimrc есть настройка  set clipboard=unnamedplus

Также узнал, что можно подключится через флаг -Y, но тоже не работает.

Я понимаю, что можно копировать мышкой, но что делать когда файл большой и выделение мышкой и скролл не работает.

Заранее благодарен.

Оффлайн c47

  • Активист
  • *
  • Сообщений: 356
    • Просмотр профиля
Добрый день!

Ты ssh поднимаешь из эмулятора терминала (типа xterm, konsole, gnome-terminal) если да, то должно всё работать
Попробуй ещё такой вариант:
запустить у себя Midnight Commander, в левой части будет твоя система, в правой части через F9 выбери подключение ssh, подключись и копируй куда что хочешь, но целиком файлы.

Оффлайн serii

  • Автор темы
  • Участник
  • *
  • Сообщений: 146
    • Просмотр профиля
Добрый день!

запустить у себя Midnight Commander, в левой части будет твоя система, в правой части через F9 выбери подключение ssh, подключись и копируй куда что хочешь, но целиком файлы.

Я в kubuntu работаю, значит konsole. И не люблю midnight, я с ranger работаю.
А в konsole не работает.
« Последнее редактирование: 21 Октября 2021, 14:35:00 от ALiEN175 »

Оффлайн qpdb

  • Активист
  • *
  • Сообщений: 624
  • xUbuntu 22.04
    • Просмотр профиля
Приветствую!

Я в kubuntu работаю, значит konsole. И не люблю midnight, я с ranger работаю.
А в konsole не работает.

Я тоже пользуюсь ranger но по-моему без других программ его в данном случае использовать не получится :(
https://stackoverflow.com/questions/35379338/ranger-file-manager-access-remote-server
https://superuser.com/questions/1409492/how-to-copy-file-path-with-ranger-on-ssh

2021 Oct 21; 07:11 AM
Рекомендую ознакомиться с современной трактовкой темы „collective responsibility and the state”, а также темами сопряжёнными с этой… В современных реалиях это может оказаться полезным…

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6733
  • 20% Cooler
    • Просмотр профиля
А в konsole не работает.
Всмысле не работает?
Выделить, ПКМ->Копировать.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн serii

  • Автор темы
  • Участник
  • *
  • Сообщений: 146
    • Просмотр профиля
А в konsole не работает.
Всмысле не работает?
Выделить, ПКМ->Копировать.

Мышкой выделить работает, а вот через y - нет.


Оффлайн Domitory

  • Активист
  • *
  • Сообщений: 581
    • Просмотр профиля
Всмысле не работает?Выделить, ПКМ->Копировать
нужно использовать версию vim с поддержкой внешнего буфера

Проверьте есть ли у вашего такая возможность

vim --version | grep clipboard

Если +clipboard то подерживает если -clipboard то нет

Скорее всего поддержки нет если ставили обычный vim

установите пакет

sudo apt install vim-gtk


После этого должно будет заработать копирование выделенного текста в системный буфер по нажатия на клавиши

"+y  --скопировать в системный буфер обмена (нажимать надо по очереди *, + , v ) как то так сто лет не пользовался этой функцией
"+p  --вставить из системного буфера обмена

В общем весь смысл в том что из простого vim, без дополнений или перекомпилированного, просто так в общий буфер не скопировать

Попробуйте, отпишитесь что вышло или нет. У меня сейчас нет под рукой Ubuntu чтобы проверить.

Выделение и копирование мышью кстати тоже в чистом VIm так просто не работает по умолчанию.
« Последнее редактирование: 21 Октября 2021, 15:41:00 от Domitory »

Оффлайн serii

  • Автор темы
  • Участник
  • *
  • Сообщений: 146
    • Просмотр профиля
[quote author=Domitory link=topic=315871.msg2456265#msg2456265 date=1634819958]

vim --version | grep clipboard

Если +clipboard то подерживает если -clipboard то нет

[/quote]

Да знаю я что нужен vim-gtk, как я по вашему в Ubuntu работаю, я постоянно использую терминал, причему vim у меня установлен и в phpstorm и в vscode.

На сервере vim-athena, был vim-gtk и тоже не работало копирование.

"+y
"*y
Ни одна из этих команд не копирует в системный буфер.
Я уже прошелся по форумам в поиске ответа.
Только выделением мышки и правой кнопки из контекстного меню.

Ладно, дома у меня xubuntu, там попробую и отпишусь.

Оффлайн Domitory

  • Активист
  • *
  • Сообщений: 581
    • Просмотр профиля
Ни одна из этих команд не копирует в системный буфер.

Проверил сейчас у себя на Kubuntu 20

Как и ожидалось по умолчанию было  -clipboard

После установки vim-gtk

sudo apt install vim-gtk

стало +clipboard

стали работать команды для копирования в системный буфер и из него   

"+y  скопировать в системный буфер
"+d  вырезать в системный буфер
"+p  вставить из системного буфера

Не работает если находясь в MC открыть файл на редактирование по F4 через VIM, видимо ассоциация на редактирование осталась старая (ну и ладно).

Вы правильно выполняете команду   "+y     ?   
Нажимать нужно каждый символ по очереди прям через Shift,         Shift', Shift=, y




« Последнее редактирование: 21 Октября 2021, 19:50:40 от Domitory »

Оффлайн serii

  • Автор темы
  • Участник
  • *
  • Сообщений: 146
    • Просмотр профиля

Вы правильно выполняете команду   "+y     ?   
Нажимать нужно каждый символ по очереди прям через Shift,         Shift', Shift=, y

Вроде бы правильно нажимаю.
Вот дома в xubuntu нахожусь. Зашел на сервер, открыл файл в vim.
shift+v и вниз - скопировал код.
shift + ', shift + =, y - скопировал.

В буфере ничего нету.

Скопировал с помощью мышки, код добавился в буфер.


Оффлайн Domitory

  • Активист
  • *
  • Сообщений: 581
    • Просмотр профиля
В буфере ничего нету

Какая то затыка в SSH наверное как и у меня в MC

А vim-gtk на какой станции ставили? На сервере к которму цепляетесь по SSH или на той откуда выходите?  Должен быть там откуда vim запускается. На сервере Ubuntu?

Пользователь добавил сообщение 21 Октября 2021, 21:00:09:
Сейчас проверил у себя вариант как у вас

По SSH цепляюсь к домашнему серверу на Ubuntu 18 и там пытаюсь скопировать в общий буфер в VIM и фиг там.

Пользователь добавил сообщение 21 Октября 2021, 21:04:26:
Дошло в чем суть проблемы!  Проблема в том что когда выполняешь копирование в VIM находясь подключенным по SSH на другом компьютере то VIM и копирует в буфер того компьютера на котором запущен. А когда при этом используешь копирование через мышь то копирование идет через буфер компьютера на котором запущен сеанс SSH.  Как то нужно объединять буфер обмена в SSH, если это вообще возможно.

Давайте искать ответ вместе. Интересно очень стало.

Пользователь добавил сообщение 21 Октября 2021, 21:11:00:
А вот и ответ нашелся!

нужно запускать SSH в режиме -X тогда можно будет не только запускать графические приложения с удаленного сервера на своем локальном но и обмениваться буфером. У меня заработало.

ssh -X 192.168.2.100


:wq


« Последнее редактирование: 21 Октября 2021, 21:14:03 от Domitory »

Оффлайн serii

  • Автор темы
  • Участник
  • *
  • Сообщений: 146
    • Просмотр профиля

ssh -X 192.168.2.100


:wq

Урааааа, заработало, спасибо вам огромное, а то уже задолбался мышкой копировать.

Оффлайн serii

  • Автор темы
  • Участник
  • *
  • Сообщений: 146
    • Просмотр профиля
Хочу дополнить.
Сегодня попробовал поработать из дома, после переустановленной системы, и буфер не сохранял копированный текст.
Оказалось, что нужно было просто установить xauth.

sudo apt-get install xauth -y
sudo vim /etc/ssh/sshd_config
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no

ssh -X root@ip_addr


 

Страница сгенерирована за 0.034 секунд. Запросов: 22.