*usr_28.txt*	 Vim version 6.2.   : 2002 Aug 01

		  VIM -  

				   


     ,    
.       ,
     .    
 ,     .

|28.1|	  ?
|28.2|	  
|28.3|	  
|28.4|	   
|28.5|	   
|28.6|	    
|28.7|	   
|28.8|	    
|28.9|	   Σ 
|28.10|     ?

  : |usr_29.txt|     
 : |usr_27.txt|	   
      : |usr_toc.txt|

==============================================================================
*28.1*	  ?

          
.     ,   ,   
:

	+------------------------+
	|  1		 |
	|  2		 |
	|  3		 |
	|_______________________ |
	\			 \
	 \________________________\
	 /   	  /
	/________________________/
	|  12		 |
	|  13		 |
	|  14		 |
	+------------------------+

       .    
  .

     ,    
      .

==============================================================================
*28.2*	  

  :   -    
: >

	zfap

 ,    Σ   .  
. |zf|    ,  |ap|    
,    .  |zf|    
 ,       ,  
 . |zf|      .

    ,  ţ   : >

	zo

  ,  : >

	zc

 ,   ,   "z".     
  ,       
,    .    "z" 
 ,   :

	zf	  (F-old creation)
	zo	 	 (O-pen a fold)
	zc	 	 (C-lose a fold)

     .  ,  , 
  ,      . ,
        ,    
    . .  ,  
   ,     : 
     ,   .

,    ,     , 
  .  ,    "zo"   ,
  : >

	zr

   (R-educe)  .   --
 >

	zm

   (M-ore) .     
       "zr"  "zm".

        ,  : >

	zR

       .   
,  : >

	zM

       |zn|.  |zN|
  ̣   . |zi|  
  .      ,  
:
-         .
-     ,    .
-         |zi|.
-         |zi|.

  ,     :
|-_|

==============================================================================
*28.3*	  

 "j"  "k"      ,   
     .    
  ,   .

  ,    ,     .
    ,      
 .   ,      ,
        'foldmethod'. 
 ,  ,        "dd",
          
"p".         ,  
  :
-     ,   
-       "V"
-     ,   
-  "d"    
-        ̣   
    "p".

   ,      ,  
  'foldcolumn': >

	:set foldcolumn=4

     (  ,  4 )  
 ,     ̣ .  
     "+".     
  "-"   ӣ      
  "|".

  ,      "+"   .
    "-"  "|" ģ   
.

   ,     , 
    |zO|.
   ,     , 
    |zC|.
  ,     ,  
   |zd|.
   ,     , 
    |zD|.

  , ,    ,  
.    ,     .

        
 . ,  "0"  ,  
 (  ,    'foldopen'   "hor", 
   ).  'foldopen'  
,       .
  ,  ,     
,     'foldopen'  "all": >

	:set foldopen=all

:          .
,       ,   
   : >

	:set foldopen&

         
   : >

	:set foldclose=all

    'foldlevel'   ,  ,
   . ,    . 
       |zm|  |zr|.

    .        
          .

==============================================================================
*28.4*	   

          
.   Σ      ,  
          .
    ,       . 
    |:mkview|: >

	:mkview

   ,      . 
    ,     
'viewoptions'.    Σ     ,  
 Σ   : >

	:loadview

      10 . ,  
         , 
: >

	:mkview 3
	:loadview 2

:      Σ   
.      'viewdir',  
,    . ,     
 ,    .

==============================================================================
*28.5*	   

     |zf|   .  
    ,    ,
    ,   ,  
      .   
         . ,
  ,     .  
        .

       'foldmethod': >

	:set foldmethod=indent

     |zm|  |zr|    
  . ģ  :

   
	    
		    
		    
	    
   
	    
	    

:         
 'shiftwidth'.  ,   ,  
'shiftwidth',      .   
 .

   |zr|  |zm|     
 'foldlevel'.     ţ  : >

	:set foldlevel=3

  ,    ,     
    'shiftwidth'    .  
 'foldlevel'  ,    . |zM|
   'foldlevel'  ,   
  |zR|   'foldlevel'  
     .

 ,       :

()      .
          , 
       ,      .

()    |zo|  |zc|,     .
           ,
       .

    : ,    
,   |zm|  ,      
  |zo|.       |zR|   
   |zc|.

   'foldmethod',  "indent"    
   ,       
      .

        :
|-|

==============================================================================
*28.6*	    

     ,   
,       .  
       . 
    ,      
 .

: >

	:set foldmethod=marker

 ,   : >

	/* foobar () {{{ */
	int foobar()
	{
		/* return a value {{{ */
		return 42;
		/* }}} */
	}
	/* }}} */

 ,       , ݣ
 .       
.

       ,   , 
      .  
      : >

	/* global variables {{{1 */
	int varA, varB;

	/* functions {{{1 */
	/* funcA() {{{2 */
	void funcA() {}

	/* funcB() {{{2 */
	void funcB() {}
	/* }}}1 */

 ̣    ,    
 .        . 
       
         .  
      , ģ ӣ- 
 .

        :
|-|

==============================================================================
*28.7*	   

   Vim      .   
      .  
    Vim   ,     
      .
        ,   
"fold".       .   
         ,
  ,     ,     
  . 
        , ̣  
,      ݣ - .  
   ,   .  
      .

  ,     ,  
: |-|

==============================================================================
*28.8*	    

   ޣ     ,   
        ̣
 .      ,   
    . ,    
   ,    ">"  
.   ,    ,  
: >

	:set foldmethod=expr
	:set foldexpr=strlen(substitute(substitute(getline(v:lnum),'\\s','',\"g\"),'[^>].*','',''))

      :

>    
>    
> >      
> >      

     'foldexpr': 
   getline(v:lnum)			  
   substitute(...,'\\s','','g')		    
   substitute(...,'[^>].*','',''))	    ӣ, 
					    '>'
   strlen(...)				  
					   ,   
					   (   '>')

:  'foldexpr'      
 ,     ":set".  , 
  ,   >

	:set foldexpr

   ,   
: >

	:set foldexpr=<Tab>

 <Tab>     Tab. Vim   ,
   .

        ,
  : |-|

==============================================================================
*28.9*	   Σ 

    ޣ      'diff'. 
|vimdiff|      . : >

	setlocal diff foldmethod=diff scrollbind nowrap foldlevel=1

     ,      
 .      ,  Σ 
  ݣ  .

  |-diff|.

==============================================================================
*28.10*     ?

 ӣ   ,    :  
  ?  ,    . 
  ,     .

         ̣
 ,       .   
 ,     .    
   .       ,  
      .

      .  
  |:mkview|   ̣  .

        
 .        , 
      ,   
   .
       ,      ,
  .        
,     .  ,  
    .

        
,    ,  .   ,   
     .   ,  
      .   
     'shiftwidth'    .

       
     .    
 ,         .
       "expr"   ,   
     ,     
  ("manual").   ̣    , 
     ,   .

==============================================================================

 : |usr_29.txt|     
 : . |___|  

vim:tw=78:ts=8:ft=help:norl:
