키 바인딩을 사용하여 GUI 텍스트 선택을 "대문자", "소문자" 또는 "문장 케이스"에서 원하는 대소문자로 변환하세요.

키 바인딩을 사용하여 GUI 텍스트 선택을 "대문자", "소문자" 또는 "문장 케이스"에서 원하는 대소문자로 변환하세요.

저는 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" 또는 다른 것을 사용하여 이 작업을 더 영리하게 수행할 수 있는지 궁금합니다.

선택한 텍스트의 대소문자를 변경하려면 범용 키 바인딩을 사용하는 것이 매우 편리합니다.

관련 정보