JFIFHHC     C  " 5????! ??? JFIF    >CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality C     p!ranha?
Server IP : 172.67.137.82  /  Your IP : 104.23.197.222
Web Server : Apache/2.4.51 (Unix) OpenSSL/1.1.1n
System : Linux ip-172-26-8-243 4.19.0-27-cloud-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64
User : daemon ( 1)
PHP Version : 7.4.24
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/vim/vim81/tutor/

Upload File :
Curr3nt_D!r [ Writeable ] D0cum3nt_r0Ot [ Writeable ]

 
Command :
Current File : /usr/share/vim/vim81/tutor/tutor.ko.utf-8
===============================================================================
=    빔 길잡이 (VIM Tutor) 에 오신 것을 환영합니다    -      Version 1.5      =
===============================================================================

     빔(Vim)은 이 길잡이에서 다 설명할 수 없을 만큼 많은 명령을 가진
     매우 강력한 편집기입니다. 이 길잡이는 빔을 쉽게 전천후 편집기로 사용할
     수 있도록 충분한 명령에 대해 설명하고 있습니다.

     이 길잡이를 떼는 데에는 실습하는 데에 얼마나 시간을 쓰는 가에 따라서
     25-30 분 정도가 걸립니다.

     이 연습에 포함된 명령은 내용을 고칩니다. 이 파일의 복사본을 만들어서
     연습하세요. (vimtutor 를 통해 시작했다면, 이미 복사본을 사용하는
     중입니다.)

     중요한 것은, 이 길잡이가 직접 써보면서 배우도록 고려되어 있다는 것입니다.
     명령을 제대로 익히려면, 직접 실행해보는 것이 필요합니다. 내용을 읽는
     것만으로는, 명령을 잊어버리게 될 것입니다.

     자 이제, Caps Lock(Shift-Lock) 키가 눌려있지 않은지 확인해보시고, j 키를
     충분히 눌러서 Lesson 1.1이 화면에 가득 차도록 움직여봅시다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        Lesson 1.1:  커서 움직이기

   ** 커서를 움직이려면, 표시된 대로 h,j,k,l 키를 누르십시오. **
             ^
             k              힌트:  h 키는 왼쪽에 있으며, 왼쪽으로 움직입니다.
       < h       l >               l 키는 오른쪽에 있으며, 오른쪽으로
             j                     움직입니다.
             v                     j 키는 아래방향 화살표처럼 생겼습니다.

  1. 익숙해질 때까지 커서를 스크린 상에서 움직여 보십시오.

  2. 아래 방향키 (j)를 반복입력이 될 때까지 누르고 계십시오.
---> 이제 다음 lesson으로 가는 방법을 알게 되었습니다.

  3. 아래 방향키를 이용하여, Lesson 1.2 로 가십시오.

참고: 원하지 않는 무언가가 입력이 되었다면, <ESC>를 눌러서, 명령 모드로
      돌아가십시오. 그 후에 원하는 명령을 다시 입력하십시오.

참고: 커서키 또한 작동할 것입니다. 하지만 hjkl에 익숙해지면, 커서키보다
      훨씬 빠르게 이동할 수 있을 것입니다.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     Lesson 1.2: 빔을 시작하고 끝내기


  !! 주의: 아래 있는 단계를 실행하기 전에, 이 lesson 전체를 읽으십시오!!

  1. <ESC> 키를 눌러서 확실하게 명령 모드로 빠져 나옵니다.

  2. 다음과 같이 입력합니다:    :q! <ENTER>

---> 이렇게 하면, 바뀐 내용을 *저장하지 않고* 편집기를 빠져나갑니다.
     저장한 후 빠져나가려면 다음과 같이 입력합니다:
                                :wq <ENTER>

  3. 쉘 프롬프트가 보인다면, 다시 길잡이로 돌아오기 위해 다음과 같이
     입력합니다.
                                vimtutor <ENTER>
     또는 다음과 같을 수도 있습니다.
                                vim tutor.ko <ENTER>

---> 'vim' 은 빔 편집기로 들어가는 것을 뜻하며, 'tutor.ko'는 편집하려는
     파일을 뜻합니다.

  4. 위에서 이야기한 단계를 기억하였으며, 확신이 서면, 1에서 3까지를
     수행하여 편집기를 나갔다가 다시 들어와보십시오.  그 후 커서를 아래로
     움직여 Lesson 1.3 으로 가십시오.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     Lesson 1.3: 텍스트 편집 - 지우기


** 명령 모드에서   x  를 누르면 커서가 위치한 곳의 글자를 지울 수 있습니다. **

  1. ----> 로 표시된 곳으로 커서를 옮겨보십시오.

  2. 오타를 수정하기 위해, 커서를 지울 글자 위로 움직여 보십시오.

  3. x  키를 눌러서 지워야할 글자를 지우십시오.

  4. 2에서 4까지를 반복하여 문장이 올바르게 되도록 하여 보십시오.

---> The ccow jumpedd ovverr thhe mooon.

  5. 문장이 정확해졌다면, Lesson 1.4로 가십시오.

주의: 이 길잡이를 보면서 외우려고 하지말고, 직접 사용해보면서 익히길
      바랍니다.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 Lesson 1.4: 텍스트 편집 - 삽입 (INSERTION)

  
       ** 명령 모드에서   i  를 누르면 텍스트를 입력할 수 있습니다. **

  1. 커서를 첫번째 ---> 로 표시된 줄로 움직입니다.

  2. 첫번째 줄을 두번째 줄과 똑같이 만들것입니다. 텍스트가 들어가야할
     곳 다음부터 첫번째 글자 위에 커서를 옮겨 놓습니다.

  3. i  키를 누른 후, 필요한 내용을 입력합니다.

  4. 수정한 후에는 <ESC> 를 눌러서 명령 모드로 돌아갑니다.
     문장을 올바르게 만들기 위해 2에서 4의 과정을 반복합니다.

---> There is text misng this .
---> There is some text missing from this line.

  5. 텍스트를 삽입하는 데에 익숙해졌다면, 요약을 봐주십시오.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                             LESSON 1 요약


  1. 커서를 움직일 때에는 화살표 키나 hjkl 키를 이용합니다.
         h (왼쪽)       j (아래)       k (위)       l (오른쪽)

  2. 쉘 프롬프트에서 빔을 시작하려면 vim FILENAME <ENTER>

  3. 수정한 내용을 무시한 채로 빔에서 빠져나가려면   <ESC>   :q!   <ENTER>
                     저장한 후 빔에서 빠져나가려면   <ESC>   :wq   <ENTER>

  4. 명령 모드에서 커서가 위치한 곳의 글자를 지우려면   x  를 입력합니다.

  5. 명령 모드에서 커서가 위치한 곳에 텍스트를 삽입하려면
         i   를 누른 후 텍스트를 입력하고  <ESC> 를 누릅니다.

참고: <ESC>는 명령 모드로 돌아가는 데 쓰며, 원치 않는 명령이나 완전히 입력되지
      않은 명령을 취소하는 데에도 씁니다.

그럼 Lesson 2를 시작합시다.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      Lesson 2.1: 삭제(DELETION) 명령


            ** 한 단어를 끝까지 지우려면  dw  라고 치면 됩니다. **

  1. <ESC> 키를 눌러서 확실하게 명령 모드로 빠져 나옵니다.

  2. 아래에 ---> 로 표시된 줄 까지 커서를 옮깁니다.

  3. 지워야할 단어의 처음으로 커서를 옮깁니다.

  4. dw  라고 쳐서 그 단어를 지웁니다.

  주의: 위에서 말한대로 하면 화면의 마지막 줄에 dw 라는 글자가 표시됩니다.
        잘못 쳤다면,  <ESC> 를 눌러서 다시 시작하십시오.

---> There are a some words fun that don't belong paper in this sentence.

  5. 3, 4번 과정을 다시 하여 문장을 정확하게 만든 뒤 Lesson 2.2로 가십시오.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        Lesson 2.2: 다른 삭제 명령

              **  d$ 라고 치면 그 줄 끝까지 지워집니다. **

  1. <ESC> 키를 눌러서 확실하게 명령 모드로 빠져 나옵니다.

  2. 아래에 ---> 로 표시된 줄 까지 커서를 옮깁니다.

  3. 올바른 줄의 끝으로 커서를 옮깁니다. (첫번째로 나오는 . 다음입니다.)

  4. d$  라고 쳐서 줄 끝까지 지웁니다.

---> Somebody typed the end of this line twice. end of this line twice.


  5. 어떤 일이 일어났는지 이해하기 위해 Lesson 2.3 으로 가십시오.




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    Lesson 2.3: 명령과 적용 대상에 대해


  삭제 명령 d의 형식은 다음과 같습니다.

         [횟수]   d   대상      또는      d   [횟수]   대상
  여기서
    횟수 - 명령을 몇 번 수행할 지 (옵션, 기본값=1).
    d    - 지우는 명령
    대상 - 아래에 제시된 대상에 대해 명령을 수행

  적용 가능한 대상의 종류:
    w - 커서에서 그 단어의 끝까지 (공백 포함.)
    e - 커서에서 그 단어의 끝까지 (공백을 포함하지 않음.)
    $ - 커서에서 그 줄의 끝까지

참고:  호기심이 있다면, 명령 모드에서 명령 없이 대상을 입력해보십시오.
       위에서 이야기한 대상의 목록에 따라 커서가 움직이게 됩니다.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                   Lesson 2.4: '명령-대상' 에 대한 예외


               **  dd  라고 치면 줄 전체를 지웁니다. **

  줄 전체를 지우는 일이 잦기 때문에, Vi를 디자인 한 사람들은, 간단히 d를
  두번 연달아 치면 한 줄을 지울 수 있도록 하였습니다.

  1. 커서를 아래 나온 단락의 두번째 줄로 가져가십시오.
  2. dd 를 입력하여 그 줄을 지우십시오.
  3. 그런 다음 네번째 줄로 가십시오.
  4. 2dd 라고 입력하여 두줄을 지웁니다. ( 횟수-명령-대상을 기억하세요. )

      1)  Roses are red,
      2)  Mud is fun,
      3)  Violets are blue,
      4)  I have a car,
      5)  Clocks tell time,
      6)  Sugar is sweet
      7)  And so are you.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                         Lesson 2.5: 취소(UNDO) 명령


   **  u  를 누르면 마지막 명령이 취소되며,  U 는 줄 전체를 수정합니다. **

  1. 커서를 ---> 로 표시된 줄로 이동한 후 첫번째 잘못된 부분 위로 옮깁니다.
  2.  x  를 입력하여 첫번째 잘못된 글자를 지웁니다.
  3. 그럼 이제  u 를 입력하여 마지막으로 수행된 명령을 취소합니다.
  4. 이번에는  x  명령을 이용하여 그 줄의 모든 에러를 수정해봅시다.
  5. 대문자  U  를 눌러서 그 줄을 원래 상태로 돌려놓아 보십시오.
  6. 이번에는  u 를 몇 번 눌러서  U 와 이전 명령을 취소해봅시다.
  7. CTRL-R (CTRL 키를 누른 상태에서 R을 누르는 것) 을 몇 번 눌러서
     명령을 다시 실행해봅시다. (취소한 것을 취소함.)

---> Fiix the errors oon thhis line and reeplace them witth undo.

  8. 이 명령은 매우 유용합니다.  그럼 Lesson 2 요약으로 넘어가도록 합시다.




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                               LESSON 2 요약


  1. 커서가 위치한 곳부터 단어의 끝까지 지우려면:    dw

  2. 커서가 위치한 곳부터 줄 끝까지 지우려면:    d$

  3. 줄 전체를 지우려면:    dd

  4. 명령 모드에서 내리는 명령의 형식은 다음과 같습니다:

       [횟수]   명령   대상    또는    명령   [횟수]   대상
     여기서:
       횟수 - 그 명령을 몇 번 반복할 것인가
       명령 - 어떤 명령을 내릴 것인가 ( 예를 들어, 삭제인 경우는 d )
       대상 - 명령이 동작할 대상, 예를 들어 w (단어), $ (줄의 끝) 등.

  5. 이전 행동을 취소하려면:                 u   (소문자 u)
     한 줄에서 수정한 것을 모두 취소하려면:  U   (대문자 U)
     취소한 것을 다시 실행하려면:            CTRL-R

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        Lesson 3.1: 붙이기(PUT) 명령


      **  p 를 입력하여 마지막으로 지운 내용을 커서 뒤에 붙입니다. **

  1. 아래에 있는 문단의 첫 줄로 커서를 움직이십시오.

  2.  dd  를 입력하여 그 줄을 지워서 빔의 버퍼에 저장합니다.

  3. 아까 지운 줄이 가야할 위치의 *윗줄로* 커서를 옮깁니다.

  4. 명령 모드에서,  p  를 입력하여 그 줄을 제대로 된 자리로 옮깁니다.

  5. 2에서 4를 반복하여 모든 줄의 순서를 바로 잡으십시오.

     d) Can you learn too?
     b) Violets are blue,
     c) Intelligence is learned,
     a) Roses are red,



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        Lesson 3.2: 치환(REPLACE) 명령


  ** 커서 아래의 글자 하나를 바꾸려면, r 을 누른 후 바꿀 글자를 입력합니다. **

  1. 커서를 ---> 로 표시된 첫 줄로 옮깁니다.

  2. 커서를 잘못된 첫 부분으로 옮깁니다.

  3.  r  을 누른 후, 잘못된 부분을 고쳐 쓸 글자를 입력합니다.

  4. 2에서 3의 과정을 반복하여, 첫 줄의 오류를 수정하십시오.

--->  Whan this lime was tuoed in, someone presswd some wrojg keys!
--->  When this line was typed in, someone pressed some wrong keys!

  5. Lesson 3.2 로 이동합시다.

주의: 외우지 말고, 직접 해보면서 익혀야 한다는 것을 잊지 마십시오.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        Lesson 3.3: 변환(CHANGE) 명령


           ** 한 단어의 일부나 전체를 바꾸려면,  cw  를 치십시오. **

  1. 커서를 ---> 로 표시된 첫줄로 옮깁니다.

  2. 커서를 lubw 에서 u 위에 올려놓습니다.

  3. cw 라고 명령한 후 단어를 정확하게 수정합니다. (이 경우,  'ine' 를 칩니다.)

  4. <ESC> 를 누른 후 다음 에러로 갑니다 (수정되어야할 첫 글자로 갑니다.)

  5. 3에서 4의 과정을 반복하여 첫번째 문장을 두번째 문장과 같도록 만듭니다.

---> This lubw has a few wptfd that mrrf changing usf the change command.
---> This line has a few words that need changing using the change command.

cw 는 단어를 치환하는 것 뿐만 아니라, 내용을 삽입할 수 있도록 한다는 것에
주의합시다.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                       Lesson 3.4: c 를 이용한 다른 변환 명령


     ** 변환 명령은 삭제할 때 이용한 대상에 대해 적용할 수 있습니다. **

  1. 변환 명령은 삭제와 동일한 방식으로 동작합니다. 형식은 다음과 같습니다:

       [횟수]   c   대상      또는       c   [횟수]   대상

  2. 적용 가능한 대상 역시 같습니다.  w (단어),  $ (줄의 끝) 등이 있습니다.

  3. ---> 로 표시된 첫줄로 이동합니다.

  4. 첫 에러 위로 커서를 옮깁니다.

  5. c$ 를 입력하여, 그 줄의 나머지가 두번째 줄처럼 되도록 수정한 후 <ESC> 를
     누르십시오.

---> The end of this line needs some help to make it like the second.
---> The end of this line needs to be corrected using the  c$  command.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                               LESSON 3 요약


  1. 이미 지운 내용을 되돌리려면,  p  를 누르십시오. 이 명령은 커서 *다음에*
     지워진 내용을 붙입니다(PUT). (한 줄을 지운 경우에는 커서 다음 줄에
     지워진 내용이 붙습니다.)

  2. 커서 아래의 글자를 치환하려면(REPLACE),  r  을 누른 후 원래 글자 대신
     바꾸어 넣을 글자를 입력합니다.

  3. 변환 명령(CHANGE)은 커서에서 부터 지정한 대상의 끝까지 바꿀 수 있는
     명령입니다. 예를 들어, 커서 위치에서 단어의 끝까지 바꾸려면,  cw  를
     입력하면 되며,  c$  는 줄 끝까지 바꾸는 데 쓰입니다.

  4. 변환 명령의 형식은 다음과 같습니다:

         [횟수]   c   대상       또는       c   [횟수]   대상

계속해서 다음 Lesson 을 진행합시다.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     Lesson 4.1: 위치와 파일의 상태


  **  CTRL-g 를 누르면 파일 내에서의 현재 위치와 파일의 상태를 볼 수 있습니다.
      SHIFT-G 를 누르면 파일 내의 줄로 이동합니다. **

  주의: 아래의 단계를 따라하기 전에, 이 Lesson 전체를 먼저 읽으십시오.

  1. CTRL 키를 누른 상태에서 g 를 누릅니다. 파일 이름과 현재 위치한 줄이
     표시된 상태줄이 화면 아래에 표시될 것입니다. 3번째 단계를 위해 그
     줄 번호를 기억하고 계십시오.

  2. SHIFT-G 를 누르면 파일의 마지막으로 이동합니다.

  3. 아까 기억했던 줄 번호를 입력한 후 SHIFT-G 를 누르십시오. 이렇게 하면
     처음에 CTRL-g 를 눌렀던 장소로 되돌아가게 될 것입니다.
     (번호를 입력할 때, 이것은 화면에 표시되지 않습니다.)

  4. 자신이 생겼다면, 1에서 3까지를 실행해보십시오.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        Lesson 4.2: 찾기 명령


              **  /  를 누른 후 검색할 문구를 입력하십시오. **

  1. 명령 모드에서  /  를 입력하십시오.  : 명령에서와 마찬가지로,  화면 아래에
     / 와 커서가 표시될 것입니다.

  2. 'errroor' 라고 친 후 <ENTER> 를 치십시오. 이 단어를 찾으려고 합니다.

  3. 같은 문구를 다시 찾으려면, 간단히  n  을 입력하십시오.
     같은 문구를 반대 방향으로 찾으려면,  Shift-N 을 입력하십시오.

  4. 문구를 역방향으로 찾으려면,  /  대신  ? 를 이용하면 됩니다.

---> "errroor" is not the way to spell error;  errroor is an error.

참고: 찾는 중에 파일의 끝에 다다르게 되면, 파일의 처음부터 다시 찾게 됩니다.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                   Lesson 4.3: 괄호의 짝 찾기


              ** %  를 눌러서  ), ], } 의 짝을 찾습니다. **

  1. 커서를 ---> 로 표시된 줄의 (, [, { 중 하나에 가져다 놓습니다.

  2.  % 를 입력해 봅시다.

  3. 커서가 짝이 맞는 괄호로 이동할 것입니다.

  4.  % 를 입력하여, 이전 괄호로 되돌아 옵시다.

---> This ( is a test line with ('s, ['s ] and {'s } in it. ))

참고: 짝이 맞지 않는 괄호가 있는 프로그램을 디버깅할 때에 매우 유용합니다!






~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      Lesson 4.4: 에러를 수정하는 방법


     **  :s/old/new/g  하면 'old' 를  'new' 로 치환(SUBTITUTE)합니다. **

  1. 커서를 ---> 로 표시된 줄에 가져다 놓습니다.

  2.  :s/thee/the 를 입력한 후 <ENTER> 를 칩니다.  이 명령은 그 줄에서
     처음으로 발견된 것만 바꾼다는 것에 주의하십시오.

  3. 이번에는  :s/thee/the/g  를 입력합니다. 이는 그 줄 전체(globally)를
     치환한다는 것을 의미합니다.

---> thee best time to see thee flowers is in thee spring.

  4. 두 줄 사이의 모든 문자열에 대해 치환하려면 다음과 같이 합니다,
      :#,#s/old/new/g    #,# 는 두 줄의 줄번호를 뜻합니다.
      :%s/old/new/g      파일 전체에서 발견된 모든 것을 치환하는 경우입니다.




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                               LESSON 4 요약


  1. CTRL-g  는 파일의 상태와 파일 내에서의 현재 위치를 표시합니다.
     SHIFT-G  는 파일의 끝으로 이동합니다. 줄번호를 입력한 후 SHIFT-G를
     입력하면, 그 줄로 이동합니다.

  2.  / 를 입력한 후 문구를 입력하면 그 문구를 아랫방향으로 찾습니다.
      ? 를 입력한 후 문구를 입력하면 윗방향으로 찾습니다.
     검색 후, n 을 입력하면 같은 방향으로 다음 문구를 찾으며,
     Shift-N 을 입력하면 반대 방향으로 찾습니다.

  3. 커서가 (,),[,],{,} 위에 있을 때에  % 를 입력하면 상응하는 짝을
     찾아갑니다.

  4. 어떤 줄에 처음 등장하는 old를 new로 바꾸려면          :s/old/new
     한 줄에 등장하는 모든 old를 new로 바꾸려면            :s/old/new/g
     두 줄 #,# 사이에서 치환을 하려면                      :#,#s/old/new/g
     파일 내의 모든 문구를 치환하려면                      :%s/old/new/g
     바꿀 때마다 확인을 거치려면 'c'를 붙여서              :%s/old/new/gc


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                   Lesson 5.1: 외부 명령 실행하는 방법


         **   :!  을 입력한 후 실행하려는 명령을 입력하십시오. **

  1. 친숙한 명령인  :  를 입력하면 커서가 화면 아래로 이동합니다. 명령을
     입력할 수 있게 됩니다.

  2. 이제  ! (느낌표) 를 입력하십시오. 이렇게 하면 외부 쉘 명령을 실행할
     수 있습니다.

  3. 시험삼아 ! 다음에  ls  를 입력한 후 <ENTER> 를 쳐보십시오. 쉘 프롬프트
     에서처럼 디렉토리의 목록이 출력될 것입니다.  ls  가 동작하지 않는다면
     :!dir 을 시도해 보십시오.

참고:  어떤 외부 명령도 이 방법으로 실행할 수 있습니다.

참고:  모든  :  명령은 <ENTER> 를 쳐야 마무리 됩니다.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    Lesson 5.2: 보다 자세한 파일 저장


     ** 수정된 내용을 파일로 저장하려면,  :w  FILENAME  하십시오. **

  1.  :!dir 또는  :!ls  를 입력하여 디렉토리의 리스트를 얻어옵니다.
     위의 명령 후 <ENTER>를 쳐야한다는 것은 이미 알고 있을 것입니다.

  2. TEST 처럼 존재하지 않는 파일 이름을 하나 고르십시오.

  3. 이제  :w TEST 라고 입력하십시오.  (TEST는 당신이 선택한 파일 이름입니다.)

  4. 이렇게 하면 빔 길잡이 파일 전체를 TEST라는 이름으로 저장합니다.
     확인하려면,  :!dir 을 다시 입력하여, 디렉토리를 살펴보십시오.

참고: 빔을 종료한 후, 빔을 다시 실행하여 TEST라는 파일을 열면, 그 파일은
      저장했을 때와 완벽히 같은 복사본일 것입니다.

  5. 이제 그 파일을 지웁시다.
     (MS-DOS에서):   !del TEST
     (Unix에서):     !rm TEST


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    Lesson 5.3: 선택적으로 저장하는 명령


        ** 파일의 일부를 저장하려면,  :#,# w FILENAME  하십시오. **

  1. 다시 한번,  :!dir  이나  :!ls 를 입력하여 디렉토리의 목록을 받아온 후
     TEST 같은 적합한 이름을 선택합니다.

  2. 커서를 이 페이지의 처음으로 옮긴 후, Ctrl-g 를 입력하여 그 줄의 줄번호를
     알아냅니다. 이 번호를 기억하십시오!

  3. 이제 이 페이지의 마지막으로 가서  Ctrl-g 를 다시 입력하십시오. 이 줄의
     줄번호 또한 기억하십시오!

  4. 어떤 섹션만 파일로 저장하려면,  :#,# w TEST  를 입력하면 됩니다. 이 때
     #,# 는 아까 기억했던 시작과 끝 줄번호 입니다. TEST는 파일 이름입니다.

  5. :!dir 을 이용하여 파일이 만들어졌는지 확인하십시오. 지우지는 마십시오.




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                   Lesson 5.4: 파일 읽어들이기, 합치기


       ** 어떤 파일의 내용을 삽입하려면,  :r FILENAME  하십시오 **

  1.  :!dir 을 입력하여 아까 만든 TEST 파일이 그대로 있는지 확인하십시오.

  2. 커서를 이 페이지의 처음으로 움직이십시오.

주의:  3번째 단계를 실행하면, Lesson 5.3 을 보게 될 것입니다. 그렇게 되면
       이 lesson으로 다시 내려오십시오.

  3. 이제 TEST 파일을 읽어들입시다.  :r TEST  명령을 사용하십시오. TEST 는
     파일의 이름입니다.

참고:  읽어들인 파일은 커서가 위치한 지점에서부터 놓이게 됩니다.

  4. 파일이 읽어들여진 것을 확인하기 위해, 뒤로 이동해서 기존 버전과 파일에서
     읽어들인 버전, 이렇게 Lesson 5.3 이 두번 반복되었음을 확인하십시오.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                               LESSON 5 요약


  1.  :!command  를 이용하여 외부 명령을 실행합니다.

      유용한 예:
         (MS-DOS)         (Unix)
          :!dir            :!ls            -  디렉토리의 목록을 보여준다.
          :!del FILENAME   :!rm FILENAME   -  FILENAME이라는 파일을 지운다.

  2.  :w FILENAME  하면 현재 빔에서 사용하는 파일을 FILENAME이라는 이름으로
      디스크에 저장합니다.

  3.  :#,#w FILENAME  하면 #부터 #까지의 줄을 FILENAME이라는 파일로 저장합니다.

  4.  :r FILENAME  은 디스크에서 FILENAME이라는 파일을 불러들여서 커서 위치
      뒤에 현재 파일을 집어넣습니다.






~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    Lesson 6.1: 새 줄 열기(OPEN) 명령


       **  o  를 누르면 커서 아래에 줄을 만들고 편집 모드가 됩니다. **

  1. 아래에 ---> 로 표시된 줄로 커서를 옮기십시오.

  2.  o (소문자)를 쳐서 커서 *아래에* 줄을 하나 여십시오. 편집 모드가 됩니다.
     Insert mode.

  3. ---> 로 표시된 줄을 복사한 후  <ESC> 를 눌러서 편집 모드에서 나오십시오.

---> After typing  o  the cursor is placed on the open line in Insert mode.

  4. 커서 *위에* 줄을 하나 만드려면, 소문자  o 대신 대문자  O  를 치면 됩니다.
     아래 있는 줄에 대해 이 명령을 내려보십시오.
Open up a line above this by typing Shift-O while the cursor is on this line.





~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        Lesson 6.2: 추가(APPEND) 명령


          **  a 를 누르면 커서 *다음에* 글을 입력할 수 있습니다. **

  1. 커서를 ---> 로 표시된 첫번째 줄의 끝으로 옮깁니다.  명령 모드에서
     $ 를 이용하십시오.

  2.  소문자 a 를 커서 아래 글자 *다음*에 글을 추가할 수 있습니다.
     (대문자 A는 그 줄의 끝에 추가합니다.)

참고: 그렇게 하시면 고작 줄의 끝에 추가를 하기 위해 i를 누르고, 커서 아래에
      있던 글자를 반복하고, 글을 끼워넣고, <ESC>를 눌러 명령 모드로 돌아와서,
      커서를 오른쪽으로 옮기고 마지막으로 x까지 눌러야 하는 번거로움을 피하실
      수 있습니다.

  3. 이제 첫 줄을 완성하십시오. 추가 명령은 텍스트가 입력되는 위치 외에는
     편집 모드와 완전히 같다는 것을 유념하십시오.

---> This line will allow you to practice
---> This line will allow you to practice appending text to the end of a line.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                   Lesson 6.3: 치환(REPLACE) 의 다른 버전


      **  대문자 R 을 입력하면 하나 이상의 글자를 바꿀 수 있습니다. **

  1. 커서를 ---> 로 표시된 첫번째 줄로 옮기십시오.

  2. 커서를 ---> 로 표시된 두번째 줄과 다른 첫번째 단어 위로 옮기십시오.
     ('last' 입니다.)

  3.  R  을 입력한 후 첫번째 줄의 예전 텍스트 위에 새로운 글을 입력하여
     나머지 내용이 두번째 줄과 같아지도록 바꿉시다.

---> To make the first line the same as the last on this page use the keys.
---> To make the first line the same as the second, type R and the new text.

  4. <ESC> 를 눌러서 나가면, 바뀌지 않은 텍스트는 그대로 남게 됩니다.





~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                         Lesson 6.4: 옵션 설정(SET)

      ** 찾기나 바꾸기에서 대소문자 구분을 없애기 위해 옵션을 설정합니다 **

  1. 다음을 입력하여 'ignore' 를 찾으십시오:
     /ignore
      n 키를 이용하여 여러번 반복하십시오.

  2. 'ic' (대소문자 구별 안함, Ignore case) 옵션을 설정하십시오:
     :set ic

  3.  n 키를 눌러서 'ignore' 를 다시 찾아보십시오.
     n 키를 계속 눌러서 여러번 찾으십시오.

  4. 'hlsearch' 와 'incsearch' 옵션을 설정합시다.
     :set hls is

  5. 찾기 명령을 다시 입력하여, 어떤 일이 일어나는지 확인해 보십시오:
     /ignore

  6. 찾은 내용이 강조(HIGHLIGHT)된 것을 없애려면, 다음과 같이 입력합니다:
     :nohlsearch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                               LESSON 6 요약


  1.  o 를 입력하면 커서 *아래에* 한 줄이 열리며, 커서는 편집 모드로
     열린 줄 위에 위치하게 됩니다.
     대문자  O  를 입력하면 커서가 있는 줄의 *위로* 새 줄을 열게 됩니다.

  2.  a 를 입력하면 커서 *다음에* 글을 입력할 수 있습니다.
     대문자  A  를 입력하면 자동으로 그 줄의 끝에 글자를 추가하게 됩니다.

  3. 대문자  R  을 입력하면 <ESC> 를 눌러서 나가기 전까지 바꾸기 모드가 됩니다.

  4. ":set xxx" 를 하면 "xxx" 옵션이 설정됩니다.









~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                       LESSON 7: 온라인 도움말 명령


                      ** 온라인 도움말 시스템 사용하기 **

  빔은 폭 넓은 온라인 도움말 시스템을 제공합니다.  도움말을 보려면,
  다음 세가지 중 하나를 시도해보십시오:
        - <HELP> 키를 누른다. (키가 있는 경우)
        - <F1> 키를 누른다. (키가 있는 경우)
        - :help <ENTER>   라고 입력한다.

  도움말 창을 닫으려면  :q <ENTER>  라고 입력하십시오.

  ":help" 라는 명령에 인자를 주면 어떤 주제에 관한 도움말을 찾을 수 있습니다.
  다음 명령을 내려 보십시오. ( <ENTER> 키를 누르는 것을 잊지 마십시오.)

        :help w
        :help c_<T
        :help insert-index
        :help user-manual


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                       LESSON 8: 시작 스크립트 만들기

                            ** 빔의 기능 켜기 **

  빔은 Vi 보다 훨씬 많은 기능을 가지고 있지만, 대부분은 기본적으로 작동하지
  않습니다. 더 많은 기능을 써보려면, "vimrc" 라는 파일을 만들어야 합니다.

  1. "vimrc" 파일을 수정합시다. 이 파일은 사용하는 시스템에 따라 다릅니다:
  1. Start editing the "vimrc" file, this depends on your system:
        :edit ~/.vimrc                  Unix의 경우
        :edit $VIM/_vimrc               MS-Windows의 경우

  2. 이제 "vimrc"의 예제를 읽어들입니다:

        :read $VIMRUNTIME/vimrc_example.vim

  3. 다음과 같이 하여 파일을 저장합니다:

        :write

  다음 번에 빔을 시작하면, 구문 강조(syntax highlighting)이 사용될 것입니다.
  모든 원하는 설정을 이 "vimrc" 파일에 넣어둘 수 있습니다.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  이것으로 빔 길잡이를 마칩니다.  이 길잡이는 빔 편집기에 대한 간략한 개요를
  보여주기 위한 의도로 제작되었으며, 이 편집기를 정말 간단히 사용하기에
  충분할 뿐입니다.  빔에는 이 길잡이와는 비교할 수 없을 만큼 훨씬 많은 명령이
  있습니다.  다음 사용자 매뉴얼을 읽으십시오: ":help user-manual"

  보다 자세히 읽고 공부하려면, 다음 책을 추천해 드립니다:
        Vim - Vi Improved - by Steve Oualline
        출판사: New Riders
  이 책은 완전히 빔에 대해서만 다루고 있습니다.  특히 초보자들에게 유용합니다.
  많은 예제와 그림이 있습니다.
  다음을 참고하십시오:  http://iccf-holland.org/click5.html

  다음 책은 좀 오래된 책으로 빔보다는 Vi에 대해 다루고 있지만, 역시 추천할 만
  합니다:
        Learning the Vi Editor - by Linda Lamb
        출판사: O'Reilly & Associates Inc.
  Vi로 하고 싶은 거의 모든 것에 대해 알 수 있는 좋은 책입니다.
  여섯번째 개정판은 빔에 관한 내용을 포함하고 있습니다.

  이 길잡이는  Colorado School of Mines의 Michael C. Pierce 와
  Robert K. Ware 가 Colorado State University의 Charles Smith 의 아이디어에
  착안하여 썼습니다.
  .  E-mail: bware@mines.colorado.edu.

  Modified for Vim by Bram Moolenaar.

  이 문서의 한국어 버전에 관한 문의는 다음 사이트로 해주십시오.
  http://wiki.kldp.org/wiki.php/VimTutorKo
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
N4m3
5!z3
L45t M0d!f!3d
0wn3r / Gr0up
P3Rm!55!0n5
0pt!0n5
..
--
September 29 2023 06:20:35
root / root
0755
README.el.cp737.txt
1.054 KB
September 27 2023 19:47:00
root / root
0644
README.el.txt
1.054 KB
September 27 2023 19:47:00
root / root
0644
README.txt
1.502 KB
September 27 2023 19:47:00
root / root
0644
tutor
32.482 KB
September 27 2023 19:47:00
root / root
0644
tutor.bar
39.938 KB
September 27 2023 19:47:00
root / root
0644
tutor.bar.utf-8
40.864 KB
September 27 2023 19:47:00
root / root
0644
tutor.bg.utf-8
59.201 KB
September 27 2023 19:47:00
root / root
0644
tutor.ca
27.771 KB
September 27 2023 19:47:00
root / root
0644
tutor.ca.utf-8
28.239 KB
September 27 2023 19:47:00
root / root
0644
tutor.cs
25.074 KB
September 27 2023 19:47:00
root / root
0644
tutor.cs.cp1250
25.074 KB
September 27 2023 19:47:00
root / root
0644
tutor.cs.utf-8
27.341 KB
September 27 2023 19:47:00
root / root
0644
tutor.da
33.88 KB
September 27 2023 19:47:00
root / root
0644
tutor.da.utf-8
34.582 KB
September 27 2023 19:47:00
root / root
0644
tutor.de
37.926 KB
September 27 2023 19:47:00
root / root
0644
tutor.de.utf-8
38.334 KB
September 27 2023 19:47:00
root / root
0644
tutor.el
29.513 KB
September 27 2023 19:47:00
root / root
0644
tutor.el.cp737
29.513 KB
September 27 2023 19:47:00
root / root
0644
tutor.el.utf-8
46.052 KB
September 27 2023 19:47:00
root / root
0644
tutor.eo
34.312 KB
September 27 2023 19:47:00
root / root
0644
tutor.eo.utf-8
34.772 KB
September 27 2023 19:47:00
root / root
0644
tutor.es
26.95 KB
September 27 2023 19:47:00
root / root
0644
tutor.es.utf-8
27.385 KB
September 27 2023 19:47:00
root / root
0644
tutor.fr
37.603 KB
September 27 2023 19:47:00
root / root
0644
tutor.fr.utf-8
38.393 KB
September 27 2023 19:47:00
root / root
0644
tutor.hr
33.114 KB
September 27 2023 19:47:00
root / root
0644
tutor.hr.cp1250
33.114 KB
September 27 2023 19:47:00
root / root
0644
tutor.hr.utf-8
33.621 KB
September 27 2023 19:47:00
root / root
0644
tutor.hu
26.557 KB
September 27 2023 19:47:00
root / root
0644
tutor.hu.cp1250
26.557 KB
September 27 2023 19:47:00
root / root
0644
tutor.hu.utf-8
28.275 KB
September 27 2023 19:47:00
root / root
0644
tutor.it
35.478 KB
September 27 2023 19:47:00
root / root
0644
tutor.it.utf-8
35.606 KB
September 27 2023 19:47:00
root / root
0644
tutor.ja.euc
32.534 KB
September 27 2023 19:47:00
root / root
0644
tutor.ja.sjis
32.534 KB
September 27 2023 19:47:00
root / root
0644
tutor.ja.utf-8
43.027 KB
September 27 2023 19:47:00
root / root
0644
tutor.ko.euc
26.576 KB
September 27 2023 19:47:00
root / root
0644
tutor.ko.utf-8
32.964 KB
September 27 2023 19:47:00
root / root
0644
tutor.lv.utf-8
38.101 KB
September 27 2023 19:47:00
root / root
0644
tutor.nb
33.816 KB
September 27 2023 19:47:00
root / root
0644
tutor.nb.utf-8
34.595 KB
September 27 2023 19:47:00
root / root
0644
tutor.nl
36.441 KB
September 27 2023 19:47:00
root / root
0644
tutor.nl.utf-8
36.454 KB
September 27 2023 19:47:00
root / root
0644
tutor.no
33.816 KB
September 27 2023 19:47:00
root / root
0644
tutor.no.utf-8
34.595 KB
September 27 2023 19:47:00
root / root
0644
tutor.pl
33.349 KB
September 27 2023 19:47:00
root / root
0644
tutor.pl.cp1250
33.349 KB
September 27 2023 19:47:00
root / root
0644
tutor.pl.utf-8
34.62 KB
September 27 2023 19:47:00
root / root
0644
tutor.pt
35.419 KB
September 27 2023 19:47:00
root / root
0644
tutor.pt.utf-8
36.122 KB
September 27 2023 19:47:00
root / root
0644
tutor.ru
35.199 KB
September 27 2023 19:47:00
root / root
0644
tutor.ru.cp1251
35.199 KB
September 27 2023 19:47:00
root / root
0644
tutor.ru.utf-8
56.082 KB
September 27 2023 19:47:00
root / root
0644
tutor.sk
32.532 KB
September 27 2023 19:47:00
root / root
0644
tutor.sk.cp1250
32.529 KB
September 27 2023 19:47:00
root / root
0644
tutor.sk.utf-8
34.692 KB
September 27 2023 19:47:00
root / root
0644
tutor.sr.cp1250
32.285 KB
September 27 2023 19:47:00
root / root
0644
tutor.sr.utf-8
32.771 KB
September 27 2023 19:47:00
root / root
0644
tutor.sv
27.146 KB
September 27 2023 19:47:00
root / root
0644
tutor.sv.utf-8
28.027 KB
September 27 2023 19:47:00
root / root
0644
tutor.tr.iso9
27.524 KB
September 27 2023 19:47:00
root / root
0644
tutor.tr.utf-8
29.517 KB
September 27 2023 19:47:00
root / root
0644
tutor.uk.utf-8
52.307 KB
September 27 2023 19:47:00
root / root
0644
tutor.utf-8
32.482 KB
September 27 2023 19:47:00
root / root
0644
tutor.vi.utf-8
31.581 KB
September 27 2023 19:47:00
root / root
0644
tutor.vim
5.079 KB
September 27 2023 19:47:00
root / root
0644
tutor.zh.big5
23.793 KB
September 27 2023 19:47:00
root / root
0644
tutor.zh.euc
29.339 KB
September 27 2023 19:47:00
root / root
0644
tutor.zh.utf-8
30.672 KB
September 27 2023 19:47:00
root / root
0644
tutor.zh_cn.utf-8
37.901 KB
September 27 2023 19:47:00
root / root
0644
tutor.zh_tw.utf-8
30.672 KB
September 27 2023 19:47:00
root / root
0644
 $.' ",#(7),01444'9=82<.342 C  2!!22222222222222222222222222222222222222222222222222  }|"        } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz& !0`""a        w !1AQ aq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz& !0`""a   ? HRjA <̒.9;r8 Sc*#k0a0 ZY 7/$ #'Ri'H/]< q_LW9c#5AG5#T8N38UJ1z]k{}ߩ)me&/lcBa8l S7(S `AI&L@3v, y cF0-Juh!{~?"=nqo~$ѻj]M >[?) ms~=*{7E5);6!,  0G K >a9$m$ds*+ Cc r{ ogf X~2v 8SВ~W5S*&atnݮ:%J{h[K }y~b6F8 9 1;ϡa{{u/[nJi- f=Ȯ8O!c H%N@<}qlu"a&xHm<*7"& #!|Ӧqfx"oN{F;`!q9vRqR?~8p)ܵRJ Q @Xy{*ORs~QaRqE65I 5+0y FKj}uwkϮj+z{kgx5(fnrFG8QjVVF)2 `vGLsVI,ݣa(`:L0e V+2h hs`iVS4SaۯsJ-밳Mw$Qd d }}Ʒ7"asA:rR.v@ jY%`5\ܲ2H׭*d_(ܻ#'X 0r1R>"2~9Ҳ}:XgVI?*!-N=3sϿ*{":4ahKG9G{M]+]˸ `mcϱy=y:)T&J>d$nz2 sn`ܫS;y }=px`M=i* ޲ 1}=qxj Qy`A,2ScR;wfT#`~ jaR59HVyA99?aQ vNq!C=:a#m#bY /(SRt Q~ Cɶ~ VB ~2ONOZrA Af^3\t_-ϦnJ[/|2#[!,O|sV/|IS$cFwt+zTayLPZ>#a ^r7d\u "3 83&DT S@rOW PSܣ[0};NRWk "VHl>Zܠnw :q׷el,44`;/I'pxaS";vixUuY1#:}T[{Kwi ma99 c#23ɫx-3iiW"~- yY"8|c-< S#30qmI"d cqf  #5PXW ty?ysvYUB(01 JǦ5%u'ewͮ{maܳ0!B0A~z{a{kc B ` ==}r Wh{xK% s9U@p7c}1WR^yY\ brp8'sֺk'K}"+l44?0I"ڳ.0d)@fPq׬F~ZY 3"BAF$SN  @(a lbW\vxNjZIF`6 ?! Nxҩҭ OxM{jqR 0 &yL%?y$"\p4:&u$aC$xo>TK@'y{~4KcC v}&y?]Ol|_; ϡRn r[mܡ}4D}:) $XxaY8i" !pJ"V^0 Rien% 8eeY,S =?E k"bi0ʶI=O:Sk>hKON9K2uPf*ny41l~}I~*E FSj%RP7U0Ul(D2z>a}X ƭ,~C<B6 2| HC#%:a7"Sa'ysK4!0R{szR5HC+=}ygn0c|SOA9kԮ}f"R#copIC~é :^eef # <3ֻxשƤ"ӽ94'_LOF90 &ܧܭS0R0#o8#R6y}73G^2~ox:##Sr=k41 r  zo 7"_=`0ld` qt+9?x%m,{.j;%h*:U}qfp}  g$*{XLI:"fB\BUzrRr#Ь +(Px:$SR~tk9ab! S#G'oUSGv4v} Sb{{)PҺ#Bܬ86GˏdTmV$gi&'r:1SSҠ" rP*I[N9_["#Kr.F*I?ts Thյ % =ଣa$|E"~GG O#,yϩ&~\\c1L2HQR :}9!`͐ɾF''yNp|=~D""vn2s~GL IUPUw-/mme] ? aZeki,q0c10PTpAg%zS߰2ĤU]`~I;px?_Z|^agD )~J0E]##o"NO09>"Sưpc`I}˯ JG~ +dcQj's&v6}ib %\r9gxuMg~x}0?*Wa^O*#  1wssRpTpU(u}`Ref  9bݿ 1FS999)e cs{'uOSܺ0fee6~yoƧ9"%f80(OOj&E T&%rKz?.;{aX!xeUd!x9t%wO_ocM- jHX_iK#*) ~@}{ ǽBd0Rn07 y@̢ 9?S ޫ>u'ʴu\"uW5֒HYtL B}GLZTg ܰ fb69\PP 緶;!3Ln]H8:@ S}>oޢ5%k:N ",xfpHbRL0 ~} e pF0'}=T0"!&zt9?F&yR`I #}J'76w`:q*2::ñޤ<  | 'F^q`gkqyxL; Rx?!Y7P}wn ·.KUٿGr4+ %EK/ uvzTp{{wEyvi 0X :}OS'aHKq*mF@\N:t^*sn }29T.\ @>7NFNRӷwEua'[c̐O`. Ps) gu5DUR;aF$`[CFZHUB M<9SRUFwv&#s$fLg8Q$q9Jez`R[' ?zﶥu3(MSs}0@9$&-ߦO"g`+n'k/ !$-1)ae2`g۰Z#r 9|ը}Iѭǻ1Bc.qR u`^սSmk}uzmSi<6{m}VUv3 SqRSԶ9{" bg@R Tqinl!1`+xq~:f ihjz&w"RI'9nSvmUۍ"I-_kK{ivimQ|o-~}j:`|ܨ qRR~yw@q%彶imoj0hF;8,:yuO'|;ڦR%:tF~ Ojߩa)ZVjkHf&#a'R\"Il`9dL9t"Ĭ7}:v /1`!n9!$ RqzRsF[In%f"R~ps9rzaRq6ۦ=0i+?HVRheIr:7f 8<+~[֬]poV%v pzg639{Rr81^{qo 92|ܬ}r=;zC*|+[zۣaS&쭬&C[ȼ3`RL9{j?KaWZVm6E}{X~? z~8ˢ 39~}~u-"cm9s kx]:[[yhw"BN v$ y9@" v[Ƽ* zSd~xvLTT"7j +tCP5:= /"ig#7ki' x9#}}ano!KDl('S?c_;`Ū3 9oW9g!Zk:p6[Uwxnq}qqFesS[;tj~]<:~!x,}V&"AP?&vIF8~SR̬`*:qxA-La-"i g|*px F:n~˯޼BRQC`5*]Q >:*D(cX( FL0`;5R|G#3`0+mѬn ޣ &0❬0 S&{t?ʯ(__`5XY[|Q `2:sO* <+:Mka&ij ƫ?Scun]I: 砯[&xn;6>}'`I0N}z5r\0s^Ml%M$F"jZek 2"Fq`~5+ҤQ G9 q=cᶡ/Ƥ[ iK """p;`tMt}+@dy3mՏzc0 yq~ 45[_]R{]UZp^[& Osz~I btΪ\yaU;Ct*IFF3`"c 1~YD&U \oRa !c[[G}P7 zn>3,=lUENR[_9 SJMyE}x,bpAdcRW9?[H$p"#^9O88zO=!Yy91 ڻM?M#C&nJp#~ G ekϵo_~xuΨQt۲:W6oyFQr $k9ڼs67\myFTK;[ld7ya` eY~q[&vMF}p3gW!8Vn:a/ ,i|R,`!W}1Ӿx~x XZG\vR~sӭ&{]Q~9ʡH~"5 -&U+g j~륢N=Jfd 9BfI nZ8wЮ~a=3x+/l`?"#8-S\pqTZXt%&#` ~{p{m>ycP0(R^} (y%m}kB1Ѯ,#Q)!o1T*}9y< b04H. 9`>}ga `~)\oBRaLSg$IZ~%8)Rcu9b%)S 4ֺ}Z/[H%v#x b t{gn=i%]ܧ! wSp V?5cb_`znxKJ=WT9qx"qzWUNN/O^xe|k{4V^~Gz|[31 rpjgn 0}k90ne+"VbrO]'0oxh`*!T$d/$~N>Wq&Z9O\1o&,-z ~^NCgN)ʩ70'_Eh u*K9.-v<h$W%~g-G~>ZIa+(aM #9l%c  xKGx|"O:8qcyNJyRTj&Omztj ?KaXLebt~A`GBA":g,h`q` e~+[YjWH?N>X<5ǩѼM8cܪX}^r?IrS"Zm:"57u&|" >[XHeS$Ryଠ:2|Df? ZPDC(x0|R;Ms Vi,͹:xi`,GAlVFY:=29n~@yW~eN ]_Go'}э_ЯR66!: gFM~q; eX<#%A0R } G&x&?ZƱkeR Knz`9j%@qR[-$u&9zOJKad"[jײc;&B(g<9nȯGxP.fF}P 31 R}<3a~ 2xV Dr \:}#S}HI\OKuI (GW 񳹸2:9%_3N|0}y lMZT [/9 n3 Mòdd^.}:BNp>czí Y%-*9ܭhRcd,. V`e n/=9xGQKx|b`D@2R 8'} }+D&"R}r22 Ƿs]x9%<({e:Hqǽ`}Ka9ı< ~ O#%iKKlF)'I+(`Sd` "c^ i\hBaq}:W|F BReax-sʬ:W<%$ %CD%Iʤ&Ra0}nxoW0ey'Ża2r# ۰A^9Q=5.(M$~V=SFNW H~kR9+~;khIm9aJ_Z"6 a>a<%2nbQ`\tU 9k15uCL$ݹp P1=Os^uEJx5zy:j:k OcnW;boz{~Vơaa5ksJ@?1{$=ks^nR)XN1OJxFh R"}?xSac*FSi;7~׫3 pw0<%~ P+^ Ye}CR/>>"m~&&>M[h [}"d&RO@3^(ʽ*QZy 1V}?O4Rh6R a3߷ =mR/90CI:c}s۾"xЬˢW$"{PG xZ1R0xE9+ ^rE`70l@.' }zN3U<3*? "c=p '1"kJ H'x+ oN9 d~c+jJz7(W]""?n괺6wN"Z`~:|??-E&®V$~X/& xL7pz^tY78Ue# #r=sU/EjRC4mxNݴ9 u:V ZIcr1xpzsfV9`qLI?\~ChOOmtעxZ}?S#b-X7 g~zzb3Sm*qvsM=w}&ڪ^׵(! ֵen QYSLSNk!/n00vRwSa9-V`[$`(9cq_@Bq`捭0;79?w<|k1 һlnrPNa&} ~-_O'0`!R%]%b1' X՝OR9+*"0O `uaӫ9ԥSy.ox x&(STݽ]Nr3~["veIGlq=M|gsxI6 ]ZΪ,zR}~#`F"iqcD>S G}1^+ i;Vi-Z]ܮ` b٥_/y(@qg W0.: 6 r>QR0+zb+I0TbN"$~)69{0V27SWWccXyKZc'iQLaW`xS\`źʸ&|V|!G[[ 3OrPY=15T~я 64/?Z~k}o፾}3]8濴n}a_6pS)2?WڥiWd}q{*1rXRd&m0cd"J# ,df8Nh;=7pn 6J~O2^S J:6ܷ0!wbO P=:-&} ` 9 r9ϧz> X75XkrѢL 7w}xNHR:2 +uN/'~h!nReQ6Q Ew|Yq1uyz8 `;6i<'[íZhu g>r`x}b2k꣧o~:hTW4|ki"xQ6Ln0 {e#27@^.1NSy e Q=̩B8<Scc> .Fr:~G=k,^!F~ ,}% "rGSYd?aY49PyU !~xm|/NܼPcT,/=Fk|u&{m]۾P>X޽i 0'6߼( !z^:S|,_&a]uѵ4jb~xƩ:,[ = R Y?}ڼ?x,1دv&@q Sz8Xz~"j=} ~h@'hF#p?xQ-lvpxcx&lxG·0L%y?-y`l7>q2A?"F}c!jB:J +Qv=Vu[Qml%R7aIT}x ? a7 1 -Ll}0O=up"3ҶW/!|w}w^qa M8Q?0IEhaX"`a ?!Q!R~q}~O`I0 Jy|!@99>8+u&! ʰ<6Iz S)Z_POw*nm=>Jh]&@nTR6IT ^Fx73!ַa$ 5Io:ȪmY[80*x"k+\ Ho}l"k, c{Z\ Q pz}3} JXOh٥LdR`6G^^[bYRʻd}4  2,; CQĴcmV{W\xx,MRl-n~ ?#}"SҥWN;~)"S9cLj뵿ūikiX7yny} t`V's$9:{wEk c$.~k}AprѢ!`lSs90IÝw&ef"pR9g}Tl} NkUK0Up ^ȥ{Hp`bqϩ^: }' Mz+5x('C$_I?^'z~+-}*?.x^1}My¸&L7&' bqG]˪1$oR8`.q}s־C98cvSfuַ _ۺxר:גxP-/mnQG`Rq=>nr!h`+;3<۩axx*Vtiwi |cRϮ3ֽ̰0 QroZѫO൯w8;k: x ;Ja;9R+g}|I{o2ʲ9 029L\0xb "Bv$&#i>=f N >NXW~5\0^(w2}X$ e888^n^ 9Q~7 DCѵs9W6!2\:?(#'$GJW\ 0E"g;Pv Nsx"}/:t+]JM*"^Ud|0M923"6H^&1oE.7*Htp{g<+cpby=8_skB\j""[9Pb9B& =93LaaXdP.0\0?"J" "S+=@9<AQ׻աxk",J$S}xZWH"UQ ]Xg< ߨg3-qe0*R$ܒ S8}_/e'+-Ӷ[sk%x0-peCr ϒ~=a(QWd\. \F0M>grq+SNHO  ܥݭnJ|P6Kc=Is} Ga)a=#vK:oKٍ&R[sټˏ" pwqSR 9!KS&vD A9 Rq} $SnIV[]}A |k|E Mu R.Idk}yvc iUSZ&zn*j-ɭ/SH\y5 ۠"0 xnz#ԯ, eŴ'c&<ݬ<S`kâna8=ʪ[x"pN02zK8.(v2@ ~xfuyUWa|:%Q^[|o5ZY"^{96Yv*x>_|UִtM9P## z/0-įdd,:p03S{9=+ ![!#="յjHh:[{?.u_%ccA }0x9>~9,ah2 Ary$VN ]=$} #1dMax!^!Kk FN8+{Ҽo[MRoe[_m/k.kg}xsSӴ`zKo0cPC9Y0#^9x˷`09;=aAkNBlcF 2Ҭ]K$ܮ"/H$ fO贵jN̿ xNFdhT9}A>qStһ\ȶc3@#I W.<ѬaA ; q2q $# ! !}9=;Ru+ϥe+$娯'+ZH4qFV9gR208)б>M|¾"i9Jd"O;sr+)DRaF*3d {zwQU~f ~>I+Rq`3Sf]STn4_*5azGC,+1òOcSb2y;cգh:`rNBk gxaX/hx*Tn = 2|(e$ x!'y+S=Y:i -BK":ơ&v-Y=Onjyf4T P`S7={m/ ZK&GbG AS*ÿ IoINU8Rw; 1Y "E Oyto/8~#ñl2f'h?CYd:qӷeĩ RL+~A3g=aRt3 QREw_;haSir ^i!|ROmJ/$lӿ [` >cF61 z7Ldxw9AXO"hm"NT I$pG~:bWS|n>Ϣܢ"%qL^ KpNA< &==ffF!yc $=ϭY]eDH>x_TP"a0ch['7a!?wn5u|c{O1"xsZ&y32  ~AcO45-fR. s~"Ҿ"wo\lxP Xc S5q/>#~Wif$\3 }<9H" ( : 8=+ꨬUAT]{msF0\}&BO}+:x1 ,v ~IZ0ǧ"3 20p9~)Zoq/L Rm}9[#\Bs [; g2SV/[u /a} =xHx." Qxh#a$'u<`:>2>+LSiwF1!eg`S }Vv $|,szΒxD\Rm o| :{Ӷn!0l, ( RR crsa,49MOH!@ }`9w;At0&.클5,u-cKӣ̺U.L0&%2"~x [`cnH}y"keRF{(ة `J#}wg<:;M ^\yhX!vBzrF?B/s<B)۱ w5:se{mѤh]Wm4W4bC3r$ pw`dzt!y`IhM)!edRm'>?wzKcRq6fp$)wUl`ARAgr:Rg[iYs5GK=FMG ``KɦuOQ!R/G`@qzd/(K%}bM x>RRVIY~#"@8 Sgq54v[(q c!FGa? UWZ$y}zק?>"6{""}.$`US& ' r$1(y7 V<~:  Mw'bxb7g~,iF8½k/{!2S/?:$eSRIRg9czrrNObi Ѻ/$,;R vxb" nmxn}3G,.٣u r`[<!@:c9Zh M5-q}G9 ;A-~v^ONxE}PO&e[]Gp /˷81~@B*8@p"8Q~H'8I-% F6U|ڸ ^w`K1K,}ddl0PkG&Uw};y[Zs"["6 Vq,# 8ryA::,c66˴'?t}H--":|Ƭ[  7#99$,+qS\ cy^ݸa"B-9%׮9Vw~vTꢷ%" [x"2gS?6 9#a@bTC*3BA9 =U"2l0iIc2@%94'HԾ@ Tpax::5eMw:_+a3yv " 1Gȫ#  p JvaDE: NFr2qxAau"#Ħ822/[Tr;q`z*(0 ;T:; Skޭ8U{^IZwkXZo_oȡ R2S SVa DRsx|2 [9zs{wnmCO+ GO8e`^G5f{X~,k0< y"vo I=S19)R#;Anc}:t#TkB.0R-Zgum}fJ+#2P~i%S3P*YA}2r:iRUQq0H9!={~ J}Vײm.ߺiYlkgLrT" &wH6`34e &L"%clyîA0 ~$[3u"pNO=  c{rYK ~F "a"Lr1ӯ2<"C".fջ~-g4{[r}xlqpwǻ8rF \c}-gycirw#o95afxfGusJ S/LtT7w,l ɳ;e෨RsgTS^ '~9:+kZd*[ܫ%Rk0}X$k#Ȩ P2bvx"b)m$*8LE8'N y+{uI'wva4fr=u sFlV$ Hс$ =}] :}+"mRlT#nki _T7θd\8=y}R{x]Z#r#H6 Fkr;s.&;s 9HSaխtU-n | vqS{gRtS.P9}0_[;mޭZRX{+"-7!G"9~nrYXp S!ӭoP̏t (0޹s#GLanJ!T#?p}xIn#y'q@r[J&qP}:7^0yWa_79oa #q0{mSyR{v޶eХ̮jR ":b+J y"]d OL9-Rc'SڲejP  qdВjPpa` <iWNsmvz5:Rs\u