Вставить выделенный текст в Windows как в Linux (средняя кнопка мыши)

532
dun

Мне очень нравится эта функция в системах Linux. Я тоже этого хочу в своих системах Windows, но не нашел правильного решения.

Решения, которые я нашел:

-True X-Mouse
-AutoclipX
-Autohotkey скрипт

Проблемы, которые у меня были с ними:

True X-Mouse меняет фокус мыши, который я не хочу, чтобы он был активным в Windows, потому что он только портит меню, такие как меню «Пуск». Также вы не можете закрывать вкладки с помощью средней кнопки мыши, если она активна.
AutoClipX просто вставляет содержимое буфера обмена, а не выделенный текст. Найденный здесь скрипт
AutoHotkey перепутан с консолями на Windows. Если вы переключаетесь на консоль, нажимая на нее, она вставит Ctrl + C, что довольно раздражает.

Кто-нибудь нашел правильное решение или решение проблем, с которыми я столкнулся с этими тремя решениями?

1
AFAIK Вы можете вставить выделенный текст путем перетаскивания в каждый редактор или элемент управления редактирования (даже если окно свернуто или за другим окном, перетаскивая выделенный текст на значок окна на панели задач). В чем преимущество использования средней кнопки мыши для вставки выделенного текста? Как это работает в Linux? user3419297 5 лет назад 0
Вы можете выделить текст и переключиться на другое рабочее пространство или переключиться на развернутое окно и просто нажать среднюю кнопку мыши, чтобы вставить выделенный текст. Он остается таким же и перезаписывается только при выборе другого текста. Также вы можете использовать его, чтобы выбрать текст из консоли и вставить его в любое место. dun 5 лет назад 0
Вы хотите выделить текст, используя среднюю или левую кнопку мыши в этом случае? Важно знать для ответа на ваш вопрос. Используя AHK, вы можете выделять текст практически каждой кнопкой. user3419297 5 лет назад 0
Я хочу выделить текст левой кнопкой мыши. Средняя кнопка мыши предназначена только для вставки последнего выделенного текста. dun 5 лет назад 0

1 ответ на вопрос

1
user3419297

Скопируйте на выбранную реализацию:

Попробуйте это так:

#NoEnv #SingleInstance Force  mousedrag_treshold := 20 ; pixels  Hotkey mbutton, paste_selection  ; #IfWinNotActive ahk_class ConsoleWindowClass  ~lButton:: MouseGetPos, mousedrag_x, mousedrag_y keywait lbutton, T0.3  If (ErrorLevel) { keywait lbutton mousegetpos, mousedrag_x2, mousedrag_y2 if (abs(mousedrag_x2 - mousedrag_x) > mousedrag_treshold or abs(mousedrag_y2 - mousedrag_y) > mousedrag_treshold) { ; MouseGetPos,,,WindowUnderMouse ; WinGetClass, Class, ahk_id %WindowUnderMouse% ; If (Class != "ConsoleWindowClass") sendinput ^c hotkey mbutton, on } } return  ~lButton Up:: return  ; #IfWinNotActive  paste_selection: sendinput  SendInput ^v return 
Большое спасибо. Я попытаюсь настроить его, но он почти такой же, как в Linux. dun 5 лет назад 0
Выбранный текст из редакторов и консолей отлично вставляется, и при переключении на консоль он не отправляет Ctrl + C. Но он не вставляет выделенный текст, например, из браузера. Также он переопределяет функциональность среднего щелчка. Вы не можете запустить новый экземпляр программы, нажав среднюю кнопку на прикрепленных программах на панели задач, или вы не можете закрыть вкладки или открыть новые в Firefox. dun 5 лет назад 0