*motion.txt*     Vim version 6.2.   : 2004 Jan 17


		        VIM -  


                                                      *navigation* **
 		        *cursor-motions* *_*

,   ,     .
      ,   
 (.   'scrolljump'  'scrolloff').

1.   		||
2.     	|-_|
3.          |-_|
4.   	        |-_|
5.    	|-_|
6.   	        |-|
7. 				|-|
8. 			        |-|
9.  		|-|

 :

        "CTRL-G" |CTRL-G|
  "g CTRL-G" |g_CTRL-G|.  ޣ  'ruler' 
      (  
 Vim).

        
hjkl,      .   
   ,     ,  
 hjkl.      : j  
,  . 

 'virtualedit'     ,  
 .

==============================================================================
1.   				 *operator* **

       -; 
      ,  
 .  ,      
, ޣ       
 .       
 .  Vim   :

	|c|	c	
	|d|	d	
	|y|	y	   (  )
	|~|	~	   ( ޣ 
			  'tildeop')
	|g~|	g~     	  
	|gu|	gu	   
	|gU|	gU	   
	|!|	!	     
	|=|	=	    'equalprg' 
			       C, 
			     
	|gq|	gq	 
	|g?|	g?	    ROT13
	|>|	>	 
	|<|	<	 
	|zf|	zf	 

 -    ,   ,   
 . :  "2d3w"   .

         
,    . , "yfe"  
,  "yFe"      "e"  ,  
 . 

		                                 *characterwise* **
		                                        *linewise* **
         ,   
.  ,   ,  , 
 ,   ,    
,  ,      ,  
 .

                                             ** **
			                           *exclusive* **
			                            *inclusive* **
      . 
   ,    ,
   ,   .   
       . 
    ,     .

 ,    ,  
. , ,   :

1.    ,     
    1,         
     . , "}"   
      ,  "d}"    .
2.    ,    
    1         
      ,     , 
     . :    
   ,     "d}"     
         ,  . 
     ̣       
    . 

:  ,      ( 
-,         
,      )  
  .   |:omap|.

     ,  
  :     
 ,    "v",    
     -.    
      ,   
        . 
    ,    
      . .   
 |_|.

      ":"-. , "d:call
FindEnd()".          ".".


    ,   

     ,    "v", "V"
 CTRL-V   .

: >

	dj

  
>
	dvj

      ,   
>
	d<C-V>j

 ,      ,  
  .

       
  --      .

							                 *o_v*
v		      
		:    
		,    ,   
		.   ,   
		||.
		   ,  
		     .
		  ,   
		 ,  . 

							                 *o_V*
V		      
		:    
		,    ,   
		.

								    *o_CTRL-V*
CTRL-V		      
		:     
		 .      ,  
		    --    
		     .

==============================================================================
						          *left-right-motions*
2.     		    *-_*

h							                   *h*
<Left>							              *<Left>*
CTRL-H							       *CTRL-H* *<BS>*
<BS>			  []  . 
			 || .
			:     <BS> 
			 ,    , 
			  : >

				:map CTRL-V<BS>		X
<
			(  "CTRL-V<BS>"  CTRL-V  
			 <BS>).
			.  |:fixdel|,   <BS>   ,
			  .

l							                   *l*
<Right>							   *<Right>* *<Space>*
<Space>			  []  . 
			 || .

							                   *0*
0			    .
			 || .
			        
			  ,   .

							    *<Home>* *<kHome>*
<Home>			    .
			 || .
			        
			  ,   .  
			 "1|",    "0",  
			   <Tab>.
			{Vi    }

							                   *^*
^			     .
			 || .

							  *$* *<End>* *<kEnd>*
$  <End>		   .   
			,     [-1]  
			().
			       
			    .
			 ޣ  'virtualedit', "$" 
			      
			    .

							                  *g_*
g_			     
			  [-1]   ().
			{Vi    }

							        *g0* *g<Home>*
g0  g<Home>		 ޣ     
			( 'wrap'):    
			 .  || .
			    "0"   
			,   ,   . 
			
			      
			( 'nowrap'):     
			 ,      
			.     "0"  
			,      
			   .
			{Vi    }
			
							                  *g^*
g^			 ޣ     
			( 'wrap'):    
			  . 
			 || . 
			    "^"   ,
			  ,   .

			      
			( 'nowrap'):     
			     .
			    "^"   ,
			      
			  .
			{Vi    }

							                  *gm*
gm			 "g0",      
			  (     ).
			{Vi    }

							         *g$* *g<End>*
g$  g<End>		 ޣ     
			( 'wrap'):    
			 .    , 
			    [-1]  
			 ().    "$"  
			,   ,   .

			      
			( 'nowrap'):    
			     . 
			  "$"   ,   
			     
			     . 
			{Vi    }

									 *bar*
|			  ,   
			[]-,   .
			 || .

							                   *f*
f{}		   (    
			 [])    {}.
			     
			{} ( ). {}
			    |-|.
			   'encoding'  
			Unicode,     
			,  . |utf8--|.
			  {}   
			|:lmap|-.  CTRL-^   
			     
			ޣ  ޣ  |i_CTRL-^|.

							                   *F*
F{}		   (    
			 [])    {}.
			    
			{} ( ).
			{}    ,     |f|.

									   *t*
t{}		     (  
			 [])    {}.
			    {} (
			).
			{}    ,     |f|.

							                   *T*
T{}		     (  
			 [])    {}.
			    {} (
			).
			{}    ,     |f|.

							                   *;*
;			   f, t, F  T 
			[] .

							                   *,*
,			   f, t, F  T 
			[]    .
			
         .
        , 
  "$",        
.  ,  ,      
 ,      'whichwrap'.

==============================================================================
                   				             *up-down-motions*
3.     		      *-_*

k							                   *k*
<Up>							       *<Up>* *CTRL-P*
CTRL-P			   []  
			().

j							                   *j*
<Down>							              *<Down>*
CTRL-J							              *CTRL-J*
<NL>							       *<NL>* *CTRL-N*
CTRL-N			   []  
			().

gk							          *gk* *g<Up>*
g<Up>			   []  . 
			 || .
			  "k"    
			    ӣ   ,
			    ,  .
			{Vi    }

gj							        *gj* *g<Down>*
g<Down>			   []  . 
			 || .
			  "j"    
			    ӣ   ,
			    ,  .
			{Vi    }

							                   *-*
-  <>		   []  ,   
			  ().

+							                   *+*
CTRL-M							       *CTRL-M* *<CR>*
<CR>			   []  ,   
			  ().

							                   *_*
_  <ޣ>	  []-1  ,  
			  ().

					                                   *G* 
G			  ,    [], 
			 --   ,  
			  ().  
			'startofline' ,      
			. 
								     *<C-End>*
<C-End>			   [] (  -- 
			 ).    
			.   .
			{Vi    }

<C-Home>						       *gg* *<C-Home>*
gg			  ,    [], 
			 --   ,   
			 ().   'startofline'
			,       .

:[]		   .   []
			  ,   .

							                  *N%*
{}%		  ,   {}
			      , 
			   (). 
			    
			:

			    ({} * _ + 99) / 100

			.     'startofline'.
			{Vi    }

:[]go[to] []				    *:go* *:goto* *go*
[]go		   []   . 
			 []   1, .. 
			.   [],  
			 .     
			     'fileformat'.
			{Vi    }
			{    ,  Vim 
			  |+byte_offset|}

       .
       . 
    ( )    ,  
  ,     , 
  "$" --       
  .

==============================================================================
4.   	        *word-motions* *-_*

<S-Right>						       *<S-Right>* *w*
w			   []  ң.
			 || .

<C-Right>				                       *<C-Right>* *W*
W			   []  ң.
			 || .

							                   *e*
e			 ң   ,   
			[] ( ).

							                   *E*
E			 ң   ,   
			[] ( ).

<S-Left>						        *<S-Left>* *b*
b			   []  .
			 || .

<C-Left>    					                *<C-Left>* *B*
B			   []  .
			 || .

							                  *ge*
ge			    ,   
			[] ( ).

							                  *gE*
gE			    ,   
			[] ( ).

         . 
							
					        ** ** *word* **
    ,    ޣ, 
   .    
(, ,    <EOL>). ,  
   ,    'iskeyword'.

					        ** ** *WORD* **
     .  
.      ,   . 

        
.  "w"  "W" ("e"  "E")     ()
        .  "b"  "B"
          . 

 :  "cw"  "cW"   "ce"  "cE",  
    ,  "cw"    "
",        . 
{Vi:     ,     , 
 "cw"    ; , ,  Vi, 
 "dw"   }

ݣ   :     "w"  
  ,    ,  
 ,         
 ,      .

 Vi  "e"   . ,  "e"
    ,    -- .
,       "2e".  Vim  "ee"
 "2e"  ,    ,     
   Vim  Vi.

==============================================================================
                                                              *object-motions*
5.    	             *-_*

							                   *(*
(			   []  .
			 || .

							                   *)*
)			   []  ң.
			 || .

							                   *{*
{			   []  .
			 || .

							                   *}*
}			   []  ң.
			 || .

							                  *]]*
]]			   []  ң  
			 '{'   .  
			  --   '{'   .
			||

							                  *][*
][			   []  ң  
			 '}'   . ||

							                  *[[*
[[			   []    
			 '{'   . ||

							                  *[]*
[]			   []    
			 '}'   . ||


        .

				        *sentence* ** **
    '.', '!'  '?',   
 ,   .  '.', '!'  '?'   
,         
  ')', ']', '"'  '''.    
    . 
   'cpoptions'   'J',    
         <Tab>   .
   .

					                   *paragraph* **
    ,    ̣  ,
    'paragraphs'.      --
"IPLPPPQPP LIpplpipbp",    ".IP", ".LP"  . . (
 ģ   nroff,       ).
     . :  
 '{'  '}'   .  ,  ,
   ,     ,  
 .

							    *section* **
      (<C-L>)   , 
  ̣  ,     'sections'.
     -- "SHNHH HUnhsh",   
nroff ".SH", ".NH", ".H", ".HU", ".nh"  ".sh".

 "]"  "["     '{'  '}'  
 .         
     C.  ,    
   ,    --  , 
 .

    '{'  '}'     ,  , 
 ,    "[["  "]]",   
  : >
>
   :map [[ ?{<CR>w99[{
   :map ][ /}<CR>b99]}
   :map ]] j0[[%/{<CR>
   :map [] k$][%?}<CR>

[    , . |<>|]

==============================================================================
                                                *object-select* *text-objects*
6.   	        *-* *_*
						                   *v_a* *v_i*

         
   . ,     "a" 
,  ,  ,     "i" 
"", "inner",   ,   . 
,  ""     
,     .

 {Vi   }.
      Vim,     
  |+textobjects|.

							           *v_aw* *aw*
aw			, "a word".
			  []  (. ||).
			   ,   ,
			      .
			    , "aw" 
			  .

							           *v_iw* *iw*
iw			 , "inner word".
			  []  (. ||).
			    .
			    , "iw" 
			  .

							           *v_aW* *aW*
aW			, "a WORD".
			  []  (. ||).
			   ,   ,
			      .
			    , "aW" 
			  .

							           *v_iW* *iW*
iW			 , "inner WORD".
			  []  (. ||).
			    .
			    , "iW" 
			  .

							           *v_as* *as*
as			, "a sentence".
			  []  (.
			||).
			     .

							           *v_is* *is*
is			 , "inner sentence". 
			  []  (.
			||).
			     .

							           *v_ap* *ap*
ap			, "a paragraph".
			  []  (. ||).
			     .
			:   (  )
			   .

							           *v_ip* *ip*
ip			 , "inner paragraph".
			  []  (. ||).
			     .
			:   (  )
			   .

a]						       *v_a]* *v_a[* *a]* *a[*
a[			 [], "a [] block".
			  []  '[' ']'.  
			      []
			 '['      '[' 
			  ']',     '['
			 ']'.     
			. 

i]						       *v_i]* *v_i[* *i]* *i[*
i[			  [], "inner [] block".
			  []  '[' ']'.  
			      []
			 '['      '[' 
			  ']',   '['  ']'. 
			     .

a)							      *v_a)* *a)* *a(*
a(							    *v_ab* *v_a(* *ab*
ab			, "a block".
			  [] ,   
			[] '[('    ')', 
			   '('  ')' (. |[(|).
			     .

i)							      *v_i)* *i)* *i(*
i(							    *v_ib* *v_i(* *ib*
ib			 , "inner block".
			  [] ,   
			[] '[('    ')', 
			 '('  ')' (. |[(|).
			     .

a>						       *v_a>* *v_a<* *a>* *a<*
a<			 <>, "a <> block".
			  []  <>,  
			 [] '<'    '>',
			   '<'  '>'.
			     .

i>						       *v_i>* *v_i<* *i>* *i<*
i<			  <>, "inner <> block".
			  []  <>,  
			 [] '<'    '>',
			  '<'  '>'.
			     .

a}							      *v_a}* *a}* *a{*
a{							    *v_aB* *v_a{* *aB*
aB			, "a Block".
			  [] ,   
			[] '[{'   '}',  
			  '{'  '}' (. |[{|).
			     .

i}							      *v_i}* *i}* *i{*
i{							    *v_iB* *v_i{* *iB*
iB		 	 , "inner Block".
			  [] ,   
			[] '[{'   '}',  
			'{'  '}' (. |[{|).
			     .


   
---------------------------------

  :
	,   "a":      
	 .         
	  ,     .
	
	"" ,  "i":    
	,     .    
	,     .

  :
	   ,    ,   ,
	   ,     .
	 ,   "i"     
	,  ,   "a" -- .

    
-------------------------------------

       (   
 "v"):
	  ,       
	  .
         :
	         
	   ,       
	 ,   "a".  
	        
	(  ).     
	      .

  , ģ   ,    
  .  ,      
    vi.

	"dl"	  (: "x")				  |dl|
	"diw"	  			         *diw*
	"daw"	 				                 *daw*
	"diW"	   (. ||)		         *diW*
	"daW"	  (. ||)		                 *daW*
	"dd"	  				          |dd|
	"dis"	  			         *dis*
	"das"	 			                 *das*
	"dib"	   '(' ')'		                 *dib*
	"dab"	  '(' ')' 		                         *dab*
	"dip"	  		                 *dip*
	"dap"	 		                                 *dap*
	"diB"	   '{' '}'		                 *diB*
	"daB"	  '{' '}'			                 *daB*

        . 
        
.        
,      . , 
 "dw"  "daw":  "dw"      
   , "daw"     , 
    .

==============================================================================
7. 		      *mark-motions* *E20* *E78* *-*

  -      :

1.   ` ( ):	  
			    . 
			|| .

2.   '( ):
			     
			 ,   .
			  .

				                   *m* *mark* *Mark* **
m{a-zA-Z}		  {a-zA-Z}   .  
			 ,    	.

m'  m`		   .  
			     "''"  "``".  
			 ,   ţ  
			  .

						          *:ma* *:mark* *E191*
:[]ma[rk] {a-zA-Z}	
			  {a-zA-Z}   
			   .   --
			 ,      
			.

						                          *:k*
:[]k{a-zA-Z}	 ,   :mark,     
			 .

						             *'* *'a* *`* *`a*
'{a-z}  `{a-z}		   {a-z}.

						           *'A* *'0* *`A* *`0*
'{A-Z0-9}  `{A-Z0-9}	   {A-Z0-9}   .  
			    ,    
			.
			{Vi    }

						         *g'* *g'a* *g`* *g`a*
g'{} g`{}    {},    
			      
			. : >

				g`"
<			
			      
			 . . $VIMRUNTIME/vimrc_example.vim.
			{Vi    }
						
						                      *:marks*
:marks			    . 
			   .
			     : 
			|'(|, |')|, |'{|  |'}|.
			{Vi    }
						
						                        *E283*
:marks {}	  ,   {}. 
			   . : >

				:marks aB
<			
			  'a'  'B'.
			{Vi    }

     .     , 
  Vim.      ,  
    .

'a - 'z		   ,    
		  
'A - 'Z		   ,  :  
		   , ,    .
'0 - '9		 ,    .viminfo
			lines:

Vim  ,      ,  
,      .      
,          . 
  ,  ,     .

     :   ,
   ,     . , "o<Esc>mxdd".
, ,  ,      , ޣ
 "u"  ,      
 .

      . ,
"d't"        't'. : 
 't'    ("Top", ""), 'b'    ("Bottom",
"")  ..      
    .

,        'A  'Z,
 :        
 {Vi:   }    
   .    
         . 
        ,    
   ,      
.   'viminfo'  ,     
 .viminfo. . |viminfo-_|.

,      '0  '9,  
.     .    
   viminfo |_viminfo|.   '0 
   ,         Vim,
  '1 --      ,  .. 
. |viminfo-_|.


							             *'[* *`[*
'[  `[			    Σ 
			   .
			{Vi    }

							             *']* *`]*
']  `]			    Σ 
			   .
			{Vi    }

        , 
  .     ("p"  "P"),
        ,   -- 
   .     
     . :   10
       : "10Y']". 
     "p"     :
"p']".     ,     .

:        
,     .    ,
    ݣ    .

							             *'<* *`<*
'<  `<			     
			    .
			{Vi    }

							             *'>* *`>*
'>  `>			     
			    .
			{Vi    }

							             *''* *``*
''  ``			     ,  
			,        "m'"
			 "m`". 
			.  |_|.

							     *'quote* *`quote*
'"  `"			      
			  .   -- 
			  .   ,   
			    , .
			|___|.
			      .
			     ,   
			      .
			{Vi    }

							             *'^* *`^*
'^  `^			  ,     
			,   ݣ  .  
			    |gi|.
			{Vi    }

							             *'.* *`.*
'.  `.			  ,    
			. (       
			 ,     
			        
			    ӣ . ,
			   ,   '.',
			   .)
			{Vi    }

							             *'(* *`(*
'(  `(			    ,   
			|(|.
			{Vi    }

							             *')* *`)*
')  `)			    ,   
			|)|.
			{Vi    }

							             *'{* *`{*
'{  `{			    ,    |{|.
			{Vi    }

							             *'}* *`}*
'}  `}			    ,    |}|.
			{Vi    }

       ,    
 :

							                  *]'*
]'			   []   , 
			     
			.
			{Vi    }

							                  *]`*
]`			   []   .
			{Vi    }

							                  *['*
['			   []   , 
			     
			.
			{Vi    }

							                  *[`*
[`			   []   .
			{Vi    }

:loc[kmarks] {}					   *:loc* *:lockmarks*
			  {}   .
			    ,  
			     
			   .
			:     
			,  ,    
			 ӣ   
			  , ,  ,
			   .
			
			       
			 :
			
			- ,     
			  'a - 'z
			- ,     
			  'A - 'Z
			-   '0 - '9
			-    '^
			-    '.
			-    '<  '>
			-    ݣ 
			-      
			-   |_|
			-   |_|
			
			  ,    :

			-    ''
			-  
			-  ,   
			- 
			- 

:kee[pmarks] {}					   *:kee* *:keepmarks*
			      
			  - |:range!|:
			
			-     
			  -    ,  
			    ,    
			    .
			-    ,   
			    .

			  , ,   ,
			    ,  
			,    ϣ   .
			  'R'    
			'cpoptions',      ,  
			  ":keepmarks".

==============================================================================
8. 			           *jump-motions* *-*

""   : "'", "`", "G", "/", "?", "n",
"N", "%", "(", ")", "[[", "]]", "{", "}", ":s", ":tag", "L", "M", "H",  
,     .  
""    ,      
 "''"  "``",         . 

							              *CTRL-O*
CTRL-O			       ("
			", "Older").     
			 [].    . 
			{Vi    }
			{   Vim,  
			 |+jumplist|}

<Tab>							      *CTRL-I* *<Tab>*
CTRL-I			        (
			     []).  
			 .
			 |__|   
			    .
			{Vi    }
			{   Vim,  
			 |+jumplist|}

							        *:ju* *:jumps*
:ju[mps]		  .    .
			{Vi    }
			{   Vim,  
			 |+jumplist|}

				   *jumplist* *_* *_*
ۣ     .    CTRL-O 
CTRL-I     ,    
  ,  ,      .
       . 
 ,   ,  100. 
{   Vim,    +jumplist}

,  ң ۣ      : 

         ~
     3	   1    0 -   ~
     2	  70    0   ~
     1  1154   23 . ~
 > ~

  "  "        , 
      (    , 
     ).

        1167,   CTRL-O
    1154.   : 

         ~
     2	   1    0 -  ~
     1	  70    0   ~
 >   0  1154   23 . ~
     1	1167    0 - ݣ ~

     .   CTRL-O
   ,   ,   CTRL-I --
  .       
,   ,   CTRL-O  CTRL-I ݣ  . 
    CTRL-O     ( 1167)
  ,         CTRL-O.

  CTRL-O     70  1. 
  CTRL-I       1154  1167.
 ,     ""    
    CTRL-O  CTRL-I     .

         
 .        ,  
. ,     CTRL-O    
   . 

   CTRL-O,      1154, 
   ,  "G",    
  Σ:

         ~
     4	   1    0 -  ~
     3	  70    0   ~
     2  1167    0 - ݣ ~
     1	1154   23 . ~
 > ~

        
,         
,     ":n!".

        .

     'viminfo'   ',   
   viminfo     Vim.

==============================================================================
9.  		*various-motions* *-*

							                   *%*
%			       
			   ţ     .
			 || .

			   :
			
			([{}])		,   
					 (   
					   'matchpairs').
			/* */		      C
			#if, #ifdef, #else, #elif, #endif
					     C
					(    #  
					   ([{ ).
			     
			matchit, . |matchit-|.

			   'cpoptions'  "M" |cpo-M|,
			       
			  .   "M"
			     
			: ޣ    ޣ
			.  ,  "( \) )"  "\( ( \)"
			     .

			  '%'      
			'cpoptions' |cpo-%|,     
			 ,    , 
			    ޣ   , 
			  ,    
			 . '(', '{', '[', ']', '}'  ')' (
			  )  .
			:    C,    Perl, 
			      .
			      
			( {}%    ,
			   {}   
			 |N%|).   '%'   
			 #if/#else/#endif  
			. 

						                          *[(*
[(			    '('. [] 
			  .
			 || .
			{Vi    }

						                          *[{*
[{			    '{'. [] 
			  .
			 || .
			{Vi    }

						                          *])*
])			    ')'. [] 
			  .
			 || .
			{Vi    }

						                          *]}*
]}			    '}'. [] 
			  .
			 || .
			{Vi    }

         
    .      "%"  '(',
')', '{'  '}'   ,        , 
          
C. ,    -  "case x:",   "[{"
     "switch".

						                          *]m*
]m			      Java-
			 (  []   
			).      
			,       .
			 || .
			{Vi    }
						                          *]M*
]M			      Java-
			 (  []   
			).      
			,       .
			 || .
			{Vi    }
						                          *[m*
[m			      Java-
			 (  []   
			).       ,
			      .
			 || .
			{Vi    }
						                          *[M*
[M			      Java-
			 (  []   
			).       ,
			      .
			 || .
			{Vi    }

     ,    
   .      '{'  '}'.
        '{'  '}'.  
  Java.         : >

	// comment
	class foo {
		int method_one() {
			body_one();
		}
		int method_two() {
			body_two();
		}
	}

     "body_two()",    "[m" 
   '{'   "method_two()" (,  
      ,       
!).  "2[m"     "method_one()".
 "3[m"     .

						                          *[#*
[#			   (  
			[])  "#if"  "#else".
			 || .
			{Vi    }

						                          *]#*
]#			   (  
			[])  "#else"  "#endif".
			 || .
			{Vi    }

         C,  
  #if/#else/#endif.      
 #if/#else/#endif,   .    
    "%".

						     *[star* *[/* *[ף*
[*  or  [/		   (  
			[])     C "/*".
			 || .
			{Vi    }

						     *]star* *]/* *]ף*
]*  or  ]/		   (  
			[])     C "*/".
			 || .
			{Vi    }

						                           *H*
H			  ,  [] ( :
			  ),     ,
			    (). . 
			   'startofline'.  
			   'scrolloff'.

						                           *M*
M			     (Middle, ) 
			  .  
			. .    	'startofline'.

						                           *L*
L			  ,  [] ( :
			  ),     ,
			    (). . 
			   'startofline'.  
			   'scrolloff'.

<>	     ,  
<LeftMouse>		   .  
			. .  |<LeftMouse>|. 
			      , 
			     
			. 
			{Vi    }

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