Linux, Electron ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ Alt+Shift๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „ํ™˜ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

์•ˆ๋…•, ๋™๋ฃŒ๋“ค!

์ œ๋ชฉ์— ํ‘œ์‹œ๋œ ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์„ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋™๋ฃŒ๋กœ๋ถ€ํ„ฐ ์˜๊ฐ์„ ๋ฐ›์•„ ์ด ๊ธ€์„ ์“ฐ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋ฅด๋…ธํ”„, ๊ทธ๋Š” ๊ฒŒ์œผ๋ฅด์ง€ ์•Š๊ณ  ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋ถ€๋ถ„์ ์ธ ํ•ด๊ฒฐ์ฑ…์„ ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‚˜์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ๋‚˜๋งŒ์˜ "๋ชฉ๋ฐœ"์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹น์‹ ๊ณผ ๊ณต์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ์— ๋Œ€ํ•œ ์„ค๋ช…

์—…๋ฌด์— Ubuntu 18.04๋ฅผ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ ์ตœ๊ทผ Visual Studio Code, Skype, Slack ๋ฐ Electron์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋œ ๊ธฐํƒ€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ Alt+Shift๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ ˆ์ด์•„์›ƒ์„ ์ „ํ™˜ํ•  ๋•Œ ๋‹ค์Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž…๋ ฅ ํ•„๋“œ์˜ ํฌ์ปค์Šค๊ฐ€ ๋งจ ์œ„๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์ฐฝ ํŒจ๋„ (๋ฉ”๋‰ด). ๋‹ค๋ฅธ ์ด์œ ๋กœ Fedora + KDE๋กœ ์˜ฎ๊ฒผ๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ์‚ฌ๋ผ์ง€์ง€ ์•Š์•˜๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์„ ์ฐพ๋‹ค๊ฐ€ ์ข‹์€ ๊ธ€์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค Skype๋ฅผ ์ง์ ‘ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•. ๊ณ ๋งˆ์›Œ์š” ๋™์ง€ ๋ธŒ๋ฅด๋…ธํ”„, ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ณ  ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ๊ณต์œ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ธฐ์‚ฌ์— ํ‘œ์‹œ๋œ ๋ฐฉ๋ฒ•์€ Skype๋ผ๋Š” ํ•˜๋‚˜์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๋งŒ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €์—๊ฒŒ๋Š” Visual Studio Code๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ ํ”„ ๋ฉ”๋‰ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์€ ๊ท€์ฐฎ๊ธฐ๋Š” ํ•˜์ง€๋งŒ ๊ฐœ๋ฐœ์— ์ฐธ์—ฌํ•˜๋Š” ๊ฒฝ์šฐ ๊ทธ๋ฆฌ ๋งŽ์€ ์ž‘์—…์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ๋™๋ฃŒ๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฉ”๋‰ด๊ฐ€ ์™„์ „ํžˆ ์‚ฌ๋ผ์ง€๋Š” ์†”๋ฃจ์…˜์„ ์ œ์•ˆํ–ˆ๋Š”๋ฐ, ์ €๋Š” VS Code์—์„œ ๋ฉ”๋‰ด๋ฅผ ์žƒ์–ด๋ฒ„๋ฆฌ๊ณ  ์‹ถ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋ฌด์—‡์ด ์ž˜๋ชป๋˜์—ˆ๋Š”์ง€ ์ดํ•ดํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋‚˜๋Š” ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ–๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ œ๊ฐ€ ํƒํ•œ ๊ธธ์„ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋” ์ž˜ ์•„๋Š” ์‚ฌ๋žŒ์ด ์ œ๊ฐ€ ์ง๋ฉดํ•œ ์–ด๋ ค์›€์„ ์„ค๋ช…ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Visual Studio Code๋ฅผ ์—ด๊ณ  ๋‹ค์–‘ํ•œ Alt+<%something%> ์กฐํ•ฉ์„ ๋ˆŒ๋Ÿฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์–ด๋–ป๊ฒŒ ๋ฐ˜์‘ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฑฐ์˜ ๋ชจ๋“  ๊ฒฝ์šฐ์— Alt+Shift๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ์กฐํ•ฉ์ด ์ดˆ์ ์„ ์žƒ์ง€ ์•Š๊ณ  ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ Alt๋ฅผ ๋ˆ„๋ฅธ ํ›„ Shift ํ‚ค๋ฅผ ๋ˆ„๋ฅธ ๊ฒƒ ๊ฐ™์•˜๊ณ  ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ๋‚ด๊ฐ€ Alt๋ฅผ ๋ˆ„๋ฅธ ๋‹ค์Œ ์•„๋ฌด ๊ฒƒ๋„ ๋ˆ„๋ฅด์ง€ ์•Š์€ ์ฑ„ Alt๋ฅผ ๋†“์œผ๋ฉด ์ฆ๊ฒ๊ฒŒ ๋ฉ”๋‰ด์— ์ดˆ์ ์„ ๋’€๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ƒ๋‹นํžˆ ๋…ผ๋ฆฌ์ ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ.

ํ‚ค๋ณด๋“œ ๋ ˆ์ด์•„์›ƒ ์ „ํ™˜์„ ์œ„ํ•œ ์„ค์ •(์ฒดํฌ๋ฐ•์Šค์™€ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ํ‚ค ์„ค์ •์ด ํฌํ•จ๋œ ๊ธด ๋ชฉ๋ก)์„ ์—ด๊ณ  ์ถ”๊ฐ€ ํด๋ฆญ ์—†์ด Alt ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ ˆ์ด์•„์›ƒ์„ ์ „ํ™˜ํ•˜๋„๋ก ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

Linux, Electron ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ Alt+Shift๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „ํ™˜ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

๊ทธ ํ›„ ์ฐฝ์„ ์ „ํ™˜ํ•˜๋Š” Alt+Tab์ด ์ž‘๋™์„ ๋ฉˆ์ท„์Šต๋‹ˆ๋‹ค. Tab๋งŒ์ด ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋‚ด Alt๋ฅผ ๋‹ค์‹œ "๋จน์—ˆ์Šต๋‹ˆ๋‹ค". ์ด "๋ˆ„๊ตฐ๊ฐ€"๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€์— ๋Œ€ํ•ด์„œ๋Š” ์˜๋ฌธ์˜ ์—ฌ์ง€๊ฐ€ ์—†์—ˆ์ง€๋งŒ ๋‚˜๋Š” ๊ทธ ์‚ฌ๋žŒ์—๊ฒŒ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ „ํ˜€ ๋ชฐ๋ž์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ฌธ์ œ๋Š” ์–ด๋–ป๊ฒŒ๋“  ํ•ด๊ฒฐ๋˜์–ด์•ผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๊ฒฐ์ฑ…์ด ๋– ์˜ฌ๋ž์Šต๋‹ˆ๋‹ค.

  1. ์„ค์ •์—์„œ ํ‚ค๋ณด๋“œ ๋ ˆ์ด์•„์›ƒ ์ „ํ™˜์„ ์œ„ํ•œ ๋‹จ์ถ•ํ‚ค๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค(๋‹ค๋ฅธ ๋ ˆ์ด์•„์›ƒ์œผ๋กœ ์ „ํ™˜ ์„น์…˜์—์„œ ๋ชจ๋“  ํ™•์ธ๋ž€์„ ์„ ํƒ ์ทจ์†Œํ•ฉ๋‹ˆ๋‹ค).
  2. ๋‚˜๋ฅผ ์œ„ํ•ด ๋ ˆ์ด์•„์›ƒ์„ ์ „ํ™˜ํ•ด ์ฃผ๋Š” ๋‚˜๋งŒ์˜ ๋‹จ์ถ•ํ‚ค ๋งŒ๋“ค๊ธฐ

์†”๋ฃจ์…˜ ์„ค๋ช…

๋จผ์ € Xbindkeys ํ‚ค์— ๋ช…๋ น์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•ˆํƒ€๊น๊ฒŒ๋„ ํ‘œ์ค€ ๋„๊ตฌ์—์„œ๋Š” ์•„๋ฆ„๋‹ค์šด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด Alt+Shift์™€ ๊ฐ™์€ ์กฐํ•ฉ์— ๋Œ€ํ•œ ๋‹จ์ถ•ํ‚ค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. Alt+S, Alt+1, Alt+shift+Y ๋“ฑ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋“ฑ๋“ฑ, ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ์šฐ๋ฆฌ ์ž‘์—…์— ์ ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

sudo dnf install xbindkeysrc

์ด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์น˜ ์œ„ํ‚ค
๋‹ค์Œ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ์ƒ˜ํ”Œ ์„ค์ • ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ƒ˜ํ”Œ์€ ์ž‘์—… ๋ฐฉ๋ฒ•์„ ํŒŒ์•…ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ช‡ ๊ฐ€์ง€ ๋ช…๋ น์œผ๋กœ ๋งค์šฐ ์งง์Šต๋‹ˆ๋‹ค.

xbindkeys -d > ~/.xbindkeysrc

ํŒŒ์ผ์˜ ์˜ˆ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ์‚ฌ์šฉํ•˜๋ ค๋Š” ๋‹จ์ถ•ํ‚ค์™€ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ๋ช…๋ น์„ ํ‘œ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.


# Examples of commands:
"xbindkeys_show"
  control+shift + q
# set directly keycode (here control + f with my keyboard)
"xterm"
  c:41 + m:0x4

๋‹จ์ถ•ํ‚ค๋กœ๋Š” ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ํ‚ค ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์ฝ”๋“œ๋กœ๋งŒ ์ž‘๋™ํ–ˆ์ง€๋งŒ ์•„๋ฌด๋„ ๋‹น์‹ ์ด ์กฐ๊ธˆ ์‹คํ—˜ํ•˜๋Š” ๊ฒƒ์„ ๊ธˆ์ง€ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ๋ฅผ ์–ป์œผ๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

xbindkeys -k

์ž‘์€ โ€œXโ€ ์ฐฝ์ด ์—ด๋ฆฝ๋‹ˆ๋‹ค. ์ดˆ์ ์ด ์ด ์ฐฝ์— ์žˆ์„ ๋•Œ๋งŒ ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋ฉ๋‹ˆ๋‹ค! ์ด ๊ฒฝ์šฐ์—๋งŒ ํ„ฐ๋ฏธ๋„์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.


[podkmax@localhost ~]$ xbindkeys -k
Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"(Scheme function)"
    m:0x4 + c:39
    Control + s

์ œ ๊ฒฝ์šฐ Alt+Shift ํ‚ค ์กฐํ•ฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

m:0x8 + c:50

์ด์ œ ์ด ์กฐํ•ฉ์„ ํด๋ฆญํ•˜๋ฉด ๋ ˆ์ด์•„์›ƒ์ด ์ „ํ™˜๋˜๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ ˆ์ด์•„์›ƒ์„ ์ง€์ •ํ•˜๋Š” ์ž‘์—… ๋ช…๋ น์€ ํ•˜๋‚˜๋งŒ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.


setxkbmap ru
setxkbmap us

์˜ˆ์ œ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ํ•˜๋‚˜ ๋˜๋Š” ๋‹ค๋ฅธ ๋ ˆ์ด์•„์›ƒ๋งŒ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ ์™ธ์—๋Š” ๋งˆ์Œ์— ๋“œ๋Š” ๊ฒƒ์ด ์—†์Šต๋‹ˆ๋‹ค.


vim ~/layout.sh
#!/bin/bash
LAYOUT=$(setxkbmap -print | awk -F + '/xkb_symbols/ {print $2}')
if [ "$LAYOUT" == "ru" ]
        then `/usr/bin/setxkbmap us`
        else `/usr/bin/setxkbmap ru`
fi

์ด์ œ .xbindkeysrc ๋ฐlayout.sh ํŒŒ์ผ์ด ๋™์ผํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ์œผ๋ฉด .xbindkeysrc ํŒŒ์ผ์˜ ์ตœ์ข… ๋ณด๊ธฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.


# Examples of commands:

"xbindkeys_show"
  control+shift + q

# set directly keycode (here control + f with my keyboard)
"xterm"
  c:41 + m:0x4

# specify a mouse button
"xterm"
  control + b:2
#ะ ะฒะพั‚ ั‚ะพ, ั‡ั‚ะพ ะดะพะฑะฐะฒะธะป ั
"./layout.sh"
  m:0x8 + c:50

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.


xbindkeys -p

๊ทธ๋ฆฌ๊ณ  ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ‘œ์ค€ ์„ค์ •์—์„œ ๋ ˆ์ด์•„์›ƒ ์ „ํ™˜ ์˜ต์…˜์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

ํ•ฉ๊ณ„

๋™๋ฃŒ ์—ฌ๋Ÿฌ๋ถ„, ์ด ๊ธฐ์‚ฌ๊ฐ€ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์„ฑ๊ฐ€์‹  ๋ฌธ์ œ๋ฅผ ๋นจ๋ฆฌ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ๋Š” ๊ทผ๋ฌด์‹œ๊ฐ„์— ๋” ์ด์ƒ ๊ทธ ๋ฌธ์ œ๋กœ ์ธํ•ด ์ฃผ์˜๊ฐ€ ์‚ฐ๋งŒํ•ด์ง€์ง€ ์•Š๋„๋ก ์–ด๋–ป๊ฒŒ๋“  ๋ฌธ์ œ๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์‰ฌ๋Š” ๋‚  ๋‚ด๋‚ด ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋ˆ„๊ตฐ๊ฐ€์˜ ์‹œ๊ฐ„๊ณผ ์‹ ๊ฒฝ์„ ์ ˆ์•ฝํ•˜๊ธฐ ์œ„ํ•ด ์ด ๊ธฐ์‚ฌ๋ฅผ ์ผ์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๋ ˆ์ด์•„์›ƒ์„ ์ „ํ™˜ํ•˜๋Š” ๋Œ€์ฒด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๋ฌธ์ œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ๊ฐœ์ธ์ ์œผ๋กœ Alt+Shift๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ œ๊ฐ€ ์›ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋‚ด ์˜๊ฒฌ์„ ๊ณต์œ ํ•˜๊ณ  ์ด ๋ฌธ์ œ์— ์ง๋ฉดํ–ˆ๋‹ค๋ฉด ์ด ๊ธฐ์‚ฌ๊ฐ€ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€