how to swap clipboard content with selection upon keyboard shortcut

故事扮演 提交于 2019-12-19 11:59:06

问题


I'd like to exchange the currently selected text in eclipse (or even any program) on linux with the content of the clipboard when pressing a shortcut like Ctrl-B. Any ideas?

A similar question has been posted here regarding Visual Studio but unfortunately the only useful answer pointed to AutoHotkey which is only available for Windows or is there a linux equivalent?


回答1:


There is a project called IronAHK which aims to make AutoHotkey cross-platform. It looks to have an extremely long development cycle, so I am not certain it supports everything that the latest AutoHotkey does. It is definitely worth a look!

Below is the code that would work in Windows:

^b::
    Old_Clip := clipboard
    Send ^x
    Send % Old_Clip 
Return



回答2:


found following solution using xvkbd:

  • make sure following packages are installed: xsel xvkbd
  • save the script below and bind it to a global keyboard shortcut like ^B. (in KDE I had to add it to the KDE-Menu first)

this is not very robust, e.g. when I tested it without the sleep command, the ctrl modifier key seemed to be stuck, i.e. the A key was interpreted as ctrl-A and I found no way to reset it. Otherwise this does what I want.

#!/bin/sh
# swap currently selected text with content of system clipboard, i.e.
# 1. save current clipboard content in oldClip
# 2. copy current selection into clipboard
# 3. print oldClip so that it overwrites previous selection
# this is supposed to work in eclipse but could work in other applications, too.
# usage: invoke this script via a global keyboard shortcut

# give user time to release keys, otherwise ctrl modifier might get stuck
sleep 0.5

# when run via shortcut stdin+stdout are redirected => xsel behaves differently.
# therefore always specify the mode explicitly.
oldClip=`xsel --clipboard --output`
xsel --primary --output | xsel --clipboard --input

xvkbd -text "$oldClip"


来源:https://stackoverflow.com/questions/17298876/how-to-swap-clipboard-content-with-selection-upon-keyboard-shortcut

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!