저는 Openbox 창 관리자 및 bash와 함께 Arch Linux를 사용합니다.
모든 콘텐츠가 최신 버전으로 업데이트되었습니다.
애플리케이션에서 잘못된 대소문자를 선택한 텍스트의 대소문자를 변경해야 하는 경우가 종종 있습니다.
- 프리랜서 사무 작가
- 구글 문서
- 편집자
- 제니
예를 들어, "THE BRIGHT DAY"라는 텍스트를 선택하고 몇 가지 간단한 키 입력/키 바인딩을 통해 "the Bright Day"로 변경하고 싶습니다.
아래에서는 필요에 따라 대소문자를 변경하기 위해 Openbox 키 바인딩으로 호출되는 매우 간단한 명령줄 도구를 구현했습니다.
rc.xml
이는 아래와 같이 Openbox의 키바인딩/설정 파일에 저장됩니다.
######################################
########## 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" 또는 다른 것을 사용하여 이 작업을 더 영리하게 수행할 수 있는지 궁금합니다.
선택한 텍스트의 대소문자를 변경하려면 범용 키 바인딩을 사용하는 것이 매우 편리합니다.