· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Vi Editor Tips

ViEditor ¸¦ »ç¿ëÇÒ ¶§ ¾Ë¾ÆµÎ¸é À¯¿ëÇÏÁö¸¸, ±âÁ¸ ¹®¼­³ª Ãʺ¸ÀÚ¿ë °¡ÀÌµå µî¿¡¼­ ¾ð±ÞµÇ°í ÀÖÁö ¾ÊÀº ³»¿ëµéÀ» ¸ð¾Æ µÎ´Â ÆäÀÌÁö


1. ÇÑ È­ÀÏÀÇ ¿©·¯ °÷À» µ¿½Ã¿¡ ÆíÁýÇÒ ¶§

Å͹̳ΠµÎ °³¸¦ ¶ç¿ö¼­ vi ¸¦ ¾µ ¼ö´Â ¾ø´Ù. ÀÏ°ü¼º À¯Áö¸¦ À§Çؼ­ ÇϳªÀÇ È­ÀÏÀº ÇϳªÀÇ vi ¿¡¼­¸¸ write ÇÒ ¼ö ÀÖµµ·Ï Çϱ⠶§¹®ÀÌ´Ù. ÀÌ·± °æ¿ì
:new ÇöÀçÆíÁýÁßÀÎÈ­ÀÏÀ̸§
À¸·Î È­ÀÏÀ» ¿­¸é, ÇϳªÀÇ È­ÀÏÀ» ºÐÇÒµÈ µÎ â¿¡¼­ µ¿½Ã¿¡ ÆíÁýÇÒ ¼ö ÀÖ´Ù. ÇÑÂÊ Ã¢¿¡¼­ ¼öÁ¤ÇÑ ³»¿ëÀº ´Ù¸¥ÂÊ Ã¢¿¡µµ ½Ç½Ã°£À¸·Î ¹Ý¿µµÈ´Ù. Èûµé°Ô È­ÀÏÀÇ ÀÌ°÷ Àú°÷À» ¿Ô´Ù°¬´ÙÇÏ´À¶ó ¾Ö¾µ ÇÊ¿ä°¡ ¾ø´Ù. new ¸í·ÉÀº È­¸éÀ» ºÐÇÒÇؼ­ ´Ù¸¥ È­ÀÏÀ» µ¿½Ã¿¡ ÆíÁýÇÒ ¼ö ÀÖ°Ô ÇÏ´Â ¸í·ÉÀε¥, ÇöÀç ÆíÁý ÁßÀÎ È­ÀÏÀ» ´Ù½Ã ¿­ ¼öµµ ÀÖ´Ù´Â Á¡À» ÀÌ¿ëÇÑ °ÍÀÌ´Ù.
¾à°£ÀÇ Â÷ÀÌ´Â ÀÖÁö¸¸, :sp Çϸé ÇöÀç ÆíÁýÁßÀÎ ÆÄÀÏÀ» ´Ù¸¥ â¿¡¼­ ÆíÁýÇÏ°Ô µË´Ï´Ù. :new ÀÇ ¼³¸íÀ» º¸¸é This behaves like a ":split" first, and then a ":e" command.

2. folding

  • ¿øÇÏ´Â ±¸¿ªÀ» v ·Î visual block À» Àâ´Â´Ù. (% ¸¦ »ç¿ëÇÏ¿© °ýÈ£ÀÇ ¾ç³¡À» ºí·°À¸·Î ÀâÀ¸¸é ÆíÇÏ°Ú´Ù)
    vi_folding_1.png
    [PNG image (15.52 KB)]
  • zf ¸¦ Çϸé ÇØ´ç ±¸¿ª¿¡ fold °¡ ¸¸µé¾îÁø´Ù.
    vi_folding_2.png
    [PNG image (15.23 KB)]
  • :set fdc=¼ýÀÚ À» ÇÏ¸é ¿ÞÂÊ¿¡ fold ÀÇ ¹üÀ§¸¦ ³ªÅ¸³»´Â Ä÷³ÀÌ '¼ýÀÚ'°³ ³Êºñ¸¸Å­ »ý±ä´Ù.
    vi_folding_3.png
    [PNG image (15.62 KB)]
  • fold ¸¦ ÁßøÇؼ­ ¸¸µé ¼öµµ ÀÖ´Ù. ÇÏÁö¸¸ ÀϺθ¸ °ãÄ¡°Ô ¸¸µé ¼ö´Â ¾ø´Ù.
    vi_folding_4.png
    [PNG image (15.56 KB)]
  • fold ¸¦ ÆîÄ¡´Â °ÍÀº
    • zo - ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ °÷ÀÇ °¡Àå ¹Ù±ùÂÊÀÇ fold
    • zO - ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ °÷¿¡ ÁßøµÈ ¸ðµç fold
    • zr - ÀüüÀûÀ¸·Î Á¦ÀÏ ¹Ù±ùÂÊ¿¡ À§Ä¡ÇÑ ¸ðµç fold
    • zR - ¸ðµç fold
  • fold ¸¦ Á¢´Â °ÍÀº
    • zc - ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ °÷ÀÇ °¡Àå ¾ÈÂÊÀÇ fold
    • zC - ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ °÷¿¡ ÁßøµÈ ¸ðµç fold
    • zm - ÀüüÀûÀ¸·Î Á¦ÀÏ ¾ÈÂÊ¿¡ À§Ä¡ÇÑ ¸ðµç fold
    • zM - ¸ðµç fold
  • za ´Â fold ÀÇ »óŸ¦ Åä±Û
  • zd ´Â fold ¸¦ Á¦°Å
    • zE ´Â ¸ðµç fold ¸¦ Á¦°Å
  • :set foldmethod=¹æ¹ý À¸·Î fold ¸¦ »ý¼ºÇÏ´Â ¹æ¹ýÀ» °áÁ¤ÇÑ´Ù
    • manual - ¼öµ¿
      • »ç¿ëÀÚ°¡ ¼öµ¿À¸·Î fold ¸¦ ÁöÁ¤, ÇØÁ¦ÇÑ´Ù.
      • È­ÀÏ ÆíÁýÀ» Á¾·áÇϸé fold Á¤º¸¸¦ ÀÒ¾î¹ö¸°´Ù. ±×°Ô ½ÈÀ¸¸é Á¾·áÀü¿¡ :mkview ·Î Á¤º¸¸¦ ÀúÀåÇÏ°í »õ·Î ¿­ ¶§ :loadview ·Î ºÒ·¯¿Ã °Í
    • indent - µé¿©¾²±â
      • µé¿©¾²±â »óÅ¿¡ µû¶ó ÀÚµ¿À¸·Î fold °¡ ¼³Á¤µÈ´Ù.
    • marker - Ç¥½Ä
      • »ç¿ëÀÚ°¡ ¼öµ¿À¸·Î fold ¸¦ ÁöÁ¤, ÇØÁ¦ÇÑ´Ù.
      • fold °¡ »ý¼ºµÉ ¶§ ¹üÀ§ÀÇ ¾ç³¡¿¡ ƯÁ¤ÇÑ Ç¥½Ä ( { { { ¿Í } } } ) À» Ãß°¡ÇÑ´Ù. (C ÇÁ·Î±×·¥ÀÇ °æ¿ì´Â ÀÚµ¿À¸·Î ÁÖ¼®Ã³¸®±îÁö ÇØÁÜ)

  • (Âü°í) ÆÄÀÏÀÌ ¿­¸±¶§ vim ¼³Á¤ À¯ÁöÇϱâ
    • ÁÖ¼®¹®¿¡ vim: ¼³Á¤.... ÇüÅ·Π±â¼úÇÑ´Ù
{{{#!vim php
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker: */

//ÅǽºÆäÀ̽º´Â 4·Î ¸ÂÃçÁö°í
// {{{ ¿©±â´Â ÆúµùµÇ´Â±¸¿ª
   //¿©±â´Â ¿­¸±¶§ ÆúµùµÇ¾îº¸ÀÔ´Ï´Ù.
// } }}
?>
}}}


== backup È­ÀÏÀ» ÇÑ °÷¿¡ ¸ô¾Æ¼­ º¸°üÇϱâ ==
{{{
set backupdir=~/.vim/backup
}}}
ÀÌ¹Ì Á¸ÀçÇÏ´Â È­ÀÏÀ» ¼öÁ¤ÇÏ¿© ÀúÀåÇÒ ¶§ »ý¼ºµÇ´Â ¹é¾÷È­ÀÏ (È­ÀÏ¸í µÚ¿¡ ~°¡ ºÙ´Â´Ù) ÀÌ ÁöÀúºÐÇϹǷÎ, ÀÌ·± ¹é¾÷È­ÀϵéÀ» ÁöÁ¤ÇÑ µð·ºÅ丮¿¡ »ý¼ºÇϵµ·Ï ÇÑ´Ù.

¶ÇÇÑ backup È­ÀÏÀ» »ý¼ºÇÏ°í ½ÍÁö ¾ÊÀ» °æ¿ì ~/.vimrc ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ ÇÑ ÁÙ Ãß°¡ ¼öÁ¤ÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ´Ù.
{{{
:set nobackup
}}}


== Copy&Paste ÇÒ ¶§ µé¿©¾²±â ±ÝÁö ==
Ãâó: KLDPBBS:29886

¸¶¿ì½º·Î ºÙ¿©³Ö±â¸¦ ÇÒ ¶§ autoindent ³ª textwidth µîÀÌ ÀÛµ¿ÇØ ¹ö·Á¼­ ¿øÇÏÁö ¾Ê´Â µé¿©¾²±â°¡ µÇ´Â °ÍÀ» ¸·À¸·Á¸é:
{{{
:set paste
}}}
ÇÑ ÈÄ¿¡ ºÙ¿©³Ö±â¸¦ ÇÏ°í
{{{
:set nopaste
}}}
¸¦ ÇÏ¿© °è¼Ó ÀÛ¾÷ÇÏ¸é µÈ´Ù.
ÇÑ ¼ú ´õ ¶°¼­,
{{{
:set pastetoggle=<Ins>
}}}
·Î ¼³Á¤Çϸé, Ins ¸¦ ´©¸¦ ¶§¸¶´Ù paste ¿Í nopaste »óÅ°¡ ÀüȯµÈ´Ù. (¸í·É ¸ðµå, ÀÔ·Â ¸ðµå µÑ ´Ù¿¡¼­ »ç¿ë °¡´ÉÇÏ´Ù) ¿Í¿ì~

== VIM Setting for Python ==
See Also PyKug:VimEditor , (¸µÅ©x)ZeroPage:VimSettingForPython, (º¯°æ)http://wiki.zeropage.org/wiki.php/VimSettingForPython
== ÇöÀç ÀÛ¾÷ÁßÀÎ ÆÄÀÏÀ» HTML ·Î º¸°üÇϱâ ==
°£´ÜÇÏ°Ô, :!TOhtml ÀÌ·¸°Ô ÀÔ·ÂÇØ ÁÖ¸é µÈ´Ù. ÀÌ ±â´ÉÀº ¿¡µðÅÍ¿¡ ±âº»ÀûÀ¸·Î Æ÷ÇԵǾî ÀÖ´Â 2html ½ºÅ©¸³Æ®·Î µ¿ÀÛÇϸç, syntax/2html.vim ¿¡¼­ ½ºÅ©¸³Æ® ¼Ò½º¸¦ º¼ ¼ö ÀÖ´Ù.

attachment:2html.png

== vim¿¡¼­ make½Ã¿¡ ¿¡·¯°¡ ³ª´Â sub directory·Î ÀÚµ¿À¸·Î À̵¿Çϱâ ==
http://kldp.org/node/21317

== ÆÄÀÏ ºê¶ó¿ìÀú (³×ºñ°ÔÀ̼Ç, Ž»ö±â) ¿­±â ==
±âº»ÀûÀ¸·Î Explore command°¡ ÀÖ´Ù. (E±îÁö¸¸ Àû¾îÁ൵ µÇ°í Explore¶ó°í ÀüºÎ Àû¾îÁ൵ µÈ´Ù.)
{{{
:E[xplore]
}}}
VariationÀ¸·Î¼­ ´ÙÀ½°ú °°ÀÌ ¾µ ¼öµµ ÀÖ´Ù. width°¡ 25ÀÌ°í ¼öÁ÷¼±À¸·Î ±¸ºÐµÈ explore âÀÌ ¶á´Ù.
{{{
:25Ve[xplore]
}}}
´ÙÀ½°ú °°ÀÌ ½áµµ ºñ½ÁÇÑ ±â´ÉÀ» ÇÑ´Ù. µð·ºÅ丮 °æ·Î¸¦ Àû¾îÁÙ °æ¿ì¿¡¸¸ ÆÄÀÏ ³×ºñ°ÔÀ̼ÇÀ¸·Î¼­ µ¿ÀÛÇÑ´Ù.
(±×·¸Áö ¾ÊÀ¸¸é ´Ü¼øÇÑ text editor âÀÌ Çϳª ´õ »ý±ä´Ù.)
{{{
:25vs[plit] [¿øÇÏ´Â °æ·Î]
}}}
Explore â¿¡¼­ j,k ¶Ç´Â »ó,ÇÏ È­»ìÇ¥¸¦ ÀÌ¿ëÇØ ÆÄÀÏÀ̳ª µð·ºÅ丮¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. ¼±ÅÃµÈ °ÍµéÀº º°µµÀÇ ¸í·É¾î¸¦ ÅëÇØ »èÁ¦Çϰųª ½ÇÇàÇÏ´Â µîÀÇ ÀÛ¾÷À» ¼öÇàÇÒ ¼ö ÀÖ´Ù.
 * o ¸¦ ´©¸£¸é »õ â¿¡¼­ ½ÇÇà
 * Enter¸¦ ´©¸£¸é ÇöÀç â¿¡¼­ ½ÇÇà.
 * ÆÄÀÏÀÌ ³Ê¹« ¸¹Àº °æ¿ì '''/[ °Ë»ö¾î ]'''¸¦ ÀÌ¿ëÇØ °Ë»ö, ÇØ´ç ÆÄÀÏ·Î ºü¸£°Ô À̵¿ÇÒ ¼öµµ ÀÖ´Ù.
Explore â <--> ÆíÁý â À̵¿ (ÀϹÝÀûÀΠâ Àüȯ) ´ÜÃàÅ°´Â Ctrl + w + w ÀÌ´Ù.
== cmdlineÀ» È°¿ëÇÑ ÄÄÆÄÀÏ ´ÜÃàÅ° ¼³Á¤ (in Linux, bash shell) ==
Å͹̳ο¡¼­ .vimrcÆÄÀÏ(¼³Á¤ÆÄÀÏ)À» ¿­ÀÚ.
{{{
$ vi ~/.vimrc
}}}
´ÙÀ½ ±¸¹®À» Ãß°¡ÇÏ°í ÀúÀåÇϸé, 'g++ ÄÄÆÄÀÏ·¯·Î ÇöÀç ¿­·ÁÀÖ´Â ÆÄÀÏÀ» ÄÄÆÄÀÏÇÑµÚ ½ÇÇàÇÏ´Â ¸í·É'ÀÌ ´ÜÃàÅ° F5·Î ¼³Á¤µÈ´Ù.
{{{
map <F5> :w<CR>:!g++ -Wall "%:p" -o "%:p:r:r:r"<CR>:!"%:p:r:r:r"<CR>
}}}
 * '''map <F5>''' : ''F5Å°¸¦ ´©¸£¸é µÚ¿¡ µû¶ó¿À´Â command(cmd)¸¦ ÀÚµ¿À¸·Î ½ÇÇàÇØÁÜ''
 * ''':w<CR>''' : ''ÇöÀç ÆÄÀÏÀ» ÀúÀå''
 * ''':!g++ -Wall "%:p" -o "%:p:r"<CR>'''
  * '''!''' : ''cmdline¿¡¼­ !À» »ç¿ëÇÏ¸é µÚµû¶ó¿À´Â ½© ¸í·É¾î, ÇÁ·Î±×·¥µéÀ» (½©¿¡¼­) ½ÇÇàÇØÁØ´Ù.''
  * '''g++ -Wall [ ¼Ò½ºÆÄÀÏÀ̸§ ] -o [ °á°ú¹°À̸§ ]''' : ''g++ »ç¿ë¹ýÀ» ÂüÁ¶Çϱ⠹ٶõ´Ù. (Å͹̳ο¡¼­ $ man g++À» ÀÔ·ÂÇÏ¸é º¼ ¼ö ÀÖ´Ù.) °¡·É -WallÀº ÄÄÆÄÀÏ °úÁ¤¿¡¼­ »ý±â´Â waringÀ» ¸ðµÎ º¸¿©ÁÖ´Â ¿É¼ÇÀÌ´Ù. °£~Ȥ g++ÀÌ ¼³Ä¡µÇ¾îÀÖÁö ¾Ê´Ù¸é ÀÌ ¸í·É¾î´Â ¾Æ¹« ¦¿¡µµ ¾µ¸ð°¡ ¾øÀ¸´Ï ÁÖÀÇ.''
  * '''<CR>''' : ''cmdline¿¡¼­ ¿©·¯ ÁÙÀÇ cmd¸¦ ÇÑ ÁÙ¿¡ ÀÔ·ÂÇÏ·Á ÇÏ´Â °æ¿ì, °¢°¢À» <CR>·Î ±¸ºÐÇØ ÁØ´Ù. <CR>Àº EnterÅ°¸¦ ³ªÅ¸³½´Ù°í ÀÌÇØÇϸé ÆíÇÏ´Ù.''
  * '''"%:p"''' : ''%´Â current file name. % µÚ¿¡ :p¸¦ ºÙÀ̸é file nameÀÌ full path¸¦ Æ÷ÇÔÇÏ¿© Ç¥½ÃµÈ´Ù. ¾çÂÊ¿¡ ºÙÀº ""´Â file nameÀ̳ª path¿¡ space(¶ç¾î¾²±â)°¡ Æ÷ÇԵǾîÀÖ´Â °Íµµ ÀνÄÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù.''
  * '''"%:p:r:r:r"''' : '':p, :r, :t µîÀÇ ¿É¼ÇÀº ¿¬´Þ¾Æ ºÙ¿© ¾µ ¼ö ÀÖ´Ù. % µÚ¿¡ :rÀÌ ºÙÀ¸¸é ÇöÀç ÆÄÀÏ¸í¿¡¼­ °¡Àå ¸¶Áö¸· È®ÀåÀÚ¸¦ Á¦¿ÜÇÑ ¾ÕºÎºÐ¸¸ ÀνÄÇÏ°Ô ÇØÁØ´Ù. °¡·É "%:p" = /home/me/abc.tar.gzÀÎ °æ¿ì, "%:p:r" = /home/me/abc.tar ÀÌ°í, "%:p:r:r" = /home/me/abcÀ̸ç, "%:p:r:r:r" = /home/me/abcÀÌ´Ù. (:rÀ» ¸¹ÀÌ ºÙÀ̸é È®ÀåÀÚ¸¦ Á¦¿ÜÇÑ ÆÄÀϸíÀ» ¾òÀ» ¼ö ÀÖ´Ù.). À̸¦ ÅëÇØ ÄÄÆÄÀÏ °á°ú¹° ÆÄÀÏ À̸§À», ¿øº» ÆÄÀÏ°ú À̸§Àº °°µÇ È®ÀåÀÚ°¡ »ç¶óÁø ÇüÅ·Π¸¸µé ¼ö ÀÖ´Ù. °¡·É ¼Ò½ºÆÄÀÏ À̸§ÀÌ /home/me/abc.cpp À̾úÀ¸¸é ÄÄÆÄÀÏ °á°ú »ý¼ºµÈ ÆÄÀϸíÀº /home/me/abc°¡ µÈ´Ù.''
 * '''!"%:p:r:r:r"<CR>''' : ''ÄÄÆÄÀÏÀ» ¼öÇàÇÏ°í (Á¦´ë·Î ¿À·ù ¾øÀÌ ½ÃÇàµÇ¾ú´ÂÁö ¾Ë ¼ö´Â ¾øÁö¸¸ ÀÏ´Ü) °á°ú¹° ÆÄÀÏ(ÇÁ·Î±×·¥)À» ½ÇÇàÇغ¸µµ·Ï ÇÑ °ÍÀÌ´Ù.''
ÀÚ¼¼ÇÑ »çÇ×Àº http://vimdoc.sourceforge.net/htmldoc/cmdline.html#cmdline-editingÀ» Âü°íÇÑ´Ù.

== VIM 7.x ¿¡¼­ ÆÄÀϺê¶ó¿ìÁ®¿¡¼­ ÆÄÀÏ ¿­¸®Áö ¾Ê´Â ¹®Á¦ ==
(¿¡·¯¸Þ¼¼Áö : ***netrw*** local browsing directory and current directory are identical)[[br]]
http://kldp.org/node/79586

== visual block ¼³Á¤ ¾ÈµÊ ==
http://vi.kldp.org/jsboard/read.php?table=qna2006&no=2240&page=2
----
CategorySoftware



sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2011-08-03 14:32:11
Processing time 0.0071 sec