r758 - in /trunk/packages/vim: debian/README debian/changelog upstream/patches/7.0.077 upstream/patches/7.0.078 upstream/patches/7.0.079 upstream/patches/7.0.080 upstream/patches/7.0.081 upstream/patches/7.0.082 upstream/patches/7.0.083

zack at users.alioth.debian.org zack at users.alioth.debian.org
Sun Sep 3 20:52:26 UTC 2006


Author: zack
Date: Sun Sep  3 20:52:25 2006
New Revision: 758

URL: http://svn.debian.org/wsvn/pkg-vim/?sc=1&rev=758
Log:
patches up to 83

Added:
    trunk/packages/vim/upstream/patches/7.0.077
    trunk/packages/vim/upstream/patches/7.0.078
    trunk/packages/vim/upstream/patches/7.0.079
    trunk/packages/vim/upstream/patches/7.0.080
    trunk/packages/vim/upstream/patches/7.0.081
    trunk/packages/vim/upstream/patches/7.0.082
    trunk/packages/vim/upstream/patches/7.0.083
Modified:
    trunk/packages/vim/debian/README
    trunk/packages/vim/debian/changelog

Modified: trunk/packages/vim/debian/README
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/debian/README?rev=758&op=diff
==============================================================================
--- trunk/packages/vim/debian/README (original)
+++ trunk/packages/vim/debian/README Sun Sep  3 20:52:25 2006
@@ -101,3 +101,10 @@
   6819  7.0.074  (extra) Win32: tooltips can be in the wrong encoding
   1495  7.0.075  winsaveview() could store wrong desired cursor column
   2635  7.0.076  (after 7.0.010) could not get spell files from non-ftp server
+  2799  7.0.077  crash when unletting a v: variable
+  1968  7.0.078  there are two error messages called E46
+ 51669  7.0.079  vimtutor doesn't work for Russian when 'encoding' is utf-8
+  1759  7.0.080  compile error when CFLAGS contains a backslash
+  2043  7.0.081  command line completion doesn't work for ":!/path"
+  2850  7.0.082  crash when using List or Dict argument and waiting for input
+  3001  7.0.083  mouse doesn't work for all entries with inputlist()

Modified: trunk/packages/vim/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/debian/changelog?rev=758&op=diff
==============================================================================
--- trunk/packages/vim/debian/changelog (original)
+++ trunk/packages/vim/debian/changelog Sun Sep  3 20:52:25 2006
@@ -1,7 +1,7 @@
 vim (1:7.0-076+1) UNRELEASED; urgency=medium
 
   [ Debian Vim Maintainers ]
-  * New upstream patches (036 - 076), see README.gz for details.
+  * New upstream patches (036 - 083), see README.gz for details.
   * Urgency medium because of the fix to vim-lesstif's crash bug.
 
   [ James Vega ]

Added: trunk/packages/vim/upstream/patches/7.0.077
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.0.077?rev=758&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.0.077 (added)
+++ trunk/packages/vim/upstream/patches/7.0.077 Sun Sep  3 20:52:25 2006
@@ -1,0 +1,98 @@
+To: vim-dev at vim.org
+Subject: Patch 7.0.077
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.0.077
+Problem:    ":unlet v:this_session" causes a crash. (Marius Roets)
+Solution:   When trying to unlet a fixed variable give an error message.
+Files:	    src/eval.c
+
+
+*** ../vim-7.0.076/src/eval.c	Tue Aug 29 21:59:25 2006
+--- src/eval.c	Sat Sep  2 13:43:20 2006
+***************
+*** 701,706 ****
+--- 701,707 ----
+  static void list_one_var_a __ARGS((char_u *prefix, char_u *name, int type, char_u *string));
+  static void set_var __ARGS((char_u *name, typval_T *varp, int copy));
+  static int var_check_ro __ARGS((int flags, char_u *name));
++ static int var_check_fixed __ARGS((int flags, char_u *name));
+  static int tv_check_lock __ARGS((int lock, char_u *name));
+  static void copy_tv __ARGS((typval_T *from, typval_T *to));
+  static int item_copy __ARGS((typval_T *from, typval_T *to, int deep, int copyID));
+***************
+*** 3364,3369 ****
+--- 3365,3372 ----
+  	hi = hash_find(ht, varname);
+  	if (!HASHITEM_EMPTY(hi))
+  	{
++ 	    if (var_check_fixed(HI2DI(hi)->di_flags, name))
++ 		return FAIL;
+  	    if (var_check_ro(HI2DI(hi)->di_flags, name))
+  		return FAIL;
+  	    delete_var(ht, hi);
+***************
+*** 17818,17824 ****
+  }
+  
+  /*
+!  * Return TRUE if di_flags "flags" indicate read-only variable "name".
+   * Also give an error message.
+   */
+      static int
+--- 17821,17827 ----
+  }
+  
+  /*
+!  * Return TRUE if di_flags "flags" indicates variable "name" is read-only.
+   * Also give an error message.
+   */
+      static int
+***************
+*** 17834,17839 ****
+--- 17837,17859 ----
+      if ((flags & DI_FLAGS_RO_SBX) && sandbox)
+      {
+  	EMSG2(_(e_readonlysbx), name);
++ 	return TRUE;
++     }
++     return FALSE;
++ }
++ 
++ /*
++  * Return TRUE if di_flags "flags" indicates variable "name" is fixed.
++  * Also give an error message.
++  */
++     static int
++ var_check_fixed(flags, name)
++     int		flags;
++     char_u	*name;
++ {
++     if (flags & DI_FLAGS_FIX)
++     {
++ 	EMSG2(_("E795: Cannot delete variable %s"), name);
+  	return TRUE;
+      }
+      return FALSE;
+*** ../vim-7.0.076/src/version.c	Tue Aug 29 22:35:11 2006
+--- src/version.c	Sat Sep  2 13:39:36 2006
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     77,
+  /**/
+
+-- 
+            ### Hiroshima 45, Chernobyl 86, Windows 95 ###
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Added: trunk/packages/vim/upstream/patches/7.0.078
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.0.078?rev=758&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.0.078 (added)
+++ trunk/packages/vim/upstream/patches/7.0.078 Sun Sep  3 20:52:25 2006
@@ -1,0 +1,52 @@
+To: vim-dev at vim.org
+Subject: Patch 7.0.078
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.0.078
+Problem:    There are two error messages E46.
+Solution:   Change the number for the sandbox message to E794.
+Files:	    src/globals.h
+
+
+*** ../vim-7.0.077/src/globals.h	Sun Apr 30 20:32:38 2006
+--- src/globals.h	Sat Sep  2 13:12:55 2006
+***************
+*** 1441,1447 ****
+  EXTERN char_u e_readonly[]	INIT(= N_("E45: 'readonly' option is set (add ! to override)"));
+  #ifdef FEAT_EVAL
+  EXTERN char_u e_readonlyvar[]	INIT(= N_("E46: Cannot change read-only variable \"%s\""));
+! EXTERN char_u e_readonlysbx[]	INIT(= N_("E46: Cannot set variable in the sandbox: \"%s\""));
+  #endif
+  #ifdef FEAT_QUICKFIX
+  EXTERN char_u e_readerrf[]	INIT(= N_("E47: Error while reading errorfile"));
+--- 1441,1447 ----
+  EXTERN char_u e_readonly[]	INIT(= N_("E45: 'readonly' option is set (add ! to override)"));
+  #ifdef FEAT_EVAL
+  EXTERN char_u e_readonlyvar[]	INIT(= N_("E46: Cannot change read-only variable \"%s\""));
+! EXTERN char_u e_readonlysbx[]	INIT(= N_("E794: Cannot set variable in the sandbox: \"%s\""));
+  #endif
+  #ifdef FEAT_QUICKFIX
+  EXTERN char_u e_readerrf[]	INIT(= N_("E47: Error while reading errorfile"));
+*** ../vim-7.0.077/src/version.c	Sat Sep  2 13:45:01 2006
+--- src/version.c	Sat Sep  2 14:08:12 2006
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     78,
+  /**/
+
+-- 
+"Intelligence has much less practical application than you'd think."
+		  -- Scott Adams, Dilbert.
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Added: trunk/packages/vim/upstream/patches/7.0.079
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.0.079?rev=758&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.0.079 (added)
+++ trunk/packages/vim/upstream/patches/7.0.079 Sun Sep  3 20:52:25 2006
@@ -1,0 +1,957 @@
+To: vim-dev at vim.org
+Subject: Patch 7.0.079
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.0.079
+Problem:    Russian tutor doesn't work when 'encoding' is "utf-8".
+Solution:   Use tutor.ru.utf-8 as the master, and generate the other encodings
+	    from it.  Select the right tutor depending on 'encoding'. (Alexey
+	    Froloff)
+Files:	    runtime/tutor/Makefile, runtime/tutor/tutor.vim,
+	    runtime/tutor/tutor.ru.utf-8
+
+
+*** ../vim-7.0.079/runtime/tutor/Makefile	Sun Jun 13 20:35:48 2004
+--- runtime/tutor/Makefile	Fri Sep  1 20:38:20 2006
+***************
+*** 2,9 ****
+  #
+  # The Japanese tutor exists in three encodings.  Use the UTF-8 version as the
+  # original and create the others with conversion.
+  
+! all: tutor.ja.sjis tutor.ja.euc tutor.ko.euc
+  
+  tutor.ja.sjis: tutor.ja.utf-8
+  	nkf -WXs tutor.ja.utf-8 > tutor.ja.sjis
+--- 2,13 ----
+  #
+  # The Japanese tutor exists in three encodings.  Use the UTF-8 version as the
+  # original and create the others with conversion.
++ #
++ # Similarly for Russian and Korean
+  
+! all: tutor.ja.sjis tutor.ja.euc \
+! 	tutor.ko.euc \
+! 	tutor.ru tutor.ru.cp1251
+  
+  tutor.ja.sjis: tutor.ja.utf-8
+  	nkf -WXs tutor.ja.utf-8 > tutor.ja.sjis
+***************
+*** 13,15 ****
+--- 17,25 ----
+  
+  tutor.ko.euc: tutor.ko.utf-8
+  	iconv -f UTF-8 -t EUC-KR tutor.ko.utf-8 > tutor.ko.euc
++ 
++ tutor.ru: tutor.ru.utf-8
++ 	iconv -f UTF-8 -t KOI8-R tutor.ru.utf-8 > tutor.ru
++ 
++ tutor.ru.cp1251: tutor.ru.utf-8
++ 	iconv -f UTF-8 -t cp1251 tutor.ru.utf-8 > tutor.ru.cp1251
+*** ../vim-7.0.079/runtime/tutor/tutor.vim	Sat Mar 18 22:36:12 2006
+--- runtime/tutor/tutor.vim	Sat Sep  2 12:06:47 2006
+***************
+*** 1,6 ****
+  " Vim tutor support file
+  " Author: Eduardo F. Amatria <eferna1 at platea.pntic.mec.es>
+! " Last Change:	2006 Mar 18
+  
+  " This small source file is used for detecting if a translation of the
+  " tutor file exist, i.e., a tutor.xx file, where xx is the language.
+--- 1,6 ----
+  " Vim tutor support file
+  " Author: Eduardo F. Amatria <eferna1 at platea.pntic.mec.es>
+! " Last Change:	2006 Sep 02
+  
+  " This small source file is used for detecting if a translation of the
+  " tutor file exist, i.e., a tutor.xx file, where xx is the language.
+***************
+*** 103,113 ****
+    let s:ext = ".sk.cp1250"
+  endif
+  
+! " The Russian tutor is available in two encodings, guess which one to use.
+! " This segment is from the above lines and modified by
+! " Alexey I. Froloff <raorn at altlinux.org> for Russian vim tutorial
+! if s:ext =~? '\.ru' && &enc =~ 1251
+!   let s:ext = ".ru.cp1251"
+  endif
+  
+  " Somehow ".ge" (Germany) is sometimes used for ".de" (Deutsch).
+--- 103,117 ----
+    let s:ext = ".sk.cp1250"
+  endif
+  
+! " The Russian tutor is available in three encodings, guess which one to use.
+! if s:ext =~? '\.ru'
+!   if &enc == 'utf-8'
+!     let s:ext = '.ru.utf-8'
+!   elseif &enc =~ '1251'
+!     let s:ext = '.ru.cp1251'
+!   elseif &enc =~ 'koi8'
+!     let s:ext = '.ru'
+!   endif
+  endif
+  
+  " Somehow ".ge" (Germany) is sometimes used for ".de" (Deutsch).
+*** ../vim-7.0.079/runtime/tutor/tutor.ru.utf-8	Sat Sep  2 14:53:18 2006
+--- runtime/tutor/tutor.ru.utf-8	Fri Sep  1 20:33:59 2006
+***************
+*** 0 ****
+--- 1,834 ----
++ ===============================================================================
++ =    Д о б р о   п о ж а л о в а т ь   в   у ч е б н и к   VIM  -  Версия 1.5 =
++ ===============================================================================
++      Vim --- это очень мощный редактор, имеющий множество команд, слишком
++      много для того, чтобы иÑ
 все можно было описать в таком учебнике, как
++      этот. Этот учебник призван объяснить достаточное число команд для того,
++      чтобы Вы могли с легкостью использовать Vim в качестве редактора общего
++      назначения.
++ 
++      Вам потребуется приблизительно 25-30 минут на освоение данного учебника в
++      зависимости от того, сколько времени Вы потратите на эксперименты.
++ 
++      Команды в урокаÑ
 будут модифицировать текст. Создайте копию этого файла,
++      чтобы попрактиковаться на ней (если Вы запустили "vimtutor", то это уже
++      копия).
++ 
++      Важно помнить, что этот учебник предназначен для обучения в процессе
++      использования. Это означает, что Вы должны запускать команды для того,
++      чтобы как следует иÑ
 изучить. Если Вы просто прочитаете текст, то
++      забудете команды!
++ 
++      Теперь убедитесь в том, что клавиша CapsLock не включена и нажмите
++      клавишу   j   несколько раз, так, чтобы Урок 1.1 полностью поместился на
++      экране.
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 			Урок 1.1:  ПЕРЕМЕЩЕНИЕ КУРСОРА
++ 
++ ** Для перемещения курсора нажмите клавиши h,j,k,l так, как показано ниже. **
++ 	     ^
++ 	     k		Советы:	Клавиша h наÑ
одится слева и перемещает влево.
++        < h	 l >		Клавиша l наÑ
одится справа и перемещает вправо.
++ 	     j			Клавиша j поÑ
ожа на стрелку `вниз'.
++ 	     v
++   1. Подвигайте курсор по экрану, пока не почувствуете себя уверенно.
++ 
++   2. Надавите клавишу `вниз' (j) пока она не начнет повторяться.
++ ---> Теперь Вы знаете, как перейти к следующему уроку.
++ 
++   3. Используя клавишу `вниз' перейдите к Уроку 1.2.
++ 
++ Замечание: Если вы пока не уверены в том, что набираете, нажмите <ESC> для
++ 	   переÑ
ода в обычный режим (Normal mode). После этого перенаберите
++ 	   требуемую команду.
++ 
++ Замечание: Обычные клавиши управления курсором (стрелки) также должны
++ 	   работать. Однако, клавиши hjkl позволят Вам перемещаться
++ 	   значительно быстрее, как только Вы научитесь ими пользоваться.
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 		  Урок 1.2: ЗАПУСК И ЗАВЕРШЕНИЕ РАБОТЫ С VIM
++ 
++ !! ВНИМАНИЕ! Прежде, чем выполнять любой из описанныÑ
 ниже шагов, прочтите
++ 			       урок целиком !!
++ 
++   1. Нажмите клавишу <ESC> (для того, чтобы удостовериться, что Вы в обычном
++      режиме (Normal mode)).
++ 
++   2. Наберите:			:q! <ENTER>.
++ 
++ ---> Это позволит Вам выйти из редактора БЕЗ СОХРАНЕНИЯ любыÑ
 сделанныÑ

++      изменений. Если Ð’Ñ‹ Ñ
отите соÑ
ранить изменения и выйти:
++ 				:wq  <ENTER>
++ 
++   3. Когда Вы увидите приглашение командной оболочки, наберите команду,
++      которая привела Вас в этот учебник. Это может быть
++ 				vimtutor ru <ENTER>
++      Обычно можно использовать:	vim tutor.ru <ENTER>
++ 
++ ---> 'vim' позволяет запустить редактор vim, 'tutor.ru' --- это файл, который
++      Вы будете редактировать.
++ 
++   4. Если Вы уверены в том, что запомнили эти шаги, выполните шаги от 1 до 3
++      чтобы выйти снова запустить редактор. Затем переместите курсор вниз к
++      Уроку 1.3.
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 		  Урок 1.3: РЕДАКТИРОВАНИЕ ТЕКСТА - УДАЛЕНИЕ
++ 
++ 
++ ** НаÑ
одясь в обычном режиме нажмите x, чтобы удалить символ под курсором. **
++ 
++   1. Переместите курсор к строке внизу, помеченной --->.
++ 
++   2. Для исправления ошибок, переместите курсор, пока он не окажется над
++      удаляемым символом.
++ 
++   3. Нажмите клавишу x для удаления требуемого символа.
++ 
++   4. Повторите шаги 2--4 пока строка не будет исправлена.
++ 
++ ---> От тттопота копытт пппыль ппо ппполю леттитт.
++ 
++   5. Теперь, когда строка откорректирована, переÑ
одите к уроку 1.4.
++ 
++ ЗАМЕЧАНИЕ: Ð’ Ñ
оде освоения этого учебника не пытайтесь запоминать, учите
++ 	   в процессе использования.
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 		  Урок 1.4: РЕДАКТИРОВАНИЕ ТЕКСТА - ВСТАВКА
++ 
++ 
++  ** НаÑ
одясь в обычном режиме (Normal mode), нажмите i для вставки текста. **
++ 
++   1. Переместите курсор к первой строке внизу, помеченной --->.
++ 
++   2. Для того, чтобы сделать первую строку идентичной второй, поместите
++      курсор на символ ПЕРЕД которым следует вставить текст.
++ 
++   3. Нажмите i и наберите требуемые добавления.
++ 
++   4. После исправления всеÑ
 ошибок нажмите <ESC> для возврата в обычный режим.
++      Повторите шаги 2--4, пока фраза не будет исправлена полностью.
++ 
++ ---> Часть текста в строке беследно .
++ ---> Часть текста в этой строке бесследно пропала.
++ 
++   5. Когда освоите вставку текста, переÑ
одите дальше к Резюме.
++ 
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 				РЕЗЮМЕ УРОКА 1
++ 
++   1. Курсор перемещается либо клавишами со стрелками, либо клавишами hjkl.
++ 	 h (влево)	j (вниз)       k (вверÑ
)	    l (вправо)
++ 
++   2. Для запуска Vim (из приглашения % командной оболочки) наберите:
++      vim ИМЯ_ФАЙЛА <ENTER>
++ 
++   3. Для завершения работы с Vim наберите:
++      <ESC>   :q!	 <ENTER>  чтобы отказаться от соÑ
ранения изменений.
++      Или наберите:
++      <ESC>   :wq	 <ENTER>  чтобы соÑ
ранить изменения.
++ 
++   4. Для удаления символа под курсором в обычном режиме, наберите: x
++ 
++   5. Чтобы вставить текст перед курсором в обычном режиме, наберите:
++ 	 i     вводите текст	<ESC>
++ 
++ ЗАМЕЧАНИЕ: Нажатие <ESC> переместит Вас в обычный режим (Normal mode) либо
++ 	   прервет нежелательную и частично завершенную команду.
++ 
++ Теперь переÑ
одим к Уроку 2.
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 			  Урок 2.1: КОМАНДЫ УДАЛЕНИЯ
++ 
++ 
++ 	** Наберите dw для удаления участка текста до конца слова. **
++ 
++   1. Нажмите <ESC>, чтобы перейти в обычный режим.
++ 
++   2. Переместите курсор вниз, к строке, помеченной --->.
++ 
++   3. Переместите курсор в начало слова, которое следует удалить.
++ 
++   4. Наберите  dw , чтобы удалить это слово.
++ 
++ ЗАМЕЧАНИЕ: Во время набора буквы dw появятся в последней строке экрана. Если
++ 	   Вы что-то наберете неправильно, нажмите <ESC> и начните сначала.
++ 
++ ---> Несколько слов рафинад в этом предложении автокран излишни.
++ 
++   5. Повторите шаги 3 и 4, пока не исправите все ошибки и переÑ
одите к
++      Уроку 2.2.
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 		  Урок 2.2: ДОПОЛНИТЕЛЬНЫЕ КОМАНДЫ УДАЛЕНИЯ
++ 
++ 
++ 	    ** Наберите d$ для удаления текста до конца строки. **
++ 
++   1. Нажмите <ESC>, чтобы перейти в обычный режим.
++ 
++   2. Переместите курсор вниз, к строке, помеченной --->.
++ 
++   3. Переместите курсор к концу правильной строки (ПОСЛЕ первой . ).
++ 
++   4. Чтобы удалить остаток строки, наберите  d$ .
++ 
++ ---> Кто-то набрал окончание этой строки дважды. окончание этой строки дважды.
++ 
++ 
++   5.Чтобы лучше разобраться в этом, переÑ
одите к Уроку 2.3.
++ 
++ 
++ 
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 			 Урок 2.3: КОМАНДЫ И ОБЪЕКТЫ
++ 
++ 
++   Формат команды `удаление' d таков:
++ 
++ 	 [число]   d	объект	    ИЛИ	     d	 [число]   объект
++   Здесь:
++     число  - сколько раз исполнить команду (необязательно, по умолчанию=1).
++     d      - команда удаления.
++     объект - с чем команда должна быть выполнена (перечислено ниже).
++ 
++   Краткий список объектов:
++     w - от курсора до конца слова, включая завершающий пробел.
++     e - от курсора до конца слова, НЕ включая завершающий пробел.
++     $ - от курсора до конца строки.
++     ^ - от курсора до начала строки.
++ 
++ ЗАМЕЧАНИЕ: Простое нажатие на символ объекта в обычном режиме (Normal mode)
++ 	   без дополнительныÑ
 команд передвинет курсор так, как указано в
++ 	   списке объектов.
++ 
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 	       Урок 2.4: ИСКЛЮЧЕНИЕ ИЗ ПРАВИЛА `КОМАНДА-ОБЪЕКТ'
++ 
++ 
++ 		 ** Наберите dd для удаления всей строки. **
++ 
++   Вследствие частого применения операции удаления всей строки, разработчики
++   Vim решили, что для этого проще всего просто набрать d дважды.
++ 
++   1. Переместите курсор вниз, ко второй строке фразы.
++   2. Наберите dd для удаления строки.
++   3. Теперь переместитесь к четвертой строке.
++   4. Наберите 2dd (вспомните правило `число-команда-объект'), чтобы удалить
++      две строки.
++ 
++       1)  Летом я Ñ
ожу на стадион,
++       2)  О, как внезапно кончился диван!
++       3)  Я болею за ``Зенит'', ``Зенит'' --- чемпион!
++       4)  Печально я гляжу на наше поколение!
++       5)  Его грядущее иль пусто иль темно...
++       6)  Я сижу на скамейке в ложе `Б'
++       7)  И играю на большой жестяной трубе.
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 			  Урок 2.5: КОМАНДА `ОТКАТ'
++ 
++ 
++   ** Нажмите u	для отмены результата работы предыдущей команды, U для отмены
++ 			исправлений во всей строке. **
++ 
++   1. Переместите курсор вниз, к строке, помеченной ---> и установите его на
++      первую ошибку.
++   2. Нажмите x для удаления первого неправильного символа.
++   3. Теперь нажмите u для отмены (отката) последней выполненной команды.
++   4. Исправьте все ошибки в строке, используя команду x .
++   5. Теперь нажмите заглавную U для того, чтобы вернуть всю строку в исÑ
одное
++      состояние.
++   6. Нажмите u несколько раз для отмены команды U и предыдущиÑ
 команд.
++   7. Нажмите теперь CTRL-R (удерживайте клавишу CTRL нажатой в момент нажатия
++   R)     несколько раз для возврата команд (откат отката).
++ 
++ ---> Испрравьте оошибки в этойй строке и вернитте иÑ
 сс помощьью `отката'.
++ 
++   8. Это были очень полезные команды. Далее переÑ
одите к Резюме Урока 2.
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 				РЕЗЮМЕ УРОКА 2
++ 
++ 
++   1. Для удаления текста от курсора до конца слова наберите:    dw
++ 
++   2. Для удаления текста от курсора до конца строки наберите:    d$
++ 
++   3. Для удаления всей строки наберите:    dd
++ 
++   4. Формат команды в обычном режиме имеет вид:
++ 
++        [число]   команда   объект     ИЛИ     команда	[число]   объект
++      где:
++        число   - сколько раз повторить выполнение команды
++        команда - что выполнить, например d для удаления
++        объект  - на что должна воздействовать команда, например w (слово),
++ 		$ (до конца строки), и т.д.
++ 
++   5. Для отмены (отката) предшествующиÑ
 действий наберите:  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.2.
++ 
++ ЗАМЕЧАНИЕ: Помните, что вы должны учиться в процессе работы, а не просто
++ 	   запоминая.
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 			 Урок 3.3: КОМАНДА ИЗМЕНЕНИЯ
++ 
++ 
++ 		** Для изменения части слова наберите cw . **
++ 
++   1. Переместите курсор вниз, к строке, помеченной --->.
++ 
++   2. Расположите курсор над буквой `o' в слове `сола'.
++ 
++   3. Наберите cw и исправьте слово (в данном случае, наберите `лов'.)
++ 
++   4. Нажмите <ESC> и переÑ
одите к следующей ошибке (к первому символу, который
++      надо изменить.)
++ 
++   5. Повторите шаги 3--4 пока первое предложение не станет идентичным второму.
++ 
++ ---> Несколько сола в эьгц строке тпгшцбь редалзкуюиесвÑ
.
++ ---> Несколько слов в этой строке требуют редактирования.
++ 
++ Обратите внимание, что cw не только заменяет слово, но и переводит вас в режим
++ вставки.
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 		  Урок 3.4: ПРОДОЛЖАЕМ ИЗМЕНЯТЬ С КОМАНДОЙ c
++ 
++ 
++ ** Команда замены используется с теми же объектами, что и команда удаления. **
++ 
++   1. Команда изменения применяется таким же образом, как и команда удаления.
++      Ее формат таков:
++ 
++        [число]   c   объект	   ИЛИ	    c	[число]   объект
++ 
++   2. Объекты также совпадают: w (слово), $ (конец строки) и т.п.
++ 
++   3. Переместите курсор вниз, к строке, помеченной --->.
++ 
++   4. Перейдите к первой ошибке.
++ 
++   5. Наберите c$ и отредактируйте первую строку так, чтобы она совпадала со
++      второй, после чего нажмите <ESC>.
++ 
++ ---> Конец этой строки нуждается в помощи, чтобы стать поÑ
ожим на второй.
++ ---> Конец этой строки нуждается в помощи команды c$ .
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 				РЕЗЮМЕ УРОКА 3
++ 
++ 
++   1. Для вставки текста, который только что был удален, наберите p . Эта
++      команда вставит удаленный текст ПОСЛЕ курсора (если была удалена строка,
++      то она будет помещена в строке под курсором).
++ 
++   2. Для замены символа под курсором наберите r и затем заменяющий символ.
++ 
++   3. Команда изменения позволяет Вам изменить указанный объект от курсора до
++      конца этого объекта. Например, наберите cw для замены от курсора до
++      конца слова, c$ для изменения до конца строки.
++ 
++   4. Формат команды изменения таков:
++ 
++ 	 [число]   c	объект	      ИЛИ	c   [число]   объект
++ 
++ Теперь отправляйтесь к следующему уроку.
++ 
++ 
++ 
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 	      Урок 4.1: ИНФОРМАЦИЯ О ФАЙЛЕ И РАСПОЛОЖЕНИЕ В НЕМ
++ 
++ 
++  ** Наберите CTRL-g чтобы увидеть Ваше месторасположение в файле и информацию
++ 				    о нем.
++ 	Наберите SHIFT-G для перемещения к заданной строке в файле. **
++ 
++   Замечание: Прочитайте весь урок прежде чем выполнять любые команды!!
++ 
++   1. Удерживая клавишу Ctrl нажмите g . Внизу экрана появится строка статуса с
++      именем файла и номером строки, в которой Ð’Ñ‹ наÑ
одитесь. Запомните номер
++      строки, он потребуется на Шаге 3.
++ 
++   2. Нажмите shift-G для перемещения к концу файла.
++ 
++   3. Наберите номер строки, в которой вы наÑ
одились и затем shift-G. Это
++      вернет Вас к строке, в которой Вы были, когда в первый раз нажали Ctrl-g.
++      (Когда Вы будете набирать цифры, они НЕ отобразятся на экране.)
++ 
++   4. Если Вы запомнили все вышесказанное, выполните шаги 1--3.
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 			   Урок 4.2: КОМАНДА ПОИСКА
++ 
++ 	      ** Наберите  /  и затем введите искомую фразу. **
++ 
++   1. В обычном режиме (Normal mode) наберите символ  / . Обратите внимание,
++      что он вместе с курсором появится внизу экрана, как это происÑ
одит с
++      командой :	.
++ 
++   2. Теперь наберите 'ошшшибка' <ENTER>. Это то слово, которое Вы будете
++      искать.
++ 
++   3. Для того, чтобы повторить поиск, просто нажмите n .
++      Для поиска этой фразы в обратном направлении, нажмите Shift-N .
++ 
++   4. Если Вы желаете сразу искать в обратном направлении, используйте
++      команду ? вместо / .
++ 
++ ---> Когда Вы при поиске достигнете конца файла, поиск будет продолжен с
++      начала.
++ 
++   "ошшшибка" это не способ произнесения слова `ошибка';  ошшшибка это ошибка.
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 			Урок 4.3: ПОИСК ПАРНЫХ СКОБОК
++ 
++ 
++ 		** Наберите % для поиска парныÑ
 ),] или } . **
++ 
++   1. Поместите курсор над любой из (, [ или { в строке внизу, помеченной --->.
++ 
++   2. Теперь наберите символ % .
++ 
++   3. Курсор должен перескочить на парную скобку.
++ 
++   4. Наберите % для возврата курсора назад к первой скобке.
++ 
++ ---> Это ( строка, содержащая такие (, такие [ ] и такие { } скобки. ))
++ 
++ Замечание: Это очень удобно при отладке программ с пропущенными скобками!
++ 
++ 
++ 
++ 
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 		      Урок 4.4: СПОСОБ ИСПРАВЛЕНИЯ ОШИБОК
++ 
++ 
++ 	 ** Наберите :s/было/стало/g для замены 'было' на 'стало'. **
++ 
++   1. Переместите курсор вниз, к строке, помеченной --->.
++ 
++   2. Наберите :s/уводю/увожу <ENTER> . Обратите внимание на то, что эта команда
++      заменит только первое найденное вÑ
ождение в строке.
++ 
++   3. Теперь наберите :s/уводю/увожу/g , означающее подстановку глобально во
++      всей строке. Это заменит все найденные в строке вÑ
ождения.
++ 
++ ---> Я уводю к отверженным селеньям, я уводю сквозь вековечный стон, я уводю к
++      забытым поколеньям.
++ 
++   4. Для замены всеÑ
 вÑ
ождений последовательности символов между двумя
++      строками,
++      наберите :#,#s/было/стало/g  где #,# --- номера этиÑ
 строк.
++      Наберите :%s/было/стало/g    для замены всеÑ
 вÑ
ождений во всем файле.
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 				РЕЗЮМЕ УРОКА 4
++   1. Ctrl-g показывает ваше положение в файле и информацию о нем.
++      Shift-G перемещает Вас в конец файла. Номер, за которым следует Shift-G
++      позволяет перейти к строке с этим номером.
++ 
++   2. Нажатие / и затем ввод строки позволяет произвести поиск этой строки
++      ВПЕРЕД по тексту.
++      Нажатие ? и затем ввод строки позволяет произвести поиск этой строки
++      НАЗАД по тексту.
++      После поиска наберите n для переÑ
ода к следующему вÑ
ождению искомой
++      строки в том же направлении или Shift-N для переÑ
ода в противоположном
++      направлении.
++ 
++   3. Нажатие % , когда курсор наÑ
одится на (,),[,],{, или } позволяет найти
++      парную скобку.
++ 
++   4. Для подстановки `стало' вместо первого `было' в строке, наберите
++      :s/old/new
++      Для подстановки `стало' вместо всеÑ
 `было' в строке, наберите
++      :s/old/new/g
++      Для замены в интервале между двумя строками, наберите
++      :#,#s/old/new/g
++      Для замены всеÑ
 вÑ
ождений `было' на `стало' в файле, наберите
++      :%s/old/new/g
++      Чтобы редактор каждый раз запрашивал подтверждение, добавьте 'c'
++      :%s/old/new/gc
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 		   Урок 5.1: КАК ВЫПОЛНИТЬ ВНЕШНЮЮ КОМАНДУ
++ 
++ 
++     ** Наберите :! и затем внешнюю команду, которую следует выполнить. **
++ 
++   1. Наберите уже знакомую Вам команду : для установки курсора в командную
++      строку редактора. Это позволит Вам ввести команду.
++ 
++   2. Теперь наберите символ ! (восклицательный знак). Теперь можно исполнить
++      внешнюю команду, используя командную оболочку.
++ 
++   3. Для примера наберите ls после ! и нажмите <ENTER>. Эта команда выведет
++      список файлов в текущем каталоге, точно также, как если бы Вы ввели эту
++      команду в приглашении оболочки. Или попробуйте :!dir , если предыдущая
++      команда не сработала.
++ 
++ ---> Замечание: Таким способом можно выполнить любую внешнюю команду.
++ 
++ ---> Замечание: Все команды, начинающиеся с : , должны завершаться нажатием
++      <ENTER>.
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 			 Урок 5.2: КАК ЗАПИСАТЬ ФАЙЛ
++ 
++ 
++ ** Для соÑ
ранения изменений, произведенныÑ
 в файле, наберите :w ИМЯ_ФАЙЛА. **
++ 
++   1. Наберите :!dir или :!ls для получения списка файлов в текущем каталоге.
++      Как Вам уже известно, Ð’Ñ‹ должны нажать <ENTER> после ввода этиÑ
 команд.
++ 
++   2. Придумайте название для файла, которое еще не существует, например TEST.
++ 
++   3. Теперь наберите :w TEST (где TEST --- это имя файла, придуманное Вами.)
++ 
++   4. Эта команда соÑ
ранит весь файл (Учебник по Vim) под именем TEST. Чтобы
++      удостовериться в этом, снова наберите :!dir и просмотрите каталог.
++ 
++ ---> Заметьте, что если Вы выйдете из Vim и затем запустите его снова с
++      файлом TEST, этот файл будет точной копией учебника в тот момент, когда
++      Ð’Ñ‹ его соÑ
ранили.
++ 
++   5. Теперь удалите этот файл, набрав :!del TEST
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 		       Урок 5.3: ВЫБОРОЧНОЕ СОХРАНЕНИЕ
++ 
++ 
++ 	 ** Для соÑ
ранения части файла, наберите :#,# w ИМЯ_ФАЙЛА **
++ 
++   1. Еще раз наберите :!dir или :!ls для получения списка файлов в текущем
++      каталоге и выберите подÑ
одящее имя, например TEST.
++ 
++   2. Переместите курсор к началу этой страницы и нажмите Ctrl-g для наÑ
ождения
++      номера строкиto. ЗАПОМНИТЕ ЭТОТ НОМЕР!
++ 
++   3. Теперь переместитесь в конец страницы и вновь наберите Ctrl-g. ЗАПОМНИТЕ
++      И ЭТОТ НОМЕР ТОЖЕ!
++ 
++   4. Для соÑ
ранения ТОЛЬКО ЧАСТИ файла наберите :#,# w TEST , где #,# --- это
++      номера, которые Вы запомнили (начало, конец), а TEST --- имя вашего файла.
++ 
++   5. Как и прежде, убедитесь в наличии этого файла командой :!dir , но НЕ
++      УДАЛЯЙТЕ его.
++ 
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 		    Урок 5.4: ЧТЕНИЕ И ОБЪЕДИНЕНИЕ ФАЙЛОВ
++ 
++ 	  ** Для вставки содержимого файла, наберите  :r FILENAME **
++ 
++   1. Наберите :!dir для того, чтобы убедиться в том, что файл TEST все еще
++      существует.
++ 
++   2. Установите курсор в верÑ
ней части этой страницы.
++ 
++ Замечание: После выполнения шага 3 Вы увидите Урок 5.3.	После этого
++ 	   перемещайтесь ВНИЗ, снова к этому уроку.
++ 
++   3. Теперь прочитайте Ваш файл TEST, используя команду :r TEST , где
++      TEST --- это имя файла.
++ 
++ Замечание: Прочитанный Вами файл будет вставлен в том месте, где наÑ
одится
++ 	   курсор.
++ 
++   4. Чтобы убедиться в том, что файл прочитан, переместитесь немного назад по
++      тексту и заметьте, что теперь существуют две копии Урока 5.3, исÑ
одная
++      и полученная из файла.
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 				РЕЗЮМЕ УРОКА 5
++ 
++ 
++   1.  :!команда  исполняет внешнюю команду.
++ 
++       Некоторые полезные примеры:
++ 	  :!dir --- выводит список файлов в каталоге.
++ 	  :!del FILENAME --- удаляет файл FILENAME.
++ 
++   2.  :w FILENAME записывает текущий редактируемый файл на диск
++       под именем FILENAME.
++ 
++   3.  :#,#w FILENAME соÑ
раняет строки от # до # в файл FILENAME.
++ 
++   4.  :r FILENAME считывает с диска файл FILENAME и помещает его в текущий
++       файл следом за позицией курсора.
++ 
++ 
++ 
++ 
++ 
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 			  Урок 6.1: КОМАНДА СОЗДАНИЯ
++ 
++ 
++  ** Наберите o чтобы создать пустую строку под курсором и перейти в режим
++ 			   вставки (Insert mode) **
++ 
++   1. Переместите курсор вниз, к строке, помеченной --->.
++ 
++   2. Наберите o (в нижнем регистре) для того, чтобы создать пустую строку
++      НИЖЕ курсора и перейти в режим вставки (Insert mode).
++ 
++   3. Теперь скопируйте помеченную ---> строку и нажмите <ESC> для выÑ
ода из
++      режима вставки.
++ 
++ ---> После нажатия o курсор перейдет на новую пустую строку в режиме вставки.
++ 
++   4. Для создания строки ВЫШЕ курсора, просто наберите заглавную O, вместо
++      строчной o. Попробуйте проделать это с нижеследующей строкой.
++ Создайте новую строку над этой, нажав Shift-O, поместив курсор на эту строку.
++ 
++ 
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 			 Урок 6.2: КОМАНДА ДОБАВЛЕНИЯ
++ 
++ 	    ** Наберите a , чтобы вставить текст ПОСЛЕ курсора. **
++ 
++   1. Переместите курсор вниз, в конец первой строки, помеченной ---> ,
++      набрав $ в обычном режиме (Normal mode).
++ 
++   2. Наберите a (в нижнем регистре) для добавления текста ПОСЛЕ символа,
++      наÑ
одящегося под курсором. (Заглавная A позволяет добавить в конец
++      строки.)
++ 
++ Замечание: Это позволяет избежать нажатия i , последнего символа, текста для
++ 	   вставки, <ESC>, курсор-вправо, и, наконец, x , просто для того,
++ 	   чтобы добавить тест в конец строки!
++ 
++   3. Теперь завершите первую строку. Заметьте также, что добавление это в
++      точности то же самое, что и режим вставки, за исключением позиции, в
++      которую будет вставлен текст.
++ 
++ ---> Эта строчка позволит Вам попрактиковаться
++ ---> Эта строчка позволит Вам попрактиковаться в добавлении текста в конец
++      строки.
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 		       Урок 6.3: ЕЩЕ ОДИН СПОСОБ ЗАМЕНЫ
++ 
++ 
++        ** Наберите заглавную R для замены более, чем одного символа. **
++ 
++   1. Переместите курсор вниз, к строке, помеченной --->.
++ 
++   2. Расположите курсор в начале первого слова, отличающегося от
++      соответствующего в следующей строке, помеченной ---> (слово 'последней').
++ 
++   3. Теперь наберите R и замените остаток текста в первой строке, набрав
++      поверÑ
 старого текста так, чтобы обе строки стали одинаковыми.
++ 
++ ---> Первую строку можно сравнять с последней, используя клавиши.
++ ---> Первую строку можно сравнять с второй, используя R и набрав новый текст.
++ 
++   4. Обратите внимание, что при нажатии <ESC> для завершения, любой
++      не измененный текст соÑ
ранится.
++ 
++ 
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 			Урок 6.4: УСТАНОВКА ПАРАМЕТРОВ
++ 
++ 
++ ** Установим параметры так, чтобы игнорировать регистр при поиске или замене **
++ 
++ 
++   1. Поищите слово 'игнорировать', набрав:
++      /игнорировать
++      Повторите поиск несколько раз, нажимая клавишу n
++ 
++   2. Включите параметр 'ic' (Игнорировать регистр), набрав:
++      :set ic
++ 
++   3. Теперь снова сделайте поиск слова 'игнорировать', нажав: n
++      Повторите поиск несколько раз, нажимая клавишу n
++ 
++   4. Включите параметры 'hlsearch' и 'incsearch':
++      :set hls is
++ 
++   5. Теперь опять введите команду поиска и посмотрите, что получится:
++      /игнорировать
++ 
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 				РЕЗЮМЕ УРОКА 6
++ 
++ 
++   1. Нажатие o создает строку НИЖЕ курсора и перемещает курсор в нее в режиме
++      вставки.
++      Нажатие заглавной O создает строку ВЫШЕ строки, в которой наÑ
одится
++      курсор.
++ 
++   2. Наберите a для вставки текста ПОСЛЕ символа, на котором наÑ
одится курсор.
++      Нажатие заглавной A автоматически перемещает Вас для добавления текста
++      в конец строки.
++ 
++   3. Нажатие заглавной R переводит Вас в режим замены до теÑ
 пор, пока не
++      будет нажата клавиша <ESC> для завершения.
++ 
++   4. Набрав ":set xxx" вы сможете включить параметр "xxx"
++ 
++ 
++ 
++ 
++ 
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 		 Урок 7: КОМАНДЫ ПОЛУЧЕНИЯ ВСТРОЕННОЙ СПРАВКИ
++ 
++ 	       ** Используйте встроенную справочную систему **
++ 
++   Vim обладает мощной встроенной справочной системой. Для начала попробуйте
++   один из треÑ
 вариантов:
++ 	- нажмите клавишу <HELP> (если таковая имеется на клавиатуре)
++ 	- нажмите клавишу <F1> (если таковая имеется на клавиатуре)
++ 	- наберите   :help <ENTER>
++ 
++   Наберите   :q <ENTER>   чтобы закрыть окно справки.
++ 
++   Вы можете найти справку для любого понятия или команды, просто задав
++   соответствующий аргумент команде ":help". Попробуйте следующее (не забудьте
++   нажать <ENTER>):
++ 
++   :help w
++   :help c_<T
++   :help insert-index
++ 
++ 
++ 
++ 
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ 		     Урок 8: СОЗДАНИЕ СТАРТОВОГО СКРИПТА
++ 
++ 			** Включим возможности Vim **
++ 
++   Vim имеет намного больше возможностей, чем Vi, однако большинствао из ниÑ

++   выключены по умолчанию. Для того, чтобы начать использовать новые
++   возможности Вам следует создать файл "vimrc".
++ 
++   1. Отредактируйте файл "vimrc", его расположение зависит от используемой
++      системы:
++ 
++        :edit ~/.vimrc			для Unix
++        :edit $VIM/_vimrc		для MS-Windows
++ 
++   2. Теперь прочитайте пример файла "vimrc":
++ 
++        :read $VIMRUNTIME/vimrc_example.vim
++ 
++   3. Запишите файл:
++ 
++        :write
++ 
++   Теперь при следующем запуске Vim будет включена подсветка синтаксиса. Все
++   настройки, предпочитаемые Вами, могут быть добавлены в файл "vimrc".
++ 
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++   На этом завершается Учебник Vim. Он был предназначен для того, чтобы дать
++   общее представление о редакторе Vim, достаточное для того, чтобы с легкостью
++   использовать его. Учебник далек от полноты, поскольку Vim имеет очень много
++   команд. Прочитайте теперь руководство пользователя: ":help user-manual".
++ 
++   Для дальнейшего чтения рекомендуется книга:
++ 	Vim - Vi Improved - Автор: Steve Oualline
++ 	Издатель: New Riders
++   Эта книга полностью посвящена Vim. Особенно полезна новичкам. Содержит
++   множество примеров и иллюстраций.
++   Взгляните на See http://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 at mines.colorado.edu.
++ 
++   Доработано для Vim Bram Moolenaar.
++ 
++   Перевод: Андрей Киселев <a_kissel at eudoramail.com>, 2002.
++   Translator: Andrey Kiselev <a_kissel at eudoramail.com>, 2002.
++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*** ../vim-7.0.079/src/version.c	Sat Sep  2 14:53:09 2006
+--- src/version.c	Sat Sep  2 14:20:15 2006
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     79,
+  /**/
+
+-- 
+Eight Megabytes And Continually Swapping.
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Added: trunk/packages/vim/upstream/patches/7.0.080
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.0.080?rev=758&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.0.080 (added)
+++ trunk/packages/vim/upstream/patches/7.0.080 Sun Sep  3 20:52:25 2006
@@ -1,0 +1,57 @@
+To: vim-dev at vim.org
+Subject: Patch 7.0.080
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.0.080
+Problem:    Generating auto/pathdef.c fails for CFLAGS with a backslash.
+Solution:   Double backslashes in the string. (Alexey Froloff)
+Files:	    src/Makefile
+
+
+*** ../vim-7.0.079/src/Makefile	Sat Sep  2 15:31:29 2006
+--- src/Makefile	Fri Sep  1 21:00:29 2006
+***************
+*** 2261,2267 ****
+  auto/osdef.h: auto/config.h osdef.sh osdef1.h.in osdef2.h.in
+  	CC="$(CC) $(OSDEF_CFLAGS)" srcdir=$(srcdir) sh $(srcdir)/osdef.sh
+  
+! QUOTESED = sed -e 's/"/\\"/g' -e 's/\\"/"/' -e 's/\\";$$/";/'
+  auto/pathdef.c: Makefile auto/config.mk
+  	- at echo creating $@
+  	- at echo '/* pathdef.c */' > $@
+--- 2262,2268 ----
+  auto/osdef.h: auto/config.h osdef.sh osdef1.h.in osdef2.h.in
+  	CC="$(CC) $(OSDEF_CFLAGS)" srcdir=$(srcdir) sh $(srcdir)/osdef.sh
+  
+! QUOTESED = sed -e 's/[\\"]/\\&/g' -e 's/\\"/"/' -e 's/\\";$$/";/'
+  auto/pathdef.c: Makefile auto/config.mk
+  	- at echo creating $@
+  	- at echo '/* pathdef.c */' > $@
+*** ../vim-7.0.079/src/version.c	Sat Sep  2 14:54:17 2006
+--- src/version.c	Sat Sep  2 16:35:50 2006
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     80,
+  /**/
+
+-- 
+E  M  A  C  S
+s  e  l  o  h
+c  t  t  n  i
+a  a     t  f
+p        r  t
+e        o
+         l
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Added: trunk/packages/vim/upstream/patches/7.0.081
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.0.081?rev=758&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.0.081 (added)
+++ trunk/packages/vim/upstream/patches/7.0.081 Sun Sep  3 20:52:25 2006
@@ -1,0 +1,67 @@
+To: vim-dev at vim.org
+Subject: Patch 7.0.081
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.0.081
+Problem:    Command line completion doesn't work for a shell command with an
+	    absolute path.
+Solution:   Don't use $PATH when there is an absolute path.
+Files:	    src/ex_getln.c
+
+
+*** ../vim-7.0.080/src/ex_getln.c	Wed Aug 16 16:24:58 2006
+--- src/ex_getln.c	Sat Sep  2 17:51:03 2006
+***************
+*** 4521,4527 ****
+      flags |= EW_FILE | EW_EXEC;
+  
+      /* For an absolute name we don't use $PATH. */
+!     if ((pat[0] == '.' && (vim_ispathsep(pat[1])
+  			    || (pat[1] == '.' && vim_ispathsep(pat[2])))))
+  	path = (char_u *)".";
+      else
+--- 4521,4529 ----
+      flags |= EW_FILE | EW_EXEC;
+  
+      /* For an absolute name we don't use $PATH. */
+!     if (mch_isFullName(pat))
+! 	path = (char_u *)" ";
+!     else if ((pat[0] == '.' && (vim_ispathsep(pat[1])
+  			    || (pat[1] == '.' && vim_ispathsep(pat[2])))))
+  	path = (char_u *)".";
+      else
+***************
+*** 4534,4539 ****
+--- 4536,4544 ----
+      ga_init2(&ga, (int)sizeof(char *), 10);
+      for (s = path; *s != NUL; s = e)
+      {
++ 	if (*s == ' ')
++ 	    ++s;	/* Skip space used for absolute path name. */
++ 
+  #if defined(MSDOS) || defined(MSWIN) || defined(OS2)
+  	e = vim_strchr(s, ';');
+  #else
+*** ../vim-7.0.080/src/version.c	Sat Sep  2 16:36:46 2006
+--- src/version.c	Sat Sep  2 17:54:35 2006
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     81,
+  /**/
+
+-- 
+TALL KNIGHT OF NI: Ni!
+                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Added: trunk/packages/vim/upstream/patches/7.0.082
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.0.082?rev=758&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.0.082 (added)
+++ trunk/packages/vim/upstream/patches/7.0.082 Sun Sep  3 20:52:25 2006
@@ -1,0 +1,103 @@
+To: vim-dev at vim.org
+Subject: Patch 7.0.082
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.0.082
+Problem:    Calling a function that waits for input may cause List and
+	    Dictionary arguments to be freed by the garbage collector.
+Solution:   Keep a list of all arguments to internal functions.
+Files:	    src/eval.c
+
+
+*** ../vim-7.0.081/src/eval.c	Sat Sep  2 13:45:01 2006
+--- src/eval.c	Sun Sep  3 15:36:10 2006
+***************
+*** 248,253 ****
+--- 248,264 ----
+  };
+  
+  /*
++  * Struct used to make a list of all arguments used in internal functions.
++  */
++ typedef struct av_list_item_S av_list_item_T;
++ struct av_list_item_S {
++     av_list_item_T  *avl_next;
++     typval_T	    *avl_argvars;
++ };
++ 
++ av_list_item_T *argvars_list = NULL;
++ 
++ /*
+   * Info used by a ":for" loop.
+   */
+  typedef struct
+***************
+*** 6058,6063 ****
+--- 6069,6075 ----
+      int		i;
+      funccall_T	*fc;
+      int		did_free = FALSE;
++     av_list_item_T *av;
+  #ifdef FEAT_WINDOWS
+      tabpage_T	*tp;
+  #endif
+***************
+*** 6094,6099 ****
+--- 6106,6116 ----
+  	set_ref_in_ht(&fc->l_avars.dv_hashtab, copyID);
+      }
+  
++     /* arguments for internal functions */
++     for (av = argvars_list; av != NULL; av = av->avl_next)
++ 	for (i = 0; av->avl_argvars[i].v_type != VAR_UNKNOWN; ++i)
++ 	    set_ref_in_item(&av->avl_argvars[i], copyID);
++ 
+      /*
+       * 2. Go through the list of dicts and free items without the copyID.
+       */
+***************
+*** 7537,7545 ****
+--- 7554,7574 ----
+  		    error = ERROR_TOOMANY;
+  		else
+  		{
++ 		    av_list_item_T  av_list_item;
++ 
++ 		    /* Add the arguments to the "argvars_list" to avoid the
++ 		     * garbage collector not seeing them.  This isn't needed
++ 		     * for user functions, because the arguments are available
++ 		     * in the a: hashtab. */
++ 		    av_list_item.avl_argvars = argvars;
++ 		    av_list_item.avl_next = argvars_list;
++ 		    argvars_list = &av_list_item;
++ 
+  		    argvars[argcount].v_type = VAR_UNKNOWN;
+  		    functions[i].f_func(argvars, rettv);
+  		    error = ERROR_NONE;
++ 
++ 		    argvars_list = av_list_item.avl_next;
+  		}
+  	    }
+  	}
+*** ../vim-7.0.081/src/version.c	Sat Sep  2 17:58:36 2006
+--- src/version.c	Sun Sep  3 15:35:16 2006
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     82,
+  /**/
+
+-- 
+Just think of all the things we haven't thought of yet.
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Added: trunk/packages/vim/upstream/patches/7.0.083
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.0.083?rev=758&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.0.083 (added)
+++ trunk/packages/vim/upstream/patches/7.0.083 Sun Sep  3 20:52:25 2006
@@ -1,0 +1,91 @@
+To: vim-dev at vim.org
+Subject: Patch 7.0.083
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.0.083
+Problem:    Clicking with the mouse on an item for inputlist() doesn't work
+	    when 'compatible' is set and/or when 'cmdheight' is more than one.
+	    (Christian J.  Robinson)
+Solution:   Also decrement "lines_left" when 'more' isn't set.  Set
+	    "cmdline_row" to zero to get all mouse events.
+Files:	    src/message.c, src/misc1.c
+
+
+*** ../vim-7.0.082/src/message.c	Sat May 13 13:12:49 2006
+--- src/message.c	Sun Sep  3 14:32:00 2006
+***************
+*** 1925,1931 ****
+  	     * If screen is completely filled and 'more' is set then wait
+  	     * for a character.
+  	     */
+! 	    if (p_more && --lines_left == 0 && State != HITRETURN
+  					    && !msg_no_more && !exmode_active)
+  	    {
+  #ifdef FEAT_CON_DIALOG
+--- 1925,1932 ----
+  	     * If screen is completely filled and 'more' is set then wait
+  	     * for a character.
+  	     */
+! 	    --lines_left;
+! 	    if (p_more && lines_left == 0 && State != HITRETURN
+  					    && !msg_no_more && !exmode_active)
+  	    {
+  #ifdef FEAT_CON_DIALOG
+*** ../vim-7.0.082/src/misc1.c	Tue Aug 15 22:26:04 2006
+--- src/misc1.c	Sun Sep  3 16:33:48 2006
+***************
+*** 3196,3209 ****
+      else
+  	MSG_PUTS(_("Choice number (<Enter> cancels): "));
+  
+!     /* Set the state such that text can be selected/copied/pasted. */
+      save_cmdline_row = cmdline_row;
+!     cmdline_row = Rows - 1;
+      save_State = State;
+!     if (mouse_used == NULL)
+! 	State = CMDLINE;
+!     else
+! 	State = NORMAL;
+  
+      i = get_number(TRUE, mouse_used);
+      if (KeyTyped)
+--- 3196,3207 ----
+      else
+  	MSG_PUTS(_("Choice number (<Enter> cancels): "));
+  
+!     /* Set the state such that text can be selected/copied/pasted and we still
+!      * get mouse events. */
+      save_cmdline_row = cmdline_row;
+!     cmdline_row = 0;
+      save_State = State;
+!     State = CMDLINE;
+  
+      i = get_number(TRUE, mouse_used);
+      if (KeyTyped)
+*** ../vim-7.0.082/src/version.c	Sun Sep  3 15:38:02 2006
+--- src/version.c	Sun Sep  3 16:36:58 2006
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     83,
+  /**/
+
+-- 
+       "To whoever finds this note -
+       I have been imprisoned by my father who wishes me to marry
+       against my will.  Please please please please come and rescue me.
+       I am in the tall tower of Swamp Castle."
+   SIR LAUNCELOT's eyes light up with holy inspiration.
+                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///




More information about the pkg-vim-maintainers mailing list