我使用 Arch Linux 和 Openbox 窗口管理器和 bash。
所有内容都已更新至最新可用版本。
我经常需要更改所选文本的大小写,这些文本在应用程序中是错误的大小写,例如
- 自由办公室作家
- 谷歌文档
- 编辑器
- 杰尼
例如,我选择文本“THE BRIGHT DAY”,并希望通过一些简单的击键/键绑定将其更改为“the Bright Day”。
下面我实现了由 Openbox 键绑定调用的非常简单的命令行工具,以根据需要更改大小写。
这些存储在 Openbox 的 keybindings/ setup 文件中,rc.xml
如下所示
######################################
########## c-fn - key chain ##########
######################################
<keybind key="c-XF86WakeUp">
# change selected text to lowercase
<keybind key="l"><action name="execute"><command>bash -c '
clip_zz="$(echo $(xsel) | awk '\''{print tolower($0)}'\'')";
xdotool type --clearmodifiers -- "$clip_zz"
'</command></action></keybind>
# CHANGE SELECTED TEXT TO UPPERCASE
<keybind key="u"><action name="execute"><command>bash -c '
clip_zz="$(echo $(xsel) | awk '\''{print toupper($0)}'\'')";
xdotool type --clearmodifiers -- "$clip_zz"
'</command></action></keybind>
# Change Selected Text To Sentence Case Like This With Each Words First Letter Being Capatalised
<keybind key="i"><action name="execute"><command>bash -c '
clip_zz="$(echo $(xsel) | awk '\''{print tolower($0)}'\'' | sed '\''s@\([[:lower:]]\)\([[:alnum:]]*\)@\u\1\2@g'\'')";
xdotool type --clearmodifiers -- "$clip_zz"
'</command></action></keybind>
</keybind>
尽管这些在从大写到小写时有效,但由于 xdotool 的限制,它会将“IT'S”替换为“itNs”。
我想知道是否可以使用“xclip”或“xsel”或其他方式更巧妙地完成此操作。
使用通用键绑定来更改任何选定文本的大小写非常方便。