· 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

ID
Password
Join
Put not your trust in money, but put your money in trust.


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.0054 sec