copilot / 코딩 / suggest / candidate / 예상 / text expander
espanso, text 확장기
설치
설명
이것은 bash 의 alias 와 비슷하다. 다만 차이점은 bash 의 alias 는 bash 내에서만 된다. 즉, command line 에서만 쓰인다.
하지만 이것은 gui 에서 쓰인다. 그래서 windows 내의 모든 application 안에 있는 typing 영역에서 사용할 수 있다. (예를 들면, 콘솔창, 텍스트 에디터, 웹브라우저의 주소창등.)
그래서 typing 을 줄여줄 수 있다. coding 에서 쓰는 snippet 과 같은 동작도 지원해주고, shell 에서 실행한 결과를 text 로 가져오고 싶다면 그런 것도 지정해 놓을 수 있다.
base.yml
에 자신이 원하는 command 를 추가해 놓을 수
있다.
%appdata%\espanso\match\base.yml
community
package
espanso 는 package를 제공한다.
설치된 package list 를 보여준다
espansod.exe package list
예시
아래처럼 해놓으면, :s2
를 typing 할 때마다, console 에서
dir 해서 나온 결과값이 화면에 typing 이 된다.
matches:
...
- trigger: ":s2"
replace: "{{output}}"
vars:
- name: output
type: shell
params:
cmd: "dir"
- trigger: ":ip"
replace: "{{output}}"
vars:
- name: output
type: shell
params:
cmd: "curl https://api.ipify.org"
shell: cmd
toggle key
default.yml
에 가서 toogle_key
를 설정하면
된다.
%appdata%\espanso\config\default.yml
만약 ‘ALT’ 로 설정했다면, ’ALT’key 를 두번 누르는 경우 espanso 가 동작하지 않게 된다.
search bar key
default.yml
에 가서 search_shortcut
를
설정하면 된다.
search_shortcut: ALT+SHIFT+SPACE
특정 app 에서 disable
특정 app 이 실행될때 espanso 를 disable 시킬 수 도 있다.
include, exclude 규칙
_mymatch.yml
처럼 앞에 _
를 붙이면, espanso
가 자동으로 load 하지 않는다.
debugging
log 보기
문제가 발생할 때 log 를 보려면 다음처럼 하면 된다.
espansod.exe log
debug: true
- trigger: ":localip"
replace: "{{output}}"
vars:
- name: output
type: shell
params:
cmd: "ip a | grep 'inet 192' | awk '{ print $2 }'"
debug: true
windows 에서 주의할 점
만약 espanso 를 일반 사용자 계정으로 실행한다면, ‘관리자’(administrator) 계정으로 실행한 app 안에서는 동작하지 않는다.
example
- %appdata%.yml
# espanso match file
matches:
- trigger: ":ip"
replace: "{{output}}"
vars:
- name: output
type: shell
params:
cmd: "curl https://api.ipify.org"
shell: cmd
- trigger: ":dbdump"
replace: "mysqldump --databases mydb -h locahost -u myuserid -P 3306 -p > rds-mydb.sql"
- trigger: ":dbinsert"
replace: "chcp 65001 && \"mysql.exe\" -u root -p mydb < rds-mydb.sql"
- trigger: ":cutf"
replace: "chcp 65001"
# markdown
- trigger: ":img"
replace: "![]('{{clipboard}}')"
vars:
- name: "clipboard"
type: "clipboard"
# markdown
- trigger: ":ref"
replace: "## References\n"
# run an app
- trigger: ":espanso-config"
replace: "{{output}}"
vars:
- name: output
type: shell
params:
cmd: "c:\\Program Files\\Sublime Text 3\\sublime_text.exe"
shell: cmd
- trigger: ":run-sublimetext"
replace: "{{output}}"
vars:
- name: output
type: shell
params:
cmd: "c:\\Program Files\\Sublime Text 3\\sublime_text.exe"
shell: cmd
- trigger: ":run-lnk"
replace: "{{output}}"
vars:
- name: output
type: shell
params:
cmd: "c:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\7-Zip\\7-Zip File Manager.lnk"
shell: cmd
# message 를 받는 form 을 보여준다.
- trigger: ":git-commit"
form: |
'git commit -m "[[message]]"'
# cmd /v 가 필요
- trigger: ":git-bcopy"
replace: |
for /f "delims=" %a in ('git --no-pager branch ^| d:\a\apps\fzf\fzf.exe +m') do @set branch=%a && echo !branch:~2,-1! | clip
- trigger: ":git-cbranch"
replace: |
for /f "delims=" %a in ('git --no-pager branch ^| d:\a\apps\fzf\fzf.exe +m') do @set branch=%a && git checkout !branch:~2,-1!
# 여러파일중 하나를 선택하는 예시
- trigger: ":file"
replace: "{{form1.file}}"
vars:
- name: files
type: shell
params:
cmd: "dir /b ."
shell: cmd
- name: form1
type: form
params:
layout: |
Select file:
[[file]]
fields:
file:
type: list
values: "{{files}}"
# And much more! For more information, visit the docs: https://espanso.org/docs/
See Also
- 쿠…sal: [컴][유틸] fzf - fuzzy finder
- Speed up git commands with Autohotkey - DEV Community : autohotkey 로 espanso 와 비슷한 효과를 낼 수 있다.
- 쿠...sal: [컴] espanso, text 확장기, 내설정
- Hotkeys & Text Expander | 500+ Productivity Resources : 다른 extender 들을 확인할 수 있다.
댓글 없음:
댓글 쓰기