ãã®èšäºã¯OthloTech Advent Calendar 2016ã®20æ¥ç®ã®èšäºã§ããæšæ¥ã¯_cheezããã®ãcssãtransform:matrix3dã®ã¡ãã£ãšããã話ã§ããã
ããã¯é£ãã¿ã€ãã«ã¿ãããªãã®ãªãã§ããããäººã¯æãããã©ãŠã¶ããã¯ããŠãã ããã
ã©ããããã«ã¡ã¯ããšã³ãžãã¢ãšåä¹ãã®ã¯ããããŸããã¬ãã«ã«ã¯ã¬ãã«ãäœããã³ããã§ããOthloTechã®Advent Calendarã®èšäºãšããããšã§ãåã¯OthloTechäž»å¬ã®å匷äŒã¯çµæ§åå ããŠããŸãããã¡ãããã®ä»ã®å匷äŒã«ãåå ããããšããããŸãã
ããããå Žã§é£ãèŠããšåŠçã®ã¿ãŒããã«ã¯ã€ã±ãŠãªãããšãããžã§å€ãã®ã§ããµã¯ããšã€ã±ãŠãã¿ãŒããã«ã«ãããã£ãŠèšäºã§ããèŠãç®ã倧äºã
ãã®èšäºã¯åºæ¬Macã®è©±ã§ããWindowsã®ã³ãã³ãã©ã€ã³ã®ããšãªããç¥ããŸãããLinux䜿ã£ãŠã人ã¯èªåã§è²ã ãã£ãŠããã§ããããããåãæããããããšã¯ãããŸããã
èŠãç®ãæ°ã«ãã
ãšã³ãžãã¢ãããããããããŸãããã人ã䜿ã£ãŠããšãã£ã¿ãIDEãšãã£ãããŒã«ã£ãŠæ°ã«ãªããŸããïŒ åã¯ãã£ã¡ãæ°ã«ãªããŸããMacã ã£ããDockãWindowsã ã£ããã¿ã¹ã¯ããŒããã¹ã¯ãããã«ãªã«ã眮ããŠããããæ°ã«ãªããŸãã
åã¯ããªã圢ããå ¥ã人éã§ããŠãèŠãç®ããããæ°ã«ããŸããèªåã人ã®èŠãç®ããã¡ããããçšåºŠæ°ã«ããŸãããåããã£ã¡ãæ°ã«ãªãã®ã¯ãšãã£ã¿ãIDEãšãã£ãåçš®ããŒã«ã®èŠãç®ã§ãã
ãããªããã§ãå匷äŒè¡ã£ããé£ã«åº§ã£ãŠã人ã®ç»é¢ãã¡ããã¡ããèŠãããã§ãããããŒã«ã¯ãªã«äœ¿ã£ãŠããã®ããã©ããªããŒãã䜿ã£ãŠããã®ããªãšããããŠãšã³ãžãã¢åãã®å匷äŒã¯ãšãã£ã¿ãIDEã¯åœç¶ã§ãã³ãã³ãã©ã€ã³ã䜿ãããšããããããŸãã
ããã§ã§ãããé£ã®äººã®ã¿ãŒããã«ãèŠããš...
ã ã£ããããããããããããããïŒïŒïŒïŒïŒ
ã»ããããããããããããïœïœïœïŒïŒïŒïŒïŒ
ããµãããªã«ãããµãã£ãŠããã©ã«ãã®ããããªãèæ¯çœããŒããããµãããããã£ãœãHomebrewãProã«å€ããã ãã§**ã俺ãšã³ãžãã¢ã§ããæã**åºããŠãã€ãããªã®ãããµãããåãã©ã³ãèŠãããMonacoã¯ãŸã ããHomebrewã®Andale Monoã£ãŠãªãã ããã€ãŒããã®ãã©ã³ããµã€ãºããªããšãæããã®ããProã®10ptãšãããžã§å°ããããŠèŠèŸãã ãã
Macã®æšæºãã©ã³ããªãæè忢ã§Menlo䜿ã£ãšãããããã§ãããããã©ã«ããããã¡ã€ã«ã®ã»ãšãã©ã¯Menloã«ãªã£ãŠãã®ã«ãšã³ãžãã¢ã£ãœãHomebrewãProã¯éããã©ã³ãã«ãªã£ãŠãã®ã¯Appleã®æªæã§ããããå€ããŸãããã
ãã©ã³ãã¯Rictyãªã©å ¥ããã®ããªã¹ã¹ã¡ã§ããèŠãããããã¢ãããŒã·ã§ã³ã¡ãã£ãšäžãããŸãã
ããŒããå€ããã
Macã®ã¿ãŒããã«ã®ããã©ã«ããããã¡ã€ã«ã§ãŸãšããªã®ãã®ã¯ç¡ããšåã¯æã£ãŠããŸããããã§èæ¯ãæåã®è²ãèªå奜ã¿ã«èšå®ããã£ãŠã®ã¯çããéãéã ãšæããŸãã
ãããæªããªãã®ã§ããããããã£ã±æªãã§ãããšããã倧äœã¯åŸ®åŠã«ãªã£ãŠããŸããŸãããããããã¶ã€ã³ã«é¢ããããšã¯ããããåŸæãªäººãçŽ é€ããã人ã«é Œãã®ãäžçªã§ããåŸæãªäººã¯ãèªåãäœã£ããã®ã䜿ã£ãŠã»ãããèªåã®ããçŸããããšãæã£ãŠãããªã®ã§ãäœã£ãããŒããå ¬éããŸãããŸããããªçç±ã§å ¬éããŠãããã§ã¯ãªãã§ããããããããªçç±ã®äººãå°ãã¯ããã§ãããã
å ¬éãããŠãããŒãã¯ããããããªããèªäœãããããã£ãšç¶ºéºã§èŠãããã§ãããããå°å ¥ã¯ããã«çµãããŸãããªã¹ã¹ã¡ããŒãã¯**Iceberg**ã§ãããšãããã°ã°ã£ãããããããã«åºãŠããŸããiTermã䜿ã£ãŠããæ¹ã¯ãã¡ãããã©ããã
éãè¯ãæãã§ãããããŠã³ããŒããµã€ããã€ã³ããŒãã®ä»æ¹ã**äœæè
ã®æ¹ã®ããã°**ã«æžããŠããã®ã§åèã«ããŠãã ãããããŒããæ¢ããŠããšSolarizedã£ãŠããè¶
å®çªããŒãã玹ä»ããŠãèšäºã倧éã«ãããããŸããåã¯Solarizedã奜ããããªãã奜ããããªãã®ãèæ
®ããŠãIcebergã®æ¹ãè¯ããšæããŸãã
ããã©ã«ãã®ãããã¡ã€ã«ã¯åŸ©å ã§ããã®ã§å šãŠæ¶ããŠOKã§ãããããªãããããèšäºæžããšãã«ãã䜿ããŸããã
ã¡ãªã¿ã«Vimã¯Hybridã«ããŠããŸããiTermã®Vimã®è²ãå¿«é©ã«ãããïŒç®ã«åªãããã¶ã€ã³ïŒãæãã£ããåèã«ããŸããã
å®å
šã«å¥œã¿ã§ããèæ¯ã¯åéæã«ãããšã«ãã³ã€ã€ã§ããäžäºç
ãããããããŸããã¿ãŒããã«ã®å Žåã¯ç°å¢èšå®>ãããã¡ã€ã«>èæ¯>äžéæåºŠã§å€ããããŸãããã©ãŒã£ãŠããã®ãé«ããšãã€ã±ãŸããã©ã¡ããã奜ã¿ã®åŒ·ãã«ããŸãããã
ã·ã§ã«ãå€ããã
ã»ãšãã©ã®Unixç³»OSã®ãã°ã€ã³ã·ã§ã«ïŒããã©ã«ãã®ã·ã§ã«ïŒã¯bashã§ããå¥ã«bashã¯ãã¡ã§ã¯ãªãã«ã¹ã¿ãã€ãºããã°äœ¿ããããã®ã§ããããããããªããšãããªããšã£ãšãšzshãfishã«å€ããŸãããã
æè¡åããããšã³ãžãã¢ã¯zshã䜿ã£ãŠã人ãå€ãå°è±¡ã§ãããã¡ã䟿å©ã§ããzshãåã¯ã·ã§ã«ã«è©³ããããã§ãæè¡åãããããã§ããªãã§ãããããã§ãzshã¯è¶ 絶䟿å©ã ãšæãããŠãããŸãã
æ£çŽäœ¿ããããã£ããã·ã§ã«ãªããŠãªãã§ããããšæã£ãŠããŸããã䜿ããããããããã®ãzshãfishãšããå°è±¡ã§ãã
ãã£ããèŠãç®ãã€ã±ãŠãããã«ãªã£ããããã®äžèº«ã®ã·ã§ã«ãã€ã±ãŠããã®ã䜿ãããã§ãããããšããããšã§bashããzshã«ç§»è¡ããŸãããã以äžã®ã³ãã³ãã§ãã°ã€ã³ã·ã§ã«ãzshã«å€æŽããŸããå€åãã¹ã¯ãŒãèãããã®ã§Macã®ãŠãŒã¶ãŒãã¹ã¯ãŒããå ¥åããŠãã ããã
$ chsh -s /bin/zsh
ããHomebrewã§æ°ããzshå ¥ããŠäœ¿ãããå ŽåããŸãHomebrewã®ããŒã¿ãææ°ã«ããŠããæ®éã«ã€ã³ã¹ããŒã«ããŸãã
$ brew update
$ brew install zsh
Macã¯--disable-etcdirãªãã·ã§ã³ä»ããbrew install --disable-etcdir zshã§ã€ã³ã¹ããŒã«ããªããšãã¹ãã©ãã®ããã®ãšåé¡ãããããã®ã§ãããåã¯ãªãã·ã§ã³ç¡ãã§ã€ã³ã¹ããŒã«ããŠãªã«ãå°ã£ãŠãªãã§ãã
ã€ã³ã¹ããŒã«ããã/etc/shellsã«zshã®ãã¹/usr/local/bin/zshã远å ããŸããVimã§ãEmacsã§ãnanoã§ããªãã€ã¬ã¯ãã§ããªãã§ãããã§ãã
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
# 远å
/usr/local/bin/zsh
ãããŠãã°ã€ã³ã·ã§ã«ã倿ŽããŸãã
$ chsh -s /usr/local/bin/zsh
ã¿ãŒããã«ãåèµ·åããã°zshãèµ·åããŠããŸãã
ããã³ãããå€ããã
ããã¯Macã®bashã®ããã©ã«ãã®ããã³ããã§ãã

ã ã£ããããããããããããããïŒïŒïŒïŒïŒ
ã€ãŒãã¿ã¥ãããããããããããïŒïŒïŒïŒïŒ
ãããªã«ãããæå³ããããããããã©ã«ããããã£ãŠã·ã§ã«ã®ããã©ã«ãèšå®æ±ºããAppleã®ãšã³ãžãã¢ã®ã»ã³ã¹çããããžã§ã
ã«ã¬ã³ããã£ã¬ã¯ããªã¯å¿ èŠã§ãããã®å·Šã**ããã€ã¯ãã£ãããªããªãã ããããªæ å ±èª°ãå¿ èŠãªãã ã**ã³ã³ãã¥ãŒã¿åãšãããŒã«ã«ã§ã¯ããžã§ãããªããã§ããããšããããŠãŒã¶ãŒåãMacã®ãã°ã€ã³ãŠãŒã¶ãŒã®ãšãã¯ãããŸãããå¿ èŠãªäººã¯ãããã§ãããããããŒã«ã«PCã§ã¯å°æ°æŽŸãªæ°ãããŸãã
ããšåºåïŒã³ãã³ãã®çµæãšãïŒãšããã³ããã®éã«äžè¡æ¬²ããã§ããéåžžã«ãããã¥ããã§ããWindowsã®ã³ãã³ãããã³ããã¯ããã©ã«ãã§äžè¡ç©ºããŠãŸããããããã«ãããã§ãã
ããã³ããã®ã«ã¹ã¿ãã€ãºã¯æ®éã«ã·ã§ã«ã®èšå®ãã¡ã€ã«ã«æžãã°å¥œããªããã«ã§ããŸããã§ãåã¯ã»ãšãã©èª¿ã¹ãããšãªãã®ã§ããããŸãããèªåã§ã«ã¹ã¿ãã€ãºããã人ã¯èª¿ã¹ãŠãã ããã
ã§ãåã¯ããŒããšåæ§ã«èª°ããäœã£ãŠããã**pure**ã£ãŠããã€ã±ãŠãããã³ããã䜿ã£ãŠããŸãã
äºè¡ããã³ããã§ãããåºåãšããã³ããã«äžè¡ç©ºãããããã倧å€èŠãããã§ãããŸããã«ã¬ã³ããã£ã¬ã¯ããªïŒã®ãã¹ïŒãšGitã®æ å ±ä»¥å€ã¯å€å衚瀺ãããªãã§ããç¡é§ãªæ å ±ãç¡ãã£ãŠè¯ãã§ããã
åã¯pureã ããå
¥ããŠäœ¿ã£ãŠããã®ã§ã¯ãªãPreztoãšãããã¬ãŒã ã¯ãŒã¯ã®èšå®ã§pureã䜿çšããŠããŸããåã¯ã·ã§ã«ã«è©³ãããªãã®ã§ãããPreztoãoh-my-zshãå°å
¥ããã ãã§ç°¡åã«ããããå¿«é©ãªç°å¢ãã§ãããããŸããã³ãã³ãã©ã€ã³åå¿è
ã¯ããŸããã¬ãŒã ã¯ãŒã¯ãå
¥ããŠãæ
£ãããèªåã§ãŽãªãŽãªã«ã¹ã¿ãã€ãºããã®ãããããªãšã
ãšããããšã§ãµã¯ããšPreztoãå
¥ããŠããã³ãããpureã«ããŸããããzshãèµ·åããŠããç¶æ
ã§ä»¥äžã®äºã€ã®ã³ãã³ããšã·ã§ã«ã¹ã¯ãªãããå
¥åããŠã¿ãŒããã«ïŒzshïŒãåèµ·åããã°OKã§ãã
$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
$ setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
åèµ·åããæç¹ã§ããã³ãããããªãå€ãã£ãŠããŸããtabã®è£å®ã倧åå€ãã£ãŠããŸããããšã¯~/.zpreztorcã®ããã³ããã®ããŒããpureã«ããã ãã§ãã:prezto:module:prompt ã§æ€çŽ¢ããŠãããã³ããã®èšå®å Žæãæ¢ããŠãã ããã
zstyle ':prezto:module:prompt' theme 'sorin' ã® theme ã®ç®æã pure ã«ããŸãã
#
# Prompt
#
# Set the prompt theme to load.
# Setting it to 'random' loads a random theme.
# Auto set to 'off' on dumb terminals.
zstyle ':prezto:module:prompt' theme 'pure'
ã€ãã§ã«è£å®ãšã·ã³ã¿ãã¯ã¹ãã€ã©ã€ãã®ã¢ãžã¥ãŒã«ãæå¹ã«ããŠãããŸããããèšå®å Žæã¯ãã¡ã€ã«ã®æåã®æ¹ã«ãããŸãã
'syntax-highlighting' \ ãš 'autosuggestions' \ ã 'prompt' \ ã®äžã«èšèŒããã ãã§ãããªã«ãã®çç±ã§ prompt ã®äžã«æžããªããšãããªãã£ãèšæ¶ããããŸãïŒæ°ã®ããããïŒã
# Set the Prezto modules to load (browse modules).
# The order matters.
zstyle ':prezto:load' pmodule \
'environment' \
'terminal' \
'editor' \
'history' \
'directory' \
'spectrum' \
'utility' \
'completion' \
'syntax-highlighting' \
'autosuggestions' \
'prompt' \
æåŸã«ç·šéãã.zpreztorcã以äžã®ã³ãã³ãã§èªã¿èŸŒããã¿ãŒããã«ãåèµ·åããã°OKã§ãã
$ source ~/.zpreztorc
preztoã®ã¢ãžã¥ãŒã«äžèЧãšèª¬æã¯GitHubã®prezto/modulesã§ç¢ºèªã§ããŸãã
autosuggestionsã®READMEã«ãããšautosuggestionsã¯syntax-highlightingã®åŸã«èšè¿°ãããŠããªããšãã¡ãããã§ãã
If this module is used in conjuncture with the syntax-highlighting module, it must be loaded after it.
If this module is used in conjuncture with the history-substring-search module, it must be loaded after it.
autosuggestionsã®è£å®ã¯ããŒãã«ãã£ãŠã¯è¶
çµ¶èŠèŸãã®ã§æ³šæããŠãã ããã
Preztoã®ã€ã³ã¹ããŒã«æ¹æ³ã¯åã®ããã°ã§Xcodeã®å°å
¥ããRictyã®å
¥ãæ¹ãŸã§ããªã詳ãã説æããŠããŸãããã ããæ§ã
ãªããšã説æããããŠããã£ãŠãããã¥ãããããããŸãããåºæ¬ã³ãã³ããããããã£ãŠããªã...é»ãç»é¢æã...ã£ãŠäººã«ã¯ãªã¹ã¹ã¡ã§ãã
zshã¯Preztoãautosuggestions以å€ã«ãããããã®ãã©ã°ã€ã³ããããŸããmollifierããã®zshã®å€éšãã©ã°ã€ã³ãŸãšããšããèšäºã§éåžžã«èŠããããŸãšããããŠããŸãããã²ã芧ãã ããã
ãããã«
ãã£ãããã ãã®äœæ¥ã§ã¿ãŒããã«ãããªãã€ã±ãŠãæãã«ãªã£ãããšæããŸããã¢ãããŒã·ã§ã³ãäžãã£ãããåšãããã©ãèŠããããã ã£ãããšããã¯ãèŠãç®ã¯å€§äºã ãšåã¯èããŠããŸãã
ã§ããã ãèªåãããŒã«ãã€ã±ãŠãèŠãç®ã«ããŠãããŸãããïŒ ç¹ã«èªåã®èŠãç®ã«ã¯æ°ã䜿ããªããš**ãããã ããæ å ±ç³»ã®ãã¢ãªã¿ããã³ãã¥éããŒãã¯âŠã**ãšãªã£ãŠããŸãèªåãå±ããŠããåéèªäœã®è©äŸ¡ãäžãããããŸãããããã
ææ¥ã¯ryota_m1020ããã®åœŒå¥³ãããªããªãåµãã°ãããããªãïŒäººå·¥åœŒå¥³ãåµãããã®AIå ¥éã§ããã¬ãã«é«ããã§ãããªã«ããé¢çœããã§ããããæ¥œãã¿ã«ã
ã¿ãŒããã«ã®èŠãç®ãšã人工ç¥èœãšãæ£çŽã©ãã§ãããããåã«åœŒå¥³ããã ããã








