Vimã®åºæ¬ã¨èå¯ã¨ !
ãã¯ãããããã¾ã.
ãã·ãã§ã.
ãã¯ãããããã¾ãã£ã¦è¨ãã¨ä½æã§ãæã£ã½ããªãããè¯ããããã¤ã§ãã.
ãã¦、æã¨ã£ã·æ°ãä¼ç»ããAizu Advent Calendar3æ¥ç®ã®è¨äºã§ã.
Vimã«ã¤ãã¦æ¸ãã¾ã.
ã¨ãã£ã¦ã、ãã¤ãã®ãããªè¨å®ãã¡ã¤ã«ãªã©ã§ã¯ã¤ã¾ããªãã®ã§
ç§çãªèå¯ã以åããã¾ã¨ãã¦è¦ããã£ãHowToVimãªã©æ¸ãã¦ã¿ã¾ã.
Mac, Unixç³»åãã§ã。
åå¦è åãã§ãã®ã§ProVimmerãéVimmerã®æ¹ã«ã¯ç¡ç¨ã®é·ç©ã§ããã¾ããã.
å ãã¦、è¿ããã¡ã«Aizuã®å°ã§Vimåå¼·ä¼ãéå¬ãããã¨èãã¦ãã¾ãã®ã§
ãã®æã®è³æã«ããªãã°ããããªããªã©ã¨èãã¦ãã¾ã :)
ç§ã¯Vimã好ãã§ã.
Vimæ´ã¯æµ ãã§ããè¨å®ãããã£ããã³ãã³ããå©ãã¦ããã¨æ¥½ããã§ã.
大ããããã°ã©ã ã¯æ¸ãã¾ããã®ã§ããããã。
ãªãã§Vim使ã£ã¦ãã®?ããã«æ £ãã?
ã¨æ¥µç¨ã«èããã¾ãã、ããã¾ã§æ·±ãçç±ãããããã§ã¯ãªãã§ã.
以åã¯Windowsã§EmEditorãNotepad++ãªã©ä½¿ã£ã¦ãã¾ãã.
MacãLinuxã§ã¿ã¼ããã«ã使ãå§ããæã«emacsã¨Vimã¨ããäºå¤§å®æ´¾ããããããã¨ãããã¨ãç¥ã
sshã§ä¾¿å©ã ã、ååããã£ã¡ã®ãããé¿ãããªã¨ããããªé©å½ãªæãã§ä½¿ãå§ããæ°ããã¾ã.
ã§、使ã£ã¦ã¿ãã¨ãªããªãé¢ç½ãã使ãåæãé常ã«ããããã§ã㦅
大å¦ã«ãã£ããããããã®å¾æãªäººã¨ããã£ã±ãããã¨ãããª、ã¨èãã¦ããããã§ãã、
æ®å¿µãªãã¨ã«å¤§å¦ã§ã¯emacsãããã¡ã¯ãã¹ã¿ã³ãã¼ãã§ãã.
ä¸çªåãã«æããã®ã¯ç°å¢ã®èª¬æ、ã¯ã¼ã¯ã¹ãã¼ã·ã§ã³ã®ãã°ã¤ã³、emacsã®åºæ¬æä½ã ã£ãæ°ããã¾ã.
ãããªä¸ã§、ãããã«å人ãã¡ã«ãè¦ãã¦ãã¾ãããªããªã使ã£ã¦ããã¾ãã.
å¼·è¦ãããã®ã§ã¯ãªãã®ã§ä»æ¹ãªãã§ãã.
ã、誤解ãæããªãããã«æ·»ãã¦ããã¾ãã、å®ææ¦äºãããè¨äºã§ã¯ããã¾ãã.
emacsãè¯ãç°å¢ã ã¨æãã¾ã.
Shellæ©è½ãã¨ã¦ã便å©ããã§ãã、Twitterãã§ããã、ãªããããã²ã¼ã ã¨ãå ¥ã£ã¦ãã、elispã¨ããããã¾ãã….
ã©ã¡ããçæ¹(ãããã¯ä¸¡æ¹)ã使ãããªã、æ°æã¡æªãæã®åã(é³ã²ã¼å»äººã»ã©ã§ã¯ãªãã¨ã)ãå§ãããä½ãåé¡ãªãã§ããã.
æ´ã«è¨ããªãã°、å®éã®æ¥åã§Vimã使ããã¨è¨ãããã使ããªãã®ã§ã¯ãªãã§ãããã?
Eclipse, Xcode, VisualStudio, IntelliJ ãªã©ã®IDEã使ç¨ãããã¯ãã§ã。
ã¤ã¾ãå®å ¨ã«è¶£å³ã§ã( '-^ )b
"ã¯ããã«"ã«ãæ¸ãã¾ããã、以åã¯ä¸è¬çãªã¨ãã£ã¿ã使ã£ã¦ãã¾ãã.
ä¾ãã°、Notepad++
è£å®ã¯ãã¡ãããã¯ã、plugin、è±æ½¤ãªã·ã³ã¿ãã¯ã¹ãã¤ã©ã¤ããªã©ãããè¯ãã¨ãã£ã¿ã§ã。
ã§ãã、ç§ã¯Vim(Emacsãå«ã)è¯ãæã¯ä¸è¨ã®ãããªæ©è½ã§ã¯ãªã、
Vimã®ç価ã¯"w b e ge d y"ãªã©ã®ã³ãã³ãã«ç§ãããã¦ããã¨æãã¾ã。
ç°¡åã«è¨ã£ã¦ãã¾ãã¨åããã¼ã®é£æã¯å«ã ã¨ãããã¨ã§ã。
ããå¹ççã«ç·¨éããããã«ã¯ç¡é§ã®ãªãæä½ããã¹ãã§ã。
å ãã¦、ãããªãã¨ã§ããªãããª?ã¨æãã¨Vimã§ã¯å¤§æµåºæ¥ãã¨ãããã¨ã§ã。
ãã以ä¸ã®è¨äºã試ãã¨、ã¡ãã£ã¨ããã¯ä¸ä¾¿ã ãª、ã¨æããã¨ãããã§ããã。
å®é、æ¨æºã®ã¾ã¾ã ã¨ä¸ä¾¿ãªãã¨ãå¹¾ã¤ãããã¾ã。
ã§ãã、ã¡ãã£ã¨è¨å®ãå¤ããã、Pluginãå°å ¥ãããã¨ã§ã»ã¨ãã©è§£æ¶åºæ¥ãã¯ãã§ã。
ãããªãã£ããVimScriptãããã°ããã®ã§ã、ä¼¼ããããªãã¨ãæã人ãããã¯ãã§ã。
ãã¦ãã¦、ããã¾ã§èªãã§ããã人ãªããã£ã¨Vimã«å°ãèå³ãæã£ã¦ããã ããã®ã§ã¯ç¡ãã§ãããã?
é·ã£ããããã話ã¯ãã®è¾ºã«ãã¦ããã¾ããã。
ãã®è¨äºã«éã£ã話ã§ã¯ããã¾ããã
å®éã«å ¥åãããã®ã«ã¤ãã¦ã¯
åãããããããã«
<Enter>ãªã©ã¯çç¥ãã¦æ¸ããã¨ãå¤ãã§ã。
æé ã«$ãã¤ãã¦ãããã¿ã¼ããã«ã§ã®æä½ãæå³ãã¾ã。
Vimã§ç¾å¨ã®ã«ã¼ã½ã«ãããé¨åãã«ã¼ã½ã«ä½ç½®ã¨ãããã¨ã«ãã¾ã。
åæ§ã«、ç¾å¨ã®ã«ã¼ã½ã«ãããè¡ã¯ã«ã¼ã½ã«è¡
ã«ã¼ã½ã«ä½ç½®ã®æåãã«ã¼ã½ã«æåã¨ããã¾ã。
$ vim
ã¨å ¥åãã¦è¦ã¾ããã。
ã·ã³ãã«æ¥µã¾ããªãç»é¢ã表示ãããã¨æãã¾ã。
ãã¡ã¤ã«ãéããªãã£ãã¨ãã«ç»åã®ãããªã¡ãã»ã¼ã¸è¡¨ç¤ºããã¾ã。
ã¾ã æ ã¦ãæéã§ã¯ããã¾ãã。
Vimã§ã¯ã¢ã¼ãã¨ãããã®ãåãæ¿ãã¦æåãç·¨éãã¦ããã¾ã。
ããã¯Vimæ大ã®ç¹å¾´ã§ãã、åå¿è ã«å¯¾ããå£ã§ãããã¾ã。
èµ·åæã®ãã®ã¢ã¼ãã¯Normalã¢ã¼ãã¨å¼ã°ãã¾ã。
Vimã«ãªããªã人ãæ¸æãã®ã¯ããã§ã。
大æµã®äººã¯「ãã、ãããVimã」ã¨æã£ããã¨ã«
「ã§、ã©ããã£ã¦éããã®?」ã¨ãªãã¯ãã§ã。
çµäºããã«ã¯ä»¥ä¸ã®ã³ãã³ãã§ã。
:q
>No write since last change (add ! to override)
ãåºããæ«å°¾ã«!ãã¤ãã¦ä¸ãã。
!ã§å¼·å¶çã«ã¨ããæå³ã«ãªãã¾ã。
ããããç·¨éãããã©ãã£ã±ãä¿åããªã、ã¨ããæã«ã使ãã¾ã。
æ¸ãè¾¼ãã§çµäºããã¨ãã¯wãã¤ãã¾ã。
:wq
":"ãå ¥åãããã¨ã§ã³ãã³ãã©ã¤ã³ã¢ã¼ãã«ãªã、å種ã³ãã³ããæã¦ãããã«ãªãã¾ã。
ãã®":"ã表示ãããæä¸æ®µã"ã³ãã³ãã©ã¤ã³"ã¨ããã¾ã。
Welcome Vim World !! ã£ã¦ãã¨ã§ã。
åæç¶æ ã®Vimã¯ä¸è¨ã®ããã«æ¥µã·ã³ãã«ã§ã(ãããè¯ãããã)
ããã«å¯¾ãã¦
「Vimã£ã¦ããç´ æ´ãããã¨ãã£ã¿ãããããã。ã¡ãã£ã¨ä½¿ã£ã¦ã¿ããããª」
ã¨ãã人ãæãããã¦ãã¾ãæ°ããã¾ã。
大å¦ã«å ¥ã£ã¦、Unixã«è§¦ã、ããã°ã©ãã³ã°ãå¦ã¼ãã¨ããå ´åã ã¨ç¹ã«ããã§ã¯ç¡ãã§ãããã?
ãããVimã¯é£ããã¨è¨ããã¦ããçç±ã®ä¸ã¤ã«ããã¨æãã¾ã。
ãã®ã·ã³ãã«ã§ãããã¨ã¯、ä¸è¨ã®èãã«åºã¥ãã¦ãã¾ã。
Vimã®èãã§ã¯
ãã¼ã¸ã§ã³ãä¸ãã£ã¦ãæ§ãã¼ã¸ã§ã³ã§ä½¿ãããã®ããã£ããã¨ä½¿ãã。
ã·ã³ãã«ãã¤é«éã§å°ããããã°ã©ã ã§ãã。
ã¨ãã£ããã¨ãéè¦ã¨ãã¦ããããã§ã。
ã ããViäºæã¢ã¼ãã®compatibleãªãã·ã§ã³ãæ¨æºã§æå¹ã«ãªã£ã¦ãããã§ãã
ç§ã¯Viã§ã¯ãªãVimã使ããã人ã§ã。
ã ãã、:set nocompatibleã¨ãã¦Viäºæã¢ã¼ããåã£ã¦ãããã¨ãå¼·ãæ¨å¥¨ãã¾ã。
ããã、ãã®éçºæ¹éã¯ä¸è¨ã®å¼ç¨ä»¥å¤ã«ããããã、ãã£ããã¨ããç¸ãããã£ã¦è¯ãã¨æãã¾ã。
å®é、ããããå ã«Vimã¨ããã¨ãã£ã¿ãéçºãããã®ã§ããã。
Vimæ¬ä½ã¯ã·ã³ãã«ã§ãã、Pluginã®åã«ãã£ã¦æ§ã ãªæ¡å¼µããªããã¦ãã¾ã。
ãããæ £ãã¦ããã¨Pluginãç¡ãã¨ããªãä¸ä¾¿ã«æãã¾ã。
NeoBundleãVimproc,Uniteãªã©ã¯æ¬å½ã«ãããã§ãã。
ã°ã°ãã°å¤§æµã®æ å ±ã¯ããã¾ã。
æé«ã§ãã。
æãããã«ã©ãã©ã使ãã¾ããã(^p^)
Vimã®èµ·åã¨çµäºãè¦ããããã¡ã¤ã«ãéãã¦ã¿ã¾ããã。
$ vim hoge.c
åºæ¬ã®ã³ãã³ãã¯ä»¥ä¸ã§ã。
jãã¼ãä¸ç¢å°ã®ããã«è¦ãã¾ãã
è¡æ«ãè¡é ãªããã¯çµæ§å¤æ§ããæ°ãããã®ã§å¤§äºã§ã。
ã¾ã¨ãã¦å³ã§è¡¨ãã¨ãããªæãã§ã
å³æã®ãã¼ã ãã¸ã·ã§ã³ã¯hjklã§ã。
Vimãèµ·åãããhjklãä¸å¿ã«æãåãã¾ã。
ã«ã¼ã½ã«ãã¼ã¯ä½¿ãã¾ãã、é ãã§ã。
Vimç ãé²è¡ããã¨ãã©ã¦ã¶ã¨ãMSãªãã£ã¹ã§ãhjklã§ç§»åãããã¨ãã¦æ®å¿µãªã³ãã«ãªãã¾ã。
æ £ãã®åé¡ã§ãã®ã§æ§ãã次ã¸é²ã¿ã¾ããã。
å¿ãããè¦ãªããã°ããã ãã§ã。
ãã ã、ã«ã¼ã½ã«ãã¼ã¯ä½¿ããªãããå¿ããã¦ä¸ãã。
ãã¦、ãã£ã¨ç·¨éã§ã。
ãªã«ãé©å½ãªãã¡ã¤ã«ãéãã¦ã¿ã¾ããã
$ vim hoge.c
ãã®ã¾ã¾ã ã¨é常ã«è¦ã¥ããã®ã§ :syntax onã¨ã³ãã³ããå®è¡ãã¾ãã。
æ¨æºã®Cã®ã·ã³ã¿ãã¯ã¹ãã¤ã©ã¤ãã§ã。
ç·ã®ãããã¯ãç¾å¨ã®ã«ã¼ã½ã«ã®ä½ç½®ã§ã。
è²ãã«ã¼ã½ã«ä½ç½®ã®è¨å®ã¯ã¿ã¼ããã«å´ã®ãã®ã§ã。
ãã¡ãã、Vimã§ã®è¨å®ãããã¾ã。
ãã®ç¶æ ããInsertã¢ã¼ãã«å ¥ãã¬ãªã¬ãªã¨ã³ã¼ããæ¸ãã¦ããã¾ã。
Insertã¢ã¼ãã«å ¥ãã«ã¯ä»¥ä¸ã®ã³ãã³ãã§å ¥ãã¾ã。
å®éã¯ãã£ã¨ããã¾ã。
åãã¯ãªããå¤ã㪅ã¨æããã®ã§ãã
使ã£ã¦ãããã¡ã«、ä»ã®å ´åã¯ã©ã®ã³ãã³ãã§Insertã¢ã¼ãã«å ¥ãã¹ãã ã£ãã、ãªã©ã¨èãå§ãã¾ã。
次ã«ããããã®åä½ãå ·ä½çã«è¡¨ãã¦ã¿ã¾ã。
èæ¯è²ç·ã®ã¨ãããã«ã¼ã½ã«ä½ç½®ã§ã。
å¤æ°åa1ãç·¨éãã¦ã¿ã¾ããã。
ããã§ãã¡ã¤ã«ã«è¿½è¨ãåºæ¥ãããã«ãªãã¾ãã。
次ã¯åé¤ã§ã。
åé¤ã¯å¹¾ã¤ãã®ã¢ã¼ãã§è¡ãã¾ãã、ããã§ã¯Insertã¨Normalã¢ã¼ãã®åé¤ãæ¸ãã¾ã。
æ®éã®åé¤ã¯BackSpaceãDeleteã§ã.
ããã、Normalã¢ã¼ãã§ã¯ä½¿ãã¾ãã。
BackSpaceã¯å°ãé ããã¾ã。
x - ã«ã¼ã½ã«æåãåé¤(BackSpaceã¨åãåä½)
X - ã«ã¼ã½ã«æåãåé¤(Deleteã¨åãåä½)
D - ã«ã¼ã½ã«æåããè¡æ«ã¾ã§åé¤
dd - ä¸è¡åé¤
C - ã«ã¼ã½ã«æåããè¡æ«ã¾ã§åé¤ãã¦Insertã¢ã¼ãã¸
cc - ä¸è¡åé¤ãã¦Insertã¢ã¼ãã¸
ã§ã、Insertã¢ã¼ãã®æã¯xãªã©ã®ã³ãã³ãã¯ä½¿ãã¾ãã。
ç§ã以åã¯BackSpaceã使ã£ã¦ãã¾ããã、ãã¯ãBackSpaceã¯å°ãé ããã¾ã。
Insertã¢ã¼ãã®æã¯ä»¥ä¸ã使ãã¾ããã。
※compatibleãªãã·ã§ã³ãæå¹ã ã¨ä½¿ãã¾ãã。:set nocompatibleã¨ã³ãã³ããå®è¡ããã°ä½¿ãã¾ã。
ãã¡ãã«æ £ãã¦ããã¨ãã©ã¦ã¶ã®ããã¹ãå ¥åãã©ã¼ã ã§ã使ãããããã®ã§ä¾¿å©ã§ã。
次ã«ã³ãã¼&ãã¼ã¹ãã§ã。
ãã¼ã¹ãã®ãã¨ãYank(ã¤ã³ã¯)ã¨ããã¾ã。
è±åèªã ã¨ããã£ã¨å¼ã£å¼µãã¨ããæå³ã§ã。
yy - ä¸è¡ã¤ã³ã¯
p - ã«ã¼ã½ã«å¾ã«è²¼ãä»ã
P - ã«ã¼ã½ã«åã«è²¼ãä»ã
Vimã§ã¯、ãã®å ´å、ã¯ãªãããã¼ãã«å½ãããã®ãã¬ã¸ã¹ã¿ã¨å¼ã³ã¾ã。
ã¤ã³ã¯ãããã®ã¯æ¨æºã¬ã¸ã¹ã¿ã«ä¿åããã¾ã。
注æãå¿ è¦ãªã®ã¯、åé¤ã³ãã³ããå®è¡ããæã、åãããã«æ¨æºã¬ã¸ã¹ã¿ã«å ¥ã、ã¨ãããã¨ã§ã。
æä½éã®ç·¨éã¯ä»¥ä¸ã§å¤§ä¸å¤«ã§ã。
ããã¾ã§æ¸ãã¨ãã¦ãªãã§ãã、ããã§ã¯ã³ãã³ããå¤ãã£ãã ãã§æ®éã®ã¨ãã£ã¿ã¨å¤ãããªãã§ãã
次ããVimãããæä½ã説æãã¾ã。
ä»ã®æ®µéã ã¨Normalã¢ã¼ãã§å é ãæ«å°¾ã«ç§»åã§ãã¦ã、è¡ã®ä¸å¤®è¿ãã«ç§»åããã®ããã«ã¯hlã®é£æãå¿ è¦ã§ã。
(è¡ã®ä¸å¤®ã«ç§»åããããã«ã¯gmã§ã)
ããã§ã¯å¤§ããæå³ãããã¾ãã。
ãã£ã¨ç´ æ©ã移åããããã«åèªç§»åã使ãã¾ããã。
w - åæ¹ã®wordå é ã¸
W - åæ¹ã®WORDå é ã¸
b - å¾æ¹ã®wordå é ã¸
B - å¾æ¹ã®WORDå é ã¸
e - åæ¹ã®wordæ«å°¾ã¸
E - åæ¹ã®WORDæ«å°¾ã¸
ge - å¾æ¹ã®wordæ«å°¾ã¸
gE - å¾æ¹ã®WORDæ«å°¾ã¸
8ã¤ãããã¾ã。
w ←→ b
e ←→ ge
ã¨ãã風ã«å¯¾ã«ãªã£ã¦ãã¾ã。
ãã®åèªç§»åã¯wordã¨WORDåä½ã§åºåããã¾ã。
・word - è¨å·ãæ°åãªã©ãå«ãã§åºåãããåèª
・WORD - 空ç½ã§åºåããã。
ç§ãWORDã¯ããã®ã§ããwordãå°ããããµããªæãã§ã・・・
wordã®å ´åã®å é ã¨æ«å°¾ã®éãã以ä¸ã§ã。
æ¼ãç¶ããæã«ç§»åããé¨åã®èæ¯è²ãç·ã«ãã¦ãã¾ã。
ãããè¦ããã ãã§ããªããªãå¿«é©ã ãª、ã¨æãããã«ãªãã¯ãã§ã。
Vimã®ã³ãã³ãã¯å¹¾ã¤ãã®ç¨®é¡ã«åé¡ããã¾ã。
hjkl,w,eã®ãããªã«ã¼ã½ã«ç§»åã³ãã³ã、x,ddã®ãããªãªãã¬ã¼ã¿ã³ãã³ããªã©ã§ã。
ããããçµã¿åããã¦、æ´ã«ç¹°ãè¿ãã使ç¨ãããã¨ã§å¹æãçºæ®ãã¾ã。
è¯éºã«ã³ã³ãã決ã、ãã¢ãæã®åãããå§ãã¾ããã!
Vimã®ã³ãã³ãã¯ã³ãã³ãã®åã«æ°åãã¤ãããã¨ã§ç¹°ãè¿ããã¨ãã§ãã¾ã。
ä¾ãã°、2åèªãæ¶ãããæã¯d2wã¨ããçµã¿åããã«ãªãã¾ã。
ã¤ã¾ã、2wordåé¤ã§ã。
ä»ã®ã³ãã³ãã®çµã¿åããã®ä¾ã示ãã¾ã。
d$ - ã«ã¼ã½ã«ä½ç½®ããæ«å°¾ã¾ã§åé¤
d0 - ã«ã¼ã½ã«ä½ç½®ããè¡é ã¾ã§åé¤
y$ - ã«ã¼ã½ã«ä½ç½®ããæ«å°¾ã¾ã§ã¤ã³ã¯
4yy - ã«ã¼ã½ã«è¡ããä¸ã¸4è¡ã¤ã³ã¯
5x - 5wordåé¤
5i - <ESC>ããã¾ã§ã«å ¥åãããã®ã5åç¹°ãè¿ã
ã©ããä¼¼ããããªæãã§ãã
ãã以å¤ã«ãããããããã¾ãã®ã§æ £ãã¦ããã試ãã¦ã¿ã¾ããã。
ã©ãã«åé¡ãã¦ãããããããªãã£ãã®ã§ãã®é¨åã«ã¾ã¨ãã¾ã。
ã³ã¼ãã£ã³ã°ãããæ、ã¡ããã©ç»é¢ãµã¤ãºãã£ã±ããããã«ãªãã¨è¦ã¥ããã¨æãã¯ãã§ã。
Vimã使ã以åã¯æ¹è¡ãã¾ãã£ã¦、çãä¸è¾ºãã«æ¸ãã¦ããé¨åãæã£ã¦ãã¦ã¾ãã。
zz - ç¾å¨è¡ãç»é¢ä¸å¤®ã¸
ããããªããªã便å©ã§ã。
ä¸ã«è¡ããªãã¦ã、ä¸å¤®ã«æã£ã¦ãã¦ããã¾ã。
å·¦å³ã®ç§»åã¯åèªç§»åã§åºæ¥ã¾ã。
åæ§ã«、ä¸ä¸ã®å¤§ããªç§»åã大äºã§ã。
H - ç»é¢æä¸é¨ã¸(High)
M - ç»é¢ä¸å¤®ã¸(Middle)
L - ç»é¢æä¸é¨ã¸(Low)
<C-u> - åç»é¢åä¸ã¸(Up)
<C-d> - åç»é¢åä¸ã¸(Down)
<C-e> - 1è¡ä¸ã¸
<C-y> - 1è¡ä¸ã¸
<C-f> - 1ãã¼ã¸ä¸ã¸
<C-b> - 1ãã¼ã¸ä¸ã¸
ãã¦ãã¦、ã¡ããã¨æ¸ãã¦ãªãæã溢ãã¦ã¾ãã…
ããã§ããVimã®ä½¿ãæ¹ã¯åºæ¬çãªã¨ããã ãã§ã。
èå³ãæã£ã¦ããã ããã、æ¯éã¨ãVimdoc-jaãè¦ã¦æ¬²ããã§ã。
ãã¡ãã¨æ¥æ¬èªåããã¦ãã¦Vimã®ã»ã¨ãã©ãæ¸ãã¦ããã¾ã。
ã§ã、VimScriptã®ãã¨ã¨ãã¾ã ã¾ã ããããªãã®ã§、ãããããããã¾ã¨ãããã§ã。
Aizu Advent Calendar 3æ¥ç®ã¯ãã·ãã®æä¾ã§ãã。
4æ¥ç®ã¯luxionããã§ã。
ãã·ãã§ã.
ãã¯ãããããã¾ãã£ã¦è¨ãã¨ä½æã§ãæã£ã½ããªãããè¯ããããã¤ã§ãã.
ãã¦、æã¨ã£ã·æ°ãä¼ç»ããAizu Advent Calendar3æ¥ç®ã®è¨äºã§ã.
Vimã«ã¤ãã¦æ¸ãã¾ã.
ã¨ãã£ã¦ã、ãã¤ãã®ãããªè¨å®ãã¡ã¤ã«ãªã©ã§ã¯ã¤ã¾ããªãã®ã§
ç§çãªèå¯ã以åããã¾ã¨ãã¦è¦ããã£ãHowToVimãªã©æ¸ãã¦ã¿ã¾ã.
Mac, Unixç³»åãã§ã。
åå¦è åãã§ãã®ã§ProVimmerãéVimmerã®æ¹ã«ã¯ç¡ç¨ã®é·ç©ã§ããã¾ããã.
å ãã¦、è¿ããã¡ã«Aizuã®å°ã§Vimåå¼·ä¼ãéå¬ãããã¨èãã¦ãã¾ãã®ã§
ãã®æã®è³æã«ããªãã°ããããªããªã©ã¨èãã¦ãã¾ã :)
ã¯ããã«
ç§ã¯Vimã好ãã§ã.
Vimæ´ã¯æµ ãã§ããè¨å®ãããã£ããã³ãã³ããå©ãã¦ããã¨æ¥½ããã§ã.
大ããããã°ã©ã ã¯æ¸ãã¾ããã®ã§ããããã。
ãªãã§Vim使ã£ã¦ãã®?ããã«æ £ãã?
ã¨æ¥µç¨ã«èããã¾ãã、ããã¾ã§æ·±ãçç±ãããããã§ã¯ãªãã§ã.
以åã¯Windowsã§EmEditorãNotepad++ãªã©ä½¿ã£ã¦ãã¾ãã.
MacãLinuxã§ã¿ã¼ããã«ã使ãå§ããæã«emacsã¨Vimã¨ããäºå¤§å®æ´¾ããããããã¨ãããã¨ãç¥ã
sshã§ä¾¿å©ã ã、ååããã£ã¡ã®ãããé¿ãããªã¨ããããªé©å½ãªæãã§ä½¿ãå§ããæ°ããã¾ã.
ã§、使ã£ã¦ã¿ãã¨ãªããªãé¢ç½ãã使ãåæãé常ã«ããããã§ã㦅
大å¦ã«ãã£ããããããã®å¾æãªäººã¨ããã£ã±ãããã¨ãããª、ã¨èãã¦ããããã§ãã、
æ®å¿µãªãã¨ã«å¤§å¦ã§ã¯emacsãããã¡ã¯ãã¹ã¿ã³ãã¼ãã§ãã.
ä¸çªåãã«æããã®ã¯ç°å¢ã®èª¬æ、ã¯ã¼ã¯ã¹ãã¼ã·ã§ã³ã®ãã°ã¤ã³、emacsã®åºæ¬æä½ã ã£ãæ°ããã¾ã.
ãããªä¸ã§、ãããã«å人ãã¡ã«ãè¦ãã¦ãã¾ãããªããªã使ã£ã¦ããã¾ãã.
å¼·è¦ãããã®ã§ã¯ãªãã®ã§ä»æ¹ãªãã§ãã.
ã、誤解ãæããªãããã«æ·»ãã¦ããã¾ãã、å®ææ¦äºãããè¨äºã§ã¯ããã¾ãã.
emacsãè¯ãç°å¢ã ã¨æãã¾ã.
Shellæ©è½ãã¨ã¦ã便å©ããã§ãã、Twitterãã§ããã、ãªããããã²ã¼ã ã¨ãå ¥ã£ã¦ãã、elispã¨ããããã¾ãã….
ã©ã¡ããçæ¹(ãããã¯ä¸¡æ¹)ã使ãããªã、æ°æã¡æªãæã®åã(é³ã²ã¼å»äººã»ã©ã§ã¯ãªãã¨ã)ãå§ãããä½ãåé¡ãªãã§ããã.
æ´ã«è¨ããªãã°、å®éã®æ¥åã§Vimã使ããã¨è¨ãããã使ããªãã®ã§ã¯ãªãã§ãããã?
Eclipse, Xcode, VisualStudio, IntelliJ ãªã©ã®IDEã使ç¨ãããã¯ãã§ã。
ã¤ã¾ãå®å ¨ã«è¶£å³ã§ã( '-^ )b
ã¨ãã£ã¿ã«ãã ãã
"ã¯ããã«"ã«ãæ¸ãã¾ããã、以åã¯ä¸è¬çãªã¨ãã£ã¿ã使ã£ã¦ãã¾ãã.
ä¾ãã°、Notepad++
è£å®ã¯ãã¡ãããã¯ã、plugin、è±æ½¤ãªã·ã³ã¿ãã¯ã¹ãã¤ã©ã¤ããªã©ãããè¯ãã¨ãã£ã¿ã§ã。
ã§ãã、ç§ã¯Vim(Emacsãå«ã)è¯ãæã¯ä¸è¨ã®ãããªæ©è½ã§ã¯ãªã、
Vimã®ç価ã¯"w b e ge d y"ãªã©ã®ã³ãã³ãã«ç§ãããã¦ããã¨æãã¾ã。
ç°¡åã«è¨ã£ã¦ãã¾ãã¨åããã¼ã®é£æã¯å«ã ã¨ãããã¨ã§ã。
ããå¹ççã«ç·¨éããããã«ã¯ç¡é§ã®ãªãæä½ããã¹ãã§ã。
å ãã¦、ãããªãã¨ã§ããªãããª?ã¨æãã¨Vimã§ã¯å¤§æµåºæ¥ãã¨ãããã¨ã§ã。
ãã以ä¸ã®è¨äºã試ãã¨、ã¡ãã£ã¨ããã¯ä¸ä¾¿ã ãª、ã¨æããã¨ãããã§ããã。
å®é、æ¨æºã®ã¾ã¾ã ã¨ä¸ä¾¿ãªãã¨ãå¹¾ã¤ãããã¾ã。
ã§ãã、ã¡ãã£ã¨è¨å®ãå¤ããã、Pluginãå°å ¥ãããã¨ã§ã»ã¨ãã©è§£æ¶åºæ¥ãã¯ãã§ã。
ãããªãã£ããVimScriptãããã°ããã®ã§ã、ä¼¼ããããªãã¨ãæã人ãããã¯ãã§ã。
ãã¦ãã¦、ããã¾ã§èªãã§ããã人ãªããã£ã¨Vimã«å°ãèå³ãæã£ã¦ããã ããã®ã§ã¯ç¡ãã§ãããã?
é·ã£ããããã話ã¯ãã®è¾ºã«ãã¦ããã¾ããã。
表è¨ã¨è¨ãåã
ãã®è¨äºã«éã£ã話ã§ã¯ããã¾ããã
Ctrl + W → <C-w>
ESCãã¼ → <ESC>
ã¨è¡¨ç¾ãã¾ãESCãã¼ → <ESC>
å®éã«å ¥åãããã®ã«ã¤ãã¦ã¯
åãããããããã«
dd
<C-n>
ã®ããã«å¼·èª¿ãããã¨ã¨ãã¾ã。<C-n>
<Enter>ãªã©ã¯çç¥ãã¦æ¸ããã¨ãå¤ãã§ã。
æé ã«$ãã¤ãã¦ãããã¿ã¼ããã«ã§ã®æä½ãæå³ãã¾ã。
Vimã§ç¾å¨ã®ã«ã¼ã½ã«ãããé¨åãã«ã¼ã½ã«ä½ç½®ã¨ãããã¨ã«ãã¾ã。
åæ§ã«、ç¾å¨ã®ã«ã¼ã½ã«ãããè¡ã¯ã«ã¼ã½ã«è¡
ã«ã¼ã½ã«ä½ç½®ã®æåãã«ã¼ã½ã«æåã¨ããã¾ã。
ã¨ã«ããèµ·åãã¦ã¿ã
$ vim
ã¨å ¥åãã¦è¦ã¾ããã。
æ¨æºç¶æ Vim |
ãã¡ã¤ã«ãéããªãã£ãã¨ãã«ç»åã®ãããªã¡ãã»ã¼ã¸è¡¨ç¤ºããã¾ã。
ã¾ã æ ã¦ãæéã§ã¯ããã¾ãã。
Vimã§ã¯ã¢ã¼ãã¨ãããã®ãåãæ¿ãã¦æåãç·¨éãã¦ããã¾ã。
ããã¯Vimæ大ã®ç¹å¾´ã§ãã、åå¿è ã«å¯¾ããå£ã§ãããã¾ã。
èµ·åæã®ãã®ã¢ã¼ãã¯Normalã¢ã¼ãã¨å¼ã°ãã¾ã。
ã¨ããããçµäºãã¦ã¿ã
Vimã«ãªããªã人ãæ¸æãã®ã¯ããã§ã。
大æµã®äººã¯「ãã、ãããVimã」ã¨æã£ããã¨ã«
「ã§、ã©ããã£ã¦éããã®?」ã¨ãªãã¯ãã§ã。
çµäºããã«ã¯ä»¥ä¸ã®ã³ãã³ãã§ã。
>No write since last change (add ! to override)
ãåºããæ«å°¾ã«!ãã¤ãã¦ä¸ãã。
!ã§å¼·å¶çã«ã¨ããæå³ã«ãªãã¾ã。
ããããç·¨éãããã©ãã£ã±ãä¿åããªã、ã¨ããæã«ã使ãã¾ã。
æ¸ãè¾¼ãã§çµäºããã¨ãã¯wãã¤ãã¾ã。
":"ãå ¥åãããã¨ã§ã³ãã³ãã©ã¤ã³ã¢ã¼ãã«ãªã、å種ã³ãã³ããæã¦ãããã«ãªãã¾ã。
ãã®":"ã表示ãããæä¸æ®µã"ã³ãã³ãã©ã¤ã³"ã¨ããã¾ã。
ããã¾ã§ã§Vimã®èµ·åã¨çµäºãè¦ãã¾ããã
ã¤ã¾ã、Vimã®ä¸çã¸èªç±ã«åºå
¥ãã§ãã¾ã。
ä½è«ã¨èå¯
åæç¶æ ã®Vimã¯ä¸è¨ã®ããã«æ¥µã·ã³ãã«ã§ã(ãããè¯ãããã)
ããã«å¯¾ãã¦
「Vimã£ã¦ããç´ æ´ãããã¨ãã£ã¿ãããããã。ã¡ãã£ã¨ä½¿ã£ã¦ã¿ããããª」
ã¨ãã人ãæãããã¦ãã¾ãæ°ããã¾ã。
大å¦ã«å ¥ã£ã¦、Unixã«è§¦ã、ããã°ã©ãã³ã°ãå¦ã¼ãã¨ããå ´åã ã¨ç¹ã«ããã§ã¯ç¡ãã§ãããã?
ãããVimã¯é£ããã¨è¨ããã¦ããçç±ã®ä¸ã¤ã«ããã¨æãã¾ã。
ãã®ã·ã³ãã«ã§ãããã¨ã¯、ä¸è¨ã®èãã«åºã¥ãã¦ãã¾ã。
VIM IS... VI COMPATIBLE
ãªã«ãã、Vimã¯Viã®æ°è»½ãªç½®ãæãã¨ãã¦ä½¿ããã¨ãã§ããã¹ãã§ãã。ã¦ã¼ã¶ãæããªã、Vimã、ãªãªã¸ãã«ã®Viã¨ã®åºå¥ãã»ã¨ãã©ä»ããªãäºæã¢ã¼ãã§ä½¿ããã¨ãã§ãã。
vimdoc-ja Vimã®éçº 1. è¨è¨ä¸ã®ç®æ¨ ããå¼ç¨
Vimã®èãã§ã¯
ãã¼ã¸ã§ã³ãä¸ãã£ã¦ãæ§ãã¼ã¸ã§ã³ã§ä½¿ãããã®ããã£ããã¨ä½¿ãã。
ã·ã³ãã«ãã¤é«éã§å°ããããã°ã©ã ã§ãã。
ã¨ãã£ããã¨ãéè¦ã¨ãã¦ããããã§ã。
ã ããViäºæã¢ã¼ãã®compatibleãªãã·ã§ã³ãæ¨æºã§æå¹ã«ãªã£ã¦ãããã§ãã
ç§ã¯Viã§ã¯ãªãVimã使ããã人ã§ã。
ã ãã、:set nocompatibleã¨ãã¦Viäºæã¢ã¼ããåã£ã¦ãããã¨ãå¼·ãæ¨å¥¨ãã¾ã。
ããã、ãã®éçºæ¹éã¯ä¸è¨ã®å¼ç¨ä»¥å¤ã«ããããã、ãã£ããã¨ããç¸ãããã£ã¦è¯ãã¨æãã¾ã。
å®é、ããããå ã«Vimã¨ããã¨ãã£ã¿ãéçºãããã®ã§ããã。
Vimæ¬ä½ã¯ã·ã³ãã«ã§ãã、Pluginã®åã«ãã£ã¦æ§ã ãªæ¡å¼µããªããã¦ãã¾ã。
ãããæ £ãã¦ããã¨Pluginãç¡ãã¨ããªãä¸ä¾¿ã«æãã¾ã。
NeoBundleãVimproc,Uniteãªã©ã¯æ¬å½ã«ãããã§ãã。
ã°ã°ãã°å¤§æµã®æ å ±ã¯ããã¾ã。
æé«ã§ãã。
æãããã«ã©ãã©ã使ãã¾ããã(^p^)
ä»ã¯åããã¨ã ããèãã¦
Vimã®èµ·åã¨çµäºãè¦ããããã¡ã¤ã«ãéãã¦ã¿ã¾ããã。
$ vim hoge.c
åºæ¬ã®ã³ãã³ãã¯ä»¥ä¸ã§ã。
å·¦ ä¸ ä¸ å³
h j k l
è¦ãããã³ãh j k l
jãã¼ãä¸ç¢å°ã®ããã«è¦ãã¾ãã
è¡æ«ãè¡é ãªããã¯çµæ§å¤æ§ããæ°ãããã®ã§å¤§äºã§ã。
è¡é æ«å°¾ å
é è¡æ«
0 G gg $
0 G gg $
移åã³ãã³ã |
å³æã®ãã¼ã ãã¸ã·ã§ã³ã¯hjklã§ã。
Vimãèµ·åãããhjklãä¸å¿ã«æãåãã¾ã。
ã«ã¼ã½ã«ãã¼ã¯ä½¿ãã¾ãã、é ãã§ã。
Vimç ãé²è¡ããã¨ãã©ã¦ã¶ã¨ãMSãªãã£ã¹ã§ãhjklã§ç§»åãããã¨ãã¦æ®å¿µãªã³ãã«ãªãã¾ã。
æ £ãã®åé¡ã§ãã®ã§æ§ãã次ã¸é²ã¿ã¾ããã。
å¿ãããè¦ãªããã°ããã ãã§ã。
ãã ã、ã«ã¼ã½ã«ãã¼ã¯ä½¿ããªãããå¿ããã¦ä¸ãã。
ç·¨éããªããã°çãæ®ããªã
ãã¦、ãã£ã¨ç·¨éã§ã。
ãªã«ãé©å½ãªãã¡ã¤ã«ãéãã¦ã¿ã¾ããã
$ vim hoge.c
ãã®ã¾ã¾ã ã¨é常ã«è¦ã¥ããã®ã§ :syntax onã¨ã³ãã³ããå®è¡ãã¾ãã。
æ¨æºã®Cã®ã·ã³ã¿ãã¯ã¹ãã¤ã©ã¤ãã§ã。
ç·ã®ãããã¯ãç¾å¨ã®ã«ã¼ã½ã«ã®ä½ç½®ã§ã。
è²ãã«ã¼ã½ã«ä½ç½®ã®è¨å®ã¯ã¿ã¼ããã«å´ã®ãã®ã§ã。
ãã¡ãã、Vimã§ã®è¨å®ãããã¾ã。
ãã®ç¶æ ããInsertã¢ã¼ãã«å ¥ãã¬ãªã¬ãªã¨ã³ã¼ããæ¸ãã¦ããã¾ã。
Insertã¢ã¼ãã«å ¥ãã«ã¯ä»¥ä¸ã®ã³ãã³ãã§å ¥ãã¾ã。
i - ã«ã¼ã½ã«ä½ç½®åããç·¨ééå§
a - ã«ã¼ã½ã«ä½ç½®å¾ããç·¨ééå§
o - ã«ã¼ã½ã«è¡ä¸ã«1è¡å ãã¦ããããç·¨ééå§
s - ã«ã¼ã½ã«æåãåé¤ãããããç·¨ééå§
ã¨ããããæãé »ç¹ã«ä½¿ããã®ã4ã¤æ¸ãã¾ãã。a - ã«ã¼ã½ã«ä½ç½®å¾ããç·¨ééå§
o - ã«ã¼ã½ã«è¡ä¸ã«1è¡å ãã¦ããããç·¨ééå§
s - ã«ã¼ã½ã«æåãåé¤ãããããç·¨ééå§
å®éã¯ãã£ã¨ããã¾ã。
åãã¯ãªããå¤ã㪅ã¨æããã®ã§ãã
使ã£ã¦ãããã¡ã«、ä»ã®å ´åã¯ã©ã®ã³ãã³ãã§Insertã¢ã¼ãã«å ¥ãã¹ãã ã£ãã、ãªã©ã¨èãå§ãã¾ã。
次ã«ããããã®åä½ãå ·ä½çã«è¡¨ãã¦ã¿ã¾ã。
èæ¯è²ç·ã®ã¨ãããã«ã¼ã½ã«ä½ç½®ã§ã。
å¤æ°åa1ãç·¨éãã¦ã¿ã¾ããã。
åãã®ã«ã¼ã½ã«ä½ç½®ã1ã¨ãã¾ã。
char a1;
a1ãa01ã«ãããæã¯åã«è¿½è¨ããã®ã§ i ã§ã。
char a1; - iã§Insertã¢ã¼ãã¸
char a01; - 0ã追è¨
a1ãa10ã«ãããæã¯å¾ãã«è¿½è¨ããã®ã§ a ã§ã。
char a1; - aã§Insertã¢ã¼ãã¸
char a10; - 0ã追è¨
次ã®è¡ã«char a1_2;ã追è¨ãããæã¯æ°ããè¡ãä½ãã®ã§ o ã§ã。
char a1;
- oã§Insertã¢ã¼ãã¸
char a1_2; - 追è¨
a1ãa9ã«ãããæã¯æ¸ãæããã®ã§ s ã§ã。
char a; - sã§Insertã¢ã¼ãã¸
char a9; - 0ã追è¨
iã¨aã®éããªã©ããã¾ãã¡æ´ã¿ã¥ããã§ãããããæ
£ãã§ã。char a1;
a1ãa01ã«ãããæã¯åã«è¿½è¨ããã®ã§ i ã§ã。
char a1; - iã§Insertã¢ã¼ãã¸
char a01; - 0ã追è¨
a1ãa10ã«ãããæã¯å¾ãã«è¿½è¨ããã®ã§ a ã§ã。
char a1; - aã§Insertã¢ã¼ãã¸
char a10; - 0ã追è¨
次ã®è¡ã«char a1_2;ã追è¨ãããæã¯æ°ããè¡ãä½ãã®ã§ o ã§ã。
char a1;
- oã§Insertã¢ã¼ãã¸
char a1_2; - 追è¨
a1ãa9ã«ãããæã¯æ¸ãæããã®ã§ s ã§ã。
char a; - sã§Insertã¢ã¼ãã¸
char a9; - 0ã追è¨
ããã§ãã¡ã¤ã«ã«è¿½è¨ãåºæ¥ãããã«ãªãã¾ãã。
次ã¯åé¤ã§ã。
åé¤ã¯å¹¾ã¤ãã®ã¢ã¼ãã§è¡ãã¾ãã、ããã§ã¯Insertã¨Normalã¢ã¼ãã®åé¤ãæ¸ãã¾ã。
æ®éã®åé¤ã¯BackSpaceãDeleteã§ã.
ããã、Normalã¢ã¼ãã§ã¯ä½¿ãã¾ãã。
BackSpaceã¯å°ãé ããã¾ã。
x - ã«ã¼ã½ã«æåãåé¤(BackSpaceã¨åãåä½)
X - ã«ã¼ã½ã«æåãåé¤(Deleteã¨åãåä½)
D - ã«ã¼ã½ã«æåããè¡æ«ã¾ã§åé¤
dd - ä¸è¡åé¤
C - ã«ã¼ã½ã«æåããè¡æ«ã¾ã§åé¤ãã¦Insertã¢ã¼ãã¸
cc - ä¸è¡åé¤ãã¦Insertã¢ã¼ãã¸
ã§ã、Insertã¢ã¼ãã®æã¯xãªã©ã®ã³ãã³ãã¯ä½¿ãã¾ãã。
ç§ã以åã¯BackSpaceã使ã£ã¦ãã¾ããã、ãã¯ãBackSpaceã¯å°ãé ããã¾ã。
Insertã¢ã¼ãã®æã¯ä»¥ä¸ã使ãã¾ããã。
※compatibleãªãã·ã§ã³ãæå¹ã ã¨ä½¿ãã¾ãã。:set nocompatibleã¨ã³ãã³ããå®è¡ããã°ä½¿ãã¾ã。
<C-h>
ãã¼ã ãã¸ã·ã§ã³ã®hãªã®ã§è¿ãã§ãããã¡ãã«æ £ãã¦ããã¨ãã©ã¦ã¶ã®ããã¹ãå ¥åãã©ã¼ã ã§ã使ãããããã®ã§ä¾¿å©ã§ã。
次ã«ã³ãã¼&ãã¼ã¹ãã§ã。
ãã¼ã¹ãã®ãã¨ãYank(ã¤ã³ã¯)ã¨ããã¾ã。
è±åèªã ã¨ããã£ã¨å¼ã£å¼µãã¨ããæå³ã§ã。
yy - ä¸è¡ã¤ã³ã¯
p - ã«ã¼ã½ã«å¾ã«è²¼ãä»ã
P - ã«ã¼ã½ã«åã«è²¼ãä»ã
Vimã§ã¯、ãã®å ´å、ã¯ãªãããã¼ãã«å½ãããã®ãã¬ã¸ã¹ã¿ã¨å¼ã³ã¾ã。
ã¤ã³ã¯ãããã®ã¯æ¨æºã¬ã¸ã¹ã¿ã«ä¿åããã¾ã。
注æãå¿ è¦ãªã®ã¯、åé¤ã³ãã³ããå®è¡ããæã、åãããã«æ¨æºã¬ã¸ã¹ã¿ã«å ¥ã、ã¨ãããã¨ã§ã。
æä½éã®ç·¨éã¯ä»¥ä¸ã§å¤§ä¸å¤«ã§ã。
ããã¾ã§æ¸ãã¨ãã¦ãªãã§ãã、ããã§ã¯ã³ãã³ããå¤ãã£ãã ãã§æ®éã®ã¨ãã£ã¿ã¨å¤ãããªãã§ãã
次ããVimãããæä½ã説æãã¾ã。
Normalã¢ã¼ããã§ã¤ãºã¯ã¾ã çµäºãã¦ããªã
ä»ã®æ®µéã ã¨Normalã¢ã¼ãã§å é ãæ«å°¾ã«ç§»åã§ãã¦ã、è¡ã®ä¸å¤®è¿ãã«ç§»åããã®ããã«ã¯hlã®é£æãå¿ è¦ã§ã。
(è¡ã®ä¸å¤®ã«ç§»åããããã«ã¯gmã§ã)
ããã§ã¯å¤§ããæå³ãããã¾ãã。
ãã£ã¨ç´ æ©ã移åããããã«åèªç§»åã使ãã¾ããã。
w - åæ¹ã®wordå é ã¸
W - åæ¹ã®WORDå é ã¸
b - å¾æ¹ã®wordå é ã¸
B - å¾æ¹ã®WORDå é ã¸
e - åæ¹ã®wordæ«å°¾ã¸
E - åæ¹ã®WORDæ«å°¾ã¸
ge - å¾æ¹ã®wordæ«å°¾ã¸
gE - å¾æ¹ã®WORDæ«å°¾ã¸
8ã¤ãããã¾ã。
w ←→ b
e ←→ ge
ã¨ãã風ã«å¯¾ã«ãªã£ã¦ãã¾ã。
ãã®åèªç§»åã¯wordã¨WORDåä½ã§åºåããã¾ã。
・word - è¨å·ãæ°åãªã©ãå«ãã§åºåãããåèª
・WORD - 空ç½ã§åºåããã。
ç§ãWORDã¯ããã®ã§ããwordãå°ããããµããªæãã§ã・・・
wordã®å ´åã®å é ã¨æ«å°¾ã®éãã以ä¸ã§ã。
æ¼ãç¶ããæã«ç§»åããé¨åã®èæ¯è²ãç·ã«ãã¦ãã¾ã。
ã«ã¼ã½ã«ä½ç½®ãå
é ã¨ãã¾ã。
printf("double %d, %d, %p\n", sizeof(a5), sizeof(&a5), &a5);
w ã®å ´å
printf("double %d, %d, %p\n", sizeof(a5), sizeof(&a5), &a5);
e ã®å ´å
printf("double %d, %d, %p\n", sizeof(a5), sizeof(&a5), &a5);
対ã«ãªã£ã¦ãããã®ã¯æ«å°¾ããéé ã«ç§»åããã®ã§çç¥ãã¾ãã。printf("double %d, %d, %p\n", sizeof(a5), sizeof(&a5), &a5);
w ã®å ´å
printf("double %d, %d, %p\n", sizeof(a5), sizeof(&a5), &a5);
e ã®å ´å
printf("double %d, %d, %p\n", sizeof(a5), sizeof(&a5), &a5);
ãããè¦ããã ãã§ããªããªãå¿«é©ã ãª、ã¨æãããã«ãªãã¯ãã§ã。
ã³ã³ãããã¡ã
Vimã®ã³ãã³ãã¯å¹¾ã¤ãã®ç¨®é¡ã«åé¡ããã¾ã。
hjkl,w,eã®ãããªã«ã¼ã½ã«ç§»åã³ãã³ã、x,ddã®ãããªãªãã¬ã¼ã¿ã³ãã³ããªã©ã§ã。
ããããçµã¿åããã¦、æ´ã«ç¹°ãè¿ãã使ç¨ãããã¨ã§å¹æãçºæ®ãã¾ã。
è¯éºã«ã³ã³ãã決ã、ãã¢ãæã®åãããå§ãã¾ããã!
Vimã®ã³ãã³ãã¯ã³ãã³ãã®åã«æ°åãã¤ãããã¨ã§ç¹°ãè¿ããã¨ãã§ãã¾ã。
ä¾ãã°、2åèªãæ¶ãããæã¯d2wã¨ããçµã¿åããã«ãªãã¾ã。
float a4; - åæç¶æ
; - d2wãå®è¡
ããã¯dã³ãã³ãã«å¯¾ã、w2ååã®ç¯å²; - d2wãå®è¡
ã¤ã¾ã、2wordåé¤ã§ã。
ä»ã®ã³ãã³ãã®çµã¿åããã®ä¾ã示ãã¾ã。
d$ - ã«ã¼ã½ã«ä½ç½®ããæ«å°¾ã¾ã§åé¤
d0 - ã«ã¼ã½ã«ä½ç½®ããè¡é ã¾ã§åé¤
y$ - ã«ã¼ã½ã«ä½ç½®ããæ«å°¾ã¾ã§ã¤ã³ã¯
4yy - ã«ã¼ã½ã«è¡ããä¸ã¸4è¡ã¤ã³ã¯
5x - 5wordåé¤
5i - <ESC>ããã¾ã§ã«å ¥åãããã®ã5åç¹°ãè¿ã
ã©ããä¼¼ããããªæãã§ãã
ãã以å¤ã«ãããããããã¾ãã®ã§æ £ãã¦ããã試ãã¦ã¿ã¾ããã。
ããæãããã«
ã©ãã«åé¡ãã¦ãããããããªãã£ãã®ã§ãã®é¨åã«ã¾ã¨ãã¾ã。
ã³ã¼ãã£ã³ã°ãããæ、ã¡ããã©ç»é¢ãµã¤ãºãã£ã±ããããã«ãªãã¨è¦ã¥ããã¨æãã¯ãã§ã。
Vimã使ã以åã¯æ¹è¡ãã¾ãã£ã¦、çãä¸è¾ºãã«æ¸ãã¦ããé¨åãæã£ã¦ãã¦ã¾ãã。
zz - ç¾å¨è¡ãç»é¢ä¸å¤®ã¸
ããããªããªã便å©ã§ã。
ä¸ã«è¡ããªãã¦ã、ä¸å¤®ã«æã£ã¦ãã¦ããã¾ã。
å·¦å³ã®ç§»åã¯åèªç§»åã§åºæ¥ã¾ã。
åæ§ã«、ä¸ä¸ã®å¤§ããªç§»åã大äºã§ã。
H - ç»é¢æä¸é¨ã¸(High)
M - ç»é¢ä¸å¤®ã¸(Middle)
L - ç»é¢æä¸é¨ã¸(Low)
<C-u> - åç»é¢åä¸ã¸(Up)
<C-d> - åç»é¢åä¸ã¸(Down)
<C-e> - 1è¡ä¸ã¸
<C-y> - 1è¡ä¸ã¸
<C-f> - 1ãã¼ã¸ä¸ã¸
<C-b> - 1ãã¼ã¸ä¸ã¸
ç§ã¯1è¡ç§»åã¨ããããã使ã£ãããã¾ã。
åç»é¢å移åã¯çµ¶å¯¾ä½¿ãã¾ã。
ãã¡ãã、æ¸ãããã®ä»¥å¤ã«ã大éã«ããã¾ã。
ãããã«
ãã¦ãã¦、ã¡ããã¨æ¸ãã¦ãªãæã溢ãã¦ã¾ãã…
ããã§ããVimã®ä½¿ãæ¹ã¯åºæ¬çãªã¨ããã ãã§ã。
èå³ãæã£ã¦ããã ããã、æ¯éã¨ãVimdoc-jaãè¦ã¦æ¬²ããã§ã。
ãã¡ãã¨æ¥æ¬èªåããã¦ãã¦Vimã®ã»ã¨ãã©ãæ¸ãã¦ããã¾ã。
ã§ã、VimScriptã®ãã¨ã¨ãã¾ã ã¾ã ããããªãã®ã§、ãããããããã¾ã¨ãããã§ã。
Aizu Advent Calendar 3æ¥ç®ã¯ãã·ãã®æä¾ã§ãã。
4æ¥ç®ã¯luxionããã§ã。
ãã、ããªãã¾ã¨ã¾ã£ã¦ã¦åèã«ãªãã¾ãã!
è¿ä¿¡åé¤>æ´ã«è¨ããªãã°、å®éã®æ¥åã§Vimã使ããã¨è¨ãããã使ããªãã®ã§ã¯ãªãã§ãããã?
ãã·ã¢äººã¹ã¿ãããå®å ¨ã«vimã§ä»äºãã¦ãã®ã§ãããªããããªã¨æã£ã¦ã¾ããï½
eclipseã§ãvimãã©ã°ã¤ã³ãããã¦ããã、ã¤ã¤ã®ã§ã¯。
ãããã¨ããããã¾ãã¼
åé¤å®é、ä¸å¯è½ã§ã¯ç¡ãã®ã§ãããã
ãã¼ã ã§ã®éçºã、ç°å¢æ§ç¯ãªã©ãèããã¨é£ããã§ãã
ã¨èªåã¯è¨ããã¾ãã。
ã§ã、ãããã£ã¦、æ¥åã§ä½¿ããã¬ãã«ã®Vimmerã ã¨å¤§ä¸å¤«ãªã®ãããããªãã§ãã
ç§ãeclipseã®VimPluginã¯å ¥ãã¦ã¾ã。