vimã©ã€ããŠãŒã¶ã®ä¿ºã説æããå®è·µvimå ¥éç·š
-
察象è: ããããvimã䜿ãå§ããããšãã人ãéçºè ãwebãã¶ã€ã -
æåŸ ãããææ: vimãå°ãã§ã奜ãã«ãªã
vimãšã¯äœã
ç§ã®è²§åŒ±ãªèªåœã§ã¯ãšãŠã衚ããããªãã®ã§äžèšã§èšããšã髿©èœãªããã¹ããšãã£ã¿ã ã
䜿ããŸã§ã«å¹Ÿåãã®ä¿®è¡ãå¿
èŠãšãããšèšãããŠããã»ã©å€æ©èœãç¹æ®ãªåäœãããã
ãããªãã³ãã³ã®vimã䜿ã£ãŠãããšãã®ãã¡ãã¬ãŠããŠãç§ãã¡ã¯vimããã²ãšæãé¢ããããªããªãã ããã
äœã¯ãšãããã€ã³ã¹ããŒã«
ãªãã¹ãç°¡åã«çšæã§ããæ¹æ³ãéžãã§ããŸãã
èªåã§ãœãŒã¹ã³ãŒããããã«ããããã£ãŠããæ¹ã¯mercurialã䜿ã£ãŠäžä»£ç®¡çãããšããããšæããŸãã
ã³ãã³ãå
ã®> ãš $ã¯å
¥åäžèŠã§ã
- Windows
éŠãå± KaoriYaããããŠã³ããŒãããŠäœ¿ãã®ãåã
Windows+rãæŒããŠãã¡ã€ã«åãæå®ããŠå®è¡ããcmdãšæã¡èŸŒã¿Enterâã³ãã³ãããã³ãããèµ·åãããŸãã
ãã©ã«ããC:\Appãã©ã«ãã«è§£åããã®ã§ããã°ä»¥äžã®ããã«PATHã远å ããŸãã
> setx PATH "%PATH%";C:\App\vim74-kaoriya-win32
- Mac
Homebrewã䜿ããŸãã
Homebewã®ã€ã³ã¹ããŒã«ã¯ãããåèã«ããŠããã±ãŒãžç®¡çã·ã¹ãã Homebrew
Ctrl+SpaceãæŒããŠterminalãšå
¥åããŠEnterâTerminal.appãèµ·åãããŸãã
$ brew update
$ brew install lua
$ brew install macvim --devel --with-lua
$ echo $PATH #ã§/usr/local/binãç¡ãå Žå
$ export PATH="/usr/local/bin:$PATH"
brew update ã§ç§ãäœæ¥ããæã«åºãxcodeã®ã©ã€ã»ã³ã¹åæãããã£ãŠãšã©ãŒ
$ brew update
Warning: You have not agreed to the Xcode license.
Builds will fail! Agree to the license by opening Xcode.app or running:
xcodebuild -license
$ sudo xcodebuild -license #æç« ã衚瀺ãããã®ã§ agree ãšå
¥åããŠEnter
- Debian,Ubuntu
$ sudo aptitudo vim
䜿ã£ãŠã¿ãã
$ vim ~/.vimrc
vimã«ã¯ã¢ãŒããšããæŠå¿µããããŸãã
éåžžæã®ããŒãã«ã¢ãŒããšå
¥åæã®ã€ã³ãµãŒãã¢ãŒãã§ãã
ã©ã£ã¡ã®ã¢ãŒããåãããªããªã£ããå³escããŒãå
¥åããŠããŒãã«ã¢ãŒãã«æ»ããŸãããã
vimã§ã¯ã€ã³ãµãŒãã¢ãŒãäžã¯æ®éã«ãŒãœã«ç§»åããŸããã
å
¥åæŒããªã©ãçºèŠããå Žåã¯ããŒãã«ã¢ãŒãã«æ»ã£ãŠã«ãŒãœã«ãç§»åããŸãããã
æ©é䜿ã£ãŠãããŸããæåã¯å
¥åé床ãã¹ããŒãã«èœã¡ãŸããææ
¢ããŸãã
以äžã«ç°¡åãªå ¥åæäœã®ç°¡æè¡šãçšæããŸããã
æäœ|vim
---+---
â|k
â|j
â|h
â|l
äžæååé€|x
ã€ã³ãµãŒãã¢ãŒããž|i
次è¡ãæ°èŠè¡ãšããŠæ¿å
¥ããŠã€ã³ãµãŒãã¢ãŒããž|o
çŸåšè¡ã«æ°ããè¡ã远å ããŠã€ã³ãµãŒãã¢ãŒããž|O
ããŒãã«ã¢ãŒããž|(ã€ã³ãµãŒãã¢ãŒãã§)esc
æåã¯äžèšã®ã«ãŒãœã«ç§»åãèŠãªããã§ãããã®ã§æã£ãŠã¿ãŠãã ããã
filetype plugin indent on
syntax on
set nowrap
set hlsearch
set ignorecase
set smartcase
set autoindent
set ruler
set number
set list
set wildmenu
set showcmd
set shiftwidth=4
set softtabstop=4
set expandtab
set tabstop=4
set smarttab
set clipboard=unnamed
æåŸã«ããŒãã«ã¢ãŒãã§:wãšå
¥åããŠãã ããã
ããã¯ä¿åã§ããåãã:qã§vimã§ã®ç·šéãçµäºããŸãã
以äžã«äŒŒãæäœãåæããŠãããŸãã
æäœ|vim
---+---
äžæžãä¿å|:w
ååãã€ããŠä¿å|:w ãã¡ã€ã«å
ç·šéçµäº|:q
ä¿åããŠçµäº|:wq ãŸã㯠:x
ãã¡ã€ã«ãéã|:e ãã¡ã€ã«å
ãã ãvimã§ã¯äžæžãä¿åããŠããªãç·šéäžã®ãã¡ã€ã«ãéããããšãããšä¿åããŠãŸãããã£ãŠèšãããŸãã
ç·šéããããã©ãã£ã±ãä¿åããªããšãã£ãå Žåã¯:q!ã®ããã«æåŸã«!ãä»ããããšã«ãã£ãŠåŒ·å¶çã«äžè¿°ããè¡šã®æäœãè¡ãªãããšãåºæ¥ãŸãã
ã¡ãªã¿ã«äžã§ä¿åãããã¡ã€ã«ã¯vimã®èšå®ãã¡ã€ã«ã§ãã
èªåãªãã«ããã¯å¿
é ã ãšæããã®ããããŸããã
èšå®ããå
容ã«ã€ããŠã¯æ¬¡åæçš¿ããèšäºã§åãæ±ãäºå®ã§ãã
ã§ãã£ãŠäœã䟿å©ãªã®ã
ä»ã®ãšããæ®éã®ãšãã£ã¿ãIDE(eclipseãvisual stusioãªã©ã®çµ±åéçºç°å¢)ã«æ¯ã¹ãŠäœ¿ãã¥ããå°è±¡ããŠã±ãŠãããšæããŸãã
ä»ã®ãšããã¯ããã§ãããšæããŸãã
ãã£ããvimã®æäœã§ã®åŒ·ã¿ã§ããã¢ãŒã·ã§ã³(ç§»å)ãšãªãã¬ãŒã¿(æäœ)ã«ã€ããŠèª¬æããŸãã
ä»åºŠã¯ç§»åã®ããŒãã·ãŒãã§ããç§»åã¯ããŒãã«ã¢ãŒãã§è¡ãªããŸãã
ããããç»å ŽããC-ã¯ControlãšåææŒãã§ãïŒæåç¶ããŠãããã®ã¯ç¶ããŠæã£ãŠãã ããã
vim|æå³
---+---
w|次ã®åèªã®å
é ãž
e|åèªã®æåŸãž
b|åã®åèªã®å
é ãž
0|è¡é ãž
$|è¡æ«ãž
gg|ãã¡ã€ã«ã®å
é ãž
G|ãã¡ã€ã«ã®æçµè¡ãž
%|ãããããæåãžç§»å(察å¿ãã[]ã()ãžã®ç§»å)
C-f|次ã®ããŒãžãž
C-b|åã®ããŒãžãž
ãŸããããªæãã§ããããã
ç¶ããŠæäœã§ãã
vim|æå³
---+---
y|ã€ã³ã¯(ã³ããŒ)
Y|è¡ãã€ã³ã¯
p|ããŒã¹ã
P|çŸåšäœçœ®ã«ããŒã¹ã
x|ã«ãŒãœã«äžã®äžæåãåé€
d|åé€
D|è¡å
ã®ã«ãŒãœã«ä»¥éãåé€
dd|è¡ãåé€
u|å
ã«æ»ã
C-R|æäœãé²ãã
r|倿Ž(äžæå)
R|倿Ž(å
¥åãããã®å
šéš)
c|äžæåæ¶ããŠã€ã³ãµãŒãã¢ãŒããž
C|è¡å
ã®ã«ãŒãœã«ä»¥éãåé€ããŠã€ã³ãµãŒãã¢ãŒããž
A|è¡æ«ã«ç§»åããŠã€ã³ãµãŒãã¢ãŒããž
a|ã«ãŒãœã«ã®äžã€å³ããã€ã³ãµãŒãã¢ãŒããž
I|è¡ã®å§ãŸã(æåã®éå§äœçœ®)ããã€ã³ãµãŒãã¢ãŒããž
|å³ãžã€ã³ãã³ã
<|å·Šãžã€ã³ãã³ã
gu|å°æåãž
gU|倧æåãž
.|äºåã®æäœãç¹°ãè¿ã
ç§»åãæäœãä»ã«ããã£ã±ããããã©ç§ãè¯ã䜿ãã®ã¯ãããªãšããã§ãã
ã§ã¯å®éã«æäœããŠã¿ãŸãããã
ãã¹ãããŒã¿ãçšæããã®ã§ã³ããŒããŠvimã§ããŒã¹ãããŠãã ããã
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
[indent hoge [foo hoge] hoge]
(indent hoge (foo hoge) hoge)
[indent hoge [foo hoge] hoge]
(indent hoge (foo hoge) hoge)
[indent hoge [foo hoge] hoge]
(indent hoge (foo hoge) hoge)
å°ãæ°æã¡æªãã§ããæ°ã«ããªãã§ãã ãããæŽè³ãããªãã§ãã
ãŸãã¯w,e,bãªã©ã§ç§»åã詊ããŠãã ããã
ã€ãã§ã«ã§%ãæŒããŠå¯Ÿå¿ããæ¬åŒ§ã«ç§»åããããšã確èªããŠãã ããã
ããŒãã·ãŒãã«ãããŸããã§ãããf[ã¢ã«ãã¡ããã]ã§è¡å
ã®[ã¢ã«ãã¡ããã]ã®éšåã«ç§»åããŸãã
/[word]ã§æ€çŽ¢ãè¡ãªããŸãã/vimãšæã£ãŠãã ããã
n,Nã§ããããæ¬¡ãšåã®æ€çŽ¢ãžç§»åããããšãã§ããŸãã
æäœã¯ç§»åãšçµã¿åãããŠäœ¿ãããšãã§ããŸãã
dwã§æ¬¡ã®åèªã®å
é ãŸã§åé€ãè¡ãªããŸãã
æŽã«æäœãã¢ãŒã·ã§ã³ã¯åæ°æå®ãå¯èœã§ãã
10ddã§ã¯10è¡åé€å¯èœã§ãã
ããäžã€åŒ·åãªæ©èœãšããŠããã¹ããªããžã§ã¯ããšãããã®ããããŸãã
äŸãã°æäœ+iwã§åèªã«å¯ŸããŠæäœãè¡ãªããŸãã
diwã§ã¯ã«ãŒãœã«ã®äœçœ®ã«é¢ä¿ãªãåèªãæ¶ããŸãã
以äžã«ãã䜿ããããªããã¹ããªããžã§ã¯ãã®ããŒãã·ãŒãã瀺ããŸãã
vim|æå³
---+---
iw|åèª(以éiã®éšåã¯aã§ã代çšå¯èœã§ã)
iW|åèª(空çœå«ã)
is|æ
it|ã¿ã°
i]|æ¬åŒ§("",'',(),<>,{})ãªã©ã察å¿å¯èœã§ã)
ãã¹ãããŒã¿ã®(indentãããã§yi)ãšãããšæ¬åŒ§å
ãã€ã³ã¯ã§ããŸãã
ã©ã£ãã§pã§ããŒã¹ãããŠã¿ãŠãã ããã
20iã§vim ãšå
¥åããåŸã«escã§ããŒãã«ã¢ãŒãã«æ»ããšãã®æ°æã¡æªããã¹ãããŒã¿ã®äœãæ¹ã...ã
æåŸã«disãšãããšãããããšã«ãªãã®ã§ãã£ãŠã¿ãŠã
æåŸã«
vimrcãšè¿œå ãã©ã°ã€ã³ã«ãã£ãŠvimã¯IDEã«å¹æµããããããã¯ãã以äžã®äœ¿ãå¿å°ã«ãªãå¯èœæ§ãç§ããŠããŸãã
ãã®èšäºã®å
容ã¯ããªãæãæãã 話ã§ãã
æŽã«vimã®åºç€ãæ·±ãããæ¹ã¯ã¿ãŒããã«ã§vimtutorãšå
¥åããŠvimã®ãã¥ãŒããªã¢ã«ã¬ãã¹ã³ãéå§ã§ããŸãã
ããã¹ããèªã¿é²ããªãããããããã£ãŠã¿ãŠãã ããã
次å以éã¯ä»åæ±ããªãã£ãããžã¥ã¢ã«ã¢ãŒããã³ãã³ããvimrcããã©ã°ã€ã³ã®è©±ã«å ¥ã£ãŠããäºå®ã§ãã