JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr=============================================================================== 1.7 = Vim = =============================================================================== Vim -- , , . , Vim . 30 , , . ! , , , . , . "vimtutor" , , . , . , , . , ! , , , j , , 1.1 . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.1. ** , h,j,k,l ** ^ . k h . < h l > l . j j "". v 1. , . 2. "" (j) . , . 3. "", j , 1.2. . , , . . . () . , h j k l , . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.2. ! , ! 1. ( , ). 2. :q! , :q! <> . 3. , . vimtutor 4. , , 1 3, . . :q! . , . 5. 1.3. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.3. - ** , x ** 1. --->. 2. , , . 3. x ( x x ). 4. 2 4, . ---> . 5. , , 1.4. . , . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.4. - ** , i ** 1. --->. 2. , , . 3. i , . 4. , . 2 4, . ---> . ---> . 5. , 1.5. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.5. - ** , A ** 1. --->. , . 2. A ( A) , . 3. . 4. , ---> 2 3 . ---> . ---> . 5. , 1.6. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.6. ** , :wq ** ! , ! 1. Vim, 1.2 - :q! , : 2. vim tutor vim - Vim, tutor - . , . 3. , . 4. Vim, :wq 5. vimtutor 1, vimtutor . 6. , . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 1. , hjkl. h () j () k () l () 2. Vim , vim 3. Vim, : :q! ; :wq . 4. , x . 5. - i - A . . 2. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.1. ** , dw ** 1. , . 2. --->. 3. , . 4. dw . . d , , - w - , . ---> . 5. 3 4, , 2.2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.2. ٨ ** , d$ ** 1. , . 2. --->. 3. ( ). 4. d$ . ---> - . . 5. , , 2.3. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.3. , , , . , , d : d d - ; - ( ), . : w - , ; e - , ; $ - , . , de . . , , , , , . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.4. ר ** , ** 1. --->. 2. 2w . 3. 3e . 4. 0 () . 5. 2 3 . ---> , . 6. , 2.5. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.5. ר ** , ** , . d 1. ---> 2. d2w . 3. 1 2 , . ---> . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.6. ** , dd ** , , d. 1. , --->. 2. dd . 3. , --->. 4. 2dd . ---> 1) , ---> 2) , ! ---> 3) "", "" - ! ---> 4) ! ---> 5) ... ---> 6) "" ---> 7) . , . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.7. ** , u , U ** 1. , ---> 2. x . 3. u . 4. , x . 5. U ( U), . 6. u U . 7. CTRL-R (.. CTRL, r) . ---> "". 8. . 2. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2 1. , dw 2. , de 3. , d$ 4. , dd 5. , , , 2w 6. : [] - , , d ; [] - , , ; - , , w (), $ (, ) . . 7. , 0 () 8. , u ( u) , U ( U) , CTRL+R ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.1. ** , p ** 1. --->. 2. dd , , Vim. 3. , . 4. , p . 5. 2 4, . ---> ) . ---> ) , ---> ) ---> ) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.2. ** , r ** 1. --->. 2. , . 3. r , . 4. 2 3, . ---> 0 ! ---> - ! 5. 3.3. . , , . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.3. ** , ce ** 1. --->. 2. o "". 3. ce ( , ""). 4. ( , ). 5. 3 4 . ---> . ---> . . , ce , . cc , . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.4. ٨ c ** , ** 1. . : c [] 2. - , : w (), $ ( ) . . 3. --->. 4. . 5. c$ , , . ---> . ---> c$ . . . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3 1. , , p . ( , ). 2. , r . 3. . , ce , c$ - . 4. : c [] c - ; [] - ( ); - , . . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4.1. ** , CTRL-g . , SHIFT-G ** ! , ! 1. CTRL , g . , . , 3. . , 'ruler' (. :help 'ruler'). 2. SHIFT-G . gg . 3. , 1, SHIFT-G. , , CTRL-g. 4. , 1 3. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4.2. ** - , / ** 1. / . , . , : 2. . , . 3. , n . , SHIFT-N . 4. , ? / . 5. , , CTRL-O . , CTRL-I . ---> "" ""; . . , . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4.3. ** (, [ {, % ** 1. (, [ { --->. 2. % . 3. , . 4. % . ---> ( (, [ ] { } . )) . , ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4.4. ** "-" "-", :s///g ** 1. --->. 2. :s// . , . 3. :s///g , 'g' . . ---> , , . 4. - , :#,#s///g #,# - , . :%s///g . :%s///gc . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 1. : CTRL-g - SHIFT-G - SHIFT-G - gg - 2. / , Ш . ? , . , n SHIFT-N . CTRL-O , CTRL-I . 3. % , ( ), [ ] { }, . 4. , :s// , :s///g , :#,#s///g , :%s///g , 'c' :%s///gc ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5.1. ** , :! ** 1. : , . 2. ! ( ). . 3. , ls ! . . , ls . ls, :!dir . , . . , : , , . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5.2. ** , :w ** 1. :!dir :!ls . , 2. , , , TEST. 3. :w TEST ( TEST - ). 4. ("tutor") "TEST". , :!dir :!ls . . Vim TEST (. . vim TEST ), , . 5. , :!del TEST ( Windows) :!rm TEST ( UNIX- ) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5.3. ** , v , :w ** 1. . 2. v . , . 3. : :'<,'> . 4. w TEST ( TEST - , ). :'<,'>w TEST 5. TEST. , :!dir :!ls . , . . v . , . , , d . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5.4. ** , :r ** 1. . ! 2 5.3. . 2. TEST, :r TEST , TEST - . 3. , , , 5.3. - TEST. . . , :r !ls ls . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 1. :!command . : (Windows) (UNIX) :!dir :!ls - ; :!del :!rm - . 2. :w , . 3. v , :w . 4. :r . 5. :r !dir dir . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6.1. ** , o ** 1. , --->. 2. o ( o) , . 3. - . ---> o . 4. , O , o . . ---> , SHIFT-O. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6.2. ** , a ** 1. , --->. 2. e , "". 3. a ( a) , . 4. . . 5. e , 3 4. ---> . ---> . . a , i A , , . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6.3. ٨ ** , R ** 1. xxx ---> 2. SHIFT-R ( R) , , xxx. 3. . , . 4. xxx. ---> 123 xxx xxx. ---> 123 456 579. . , . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6.4. ** , y , - p ** 1. ")" --->. 2. v "". 3. y ( y) . 4. , j$ . 5. p . a , "" . 6. 1 4, "", , " .". ---> ) . ) . yw ( y w) . yy , p . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6.5. ** , ** 1. "", / . , n . 2. 'ic' ( ), :set ic 3. "", n , "" "". 4. 'hlsearch' 'incsearch' :set hls is 5. , / 6. , :set noic . :nohlsearch . , \c , , /\c ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6 1. o O 2. a . A . 3. e . 4. y , p . 5. SHIFT-R , - . 6. ":set xxx" 'xxx'. ( ): 'ic' 'ignorecase' 'is' 'incsearch' 'hls' 'hlsearch' 7. "no" :set noic ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7.1. ** ** Vim , , : - ( ) - ( ) - :help , , . CTRL-w CTRL-w . :q , ( ). , :help. ( ): :help w :help c_CTRL-D :help insert-index :help user-manual ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7.2. ** Vim ** Vim Vi, . , "vimrc". 1. "vimrc". : :e ~/.vimrc UNIX :e $VIM/_vimrc MS Windows 2. "vimrc" :r $VIMRUNTIME/vimrc_example.vim 3. "vimrc" :w Vim . "vimrc". , :help vimrc-intro ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7.3. ** CTRL-D ** 1. Vi :set nocp 2. , , :!ls :!dir 3. :e 4. CTRL-D , Vim "e". 5. d , ":edit". 6. :edit TE 7. , . . . CTRL-D . :help . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7 1. , :help , . 2. - , :help cmd ( "cmd" ). 3. , CTRL-w CTRL-w . 4. ( ), :q . 5. , vimrc. 6. , : , CTRL-D, . . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Vim. , , , , . , , . , , :help user-manual. "Vim - Vi Improved", Steve Oualline, New Riders. Vim . . . https://iccf-holland.org/click5.html Vi, Vim, "Learning the Vi Editor", Linda Lamb, O'Reilly & Associates Inc. , , Vi. Vim. Michael C. Pierce Robert K. Ware Colorado School of Mines , Charles Smith Colorado State University. E-mail: bware@mines.colorado.edu. Bram Moolenaar Vim. , , 2002, , , 2014, Restorer, , 2022, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~