Разница между 1.41 и текущей версией РедакторVim.
@@ -1,3 +1,4 @@
+= Vim
 
 - Work in progress
 
@@ -48,22 +49,30 @@
  iHello, world!'''<ESC>''':wq
 
 Теперь по порядку о том, что мы сделали:
-	1 ``i`` - команда перехода в режим вставки (После нажатия внизу появляется строка ``-- INSERT --``);
-	1 ``Hello,world!`` - в режиме вставки строка печатается на экран;
-	1 ``'''<ESC>'''`` - возвращаем vim в командный режим;
-	1 ``:wq`` - команда для сохранения файла и выхода из текстового редактора.
+	1 ``i`` — команда перехода в режим вставки (После нажатия внизу появляется строка ``-- INSERT --``);
+	1 ``Hello,world!`` — в режиме вставки строка печатается на экран;
+	1 ``'''<ESC>'''`` — возвращаем vim в командный режим;
+	1 ``:wq`` — команда для сохранения файла и выхода из текстового редактора.
 
--- Перемещение курсора
+- Посимвольное перемещение курсора
 
 Для перемещения курсора по тексту в командном режиме используются клавиши ``hjkl``:
-``h`` - переместить курсор влево,
-``j`` переместить курсор вниз,
-``k`` - переместить курсор вверх,
-``l`` - переместить курсор вправо.
-Использовать ``hjkl`` для перемещения гораздо удобнее, чем тянуть руку к мышке
-или клавишам со стрелками (при слепом десятипальцевом методе набора ваши пальцы уже лежат на клавишах ``jkl``),
 
--- Базовые команды
+	``h`` : переместить курсор влево,
+	``j`` : переместить курсор вниз,
+	``k`` : переместить курсор вверх,
+	``l`` : переместить курсор вправо.
+
+Вы можете использовать клавиши со стрелками (← ↑ → ↓) но использовать ``hjkl`` для перемещения гораздо удобнее, чем тянуть руку к мышке
+или клавишам со стрелками (при слепом десятипальцевом методе набора ваши пальцы уже лежат на клавишах ``jkl``).
+
+- Числовые аргументы
+
+Перед любой командой перемещения курсора можно указать число,
+обозначающее сколько раз команда будет выполнена.
+Например команда 4j перемещает курсор на 4 строки вниз.
+
+- Базовые команды
 
 Команда удаления символа под курсором ``x``.
 
@@ -79,53 +88,53 @@
 определяющее сколько раз команда будет выполнена,
 например для удаления четырёх символов вместо четырёх нажатий на ``x`` можно набрать команду ``4x``
 
--- Пара слов о командном режиме
+- Пара слов о командном режиме
 
 Можно относиться к командам vim как к предложениям.
 
-Есть глаголы (например f - find, d - delete, g - go), есть существительные (например w - word, буквы, числа).
+Есть глаголы (например f — find, d — delete, g — go), есть существительные (например w — word, буквы, числа).
 
 Примеры составления предложений:
-	* Delete till find 'b' (удалить всё до символа 'b') - ``dtfb``
-	* Mark from there to 22 line (выделить всё с текущего символа до 22 строки) - ``vg22g``
+	* Delete till find 'b' (удалить всё до символа 'b') — ``dtfb``
+	* Mark from there to 22 line (выделить всё с текущего символа до 22 строки) — ``vg22g``
 
 Соответственно чем больше вы знаете «слов», тем более сложные и полезные «предложения» вы сможете составлять.
-Вторая часть статьи - краткий конспект различных возможностей и команд vim.
+Вторая часть статьи — краткий конспект различных возможностей и команд vim.
  
--- 1. Режимы Vim
+- 1. Режимы Vim
 
 Помимо описанных выше режимов работы (вставка, командный режим) vim поддерживает множество других.
-Более того, переход может быть выполнен несколькими способами
+Более того, переход между режимами может быть выполнен несколькими способами.
 
---- 1.1 Командный режим
+-- 1.1 Командный режим
 
 Режим по умолчанию. Из него осуществляется переход в другие режимы и выполнение команд.
 
-Клавиша перехода - '''<ESC>'''.
+Клавиша перехода — '''<ESC>'''.
 
 Все команды из разделов 3 - 10 выполняются из этого режима.
 
---- 1.2 Режим ввода
+-- 1.2 Режим ввода
 
 Клавиши перехода:
-	* ``i`` : ввод с текущего символа;
-	* ``a`` - ввод со следующего символа;
-	* ``o`` - перейти в режим ввода с новой строки под курсором;
-	* ``O`` - перейти в режим ввода с новой строки над курсором;
-	* ``I`` - переместиться в начало строки и перейти в режим ввода;
-	* ``A`` - переместиться в конец строки и перейти в режим ввода.
+	* ``i`` — ввод с текущего символа;
+	* ``a`` — ввод со следующего символа;
+	* ``o`` — перейти в режим ввода с новой строки под курсором;
+	* ``O`` — перейти в режим ввода с новой строки над курсором;
+	* ``I`` — переместиться в начало строки и перейти в режим ввода;
+	* ``A`` — переместиться в конец строки и перейти в режим ввода.
 
---- 1.3 Режим выделения
+-- 1.3 Режим выделения
 
 Клавиши перехода:
-	* ``v`` - посимвольное выделение;
-	* ``V`` - построчное выделение.
+	* ``v`` — посимвольное выделение;
+	* ``V`` — построчное выделение.
 
---- 1.4 Режим замены
+-- 1.4 Режим замены
 
-Клавиша перехода - ``R``.
+Клавиша перехода — ``R``.
 
--- 2. Справка
+- 2. Справка
 
 Vim содержит довольно полную документацию, которой можно воспользоваться в любой момент.
 Для её просмотра необходимо использовать команду ``:help``.
@@ -135,21 +144,21 @@
 
  $ '''vimtutor''
 
--- 3. Работа с файлами и сессиями
+- 3. Работа с файлами и сессиями
 
-``:mksession`` - создать файл сессии (в файл Session.vim сохраняется информация о настройках и всех открытых файлах и буферах);
+``:mksession`` — создать файл сессии (в файл Session.vim сохраняется информация о настройках и всех открытых файлах и буферах);
 
-``source Session.vim`` - загрузить файл сессии (все настройки и открытые в прошлый раз окна восстанавливаются);
+``source Session.vim`` — загрузить файл сессии (все настройки и открытые в прошлый раз окна восстанавливаются);
 
-``:e``FILE - открывает FILE на редактирование;
+``:e``FILE — открывает FILE на редактирование;
 
-``:w``[FILE] - записывает сделанные изменения в открытый файл или FILE, если он указан;
+``:w``[FILE] — записывает сделанные изменения в открытый файл или FILE, если он указан;
 
-``:q`` - выход из vim. При ``:q!`` выход без записи сделанных изменений.
+``:q`` — выход из vim. При ``:q!`` выход без записи сделанных изменений.
 
-'''РЕМАРКА:''' - можно смешивать несколько команд в одну. Например - ``:wq``
+'''РЕМАРКА:''' можно смешивать несколько команд в одну. Например — ``:wq``
 
--- 4. Перемещение
+- 4. Перемещение
 
 Перемещение курсора:
 
@@ -160,98 +169,98 @@
 
 '''РЕМАРКА:''' Удобство в том, что при такой раскладке пальцы всегда лежат на большинстве нужных клавиш, и не нужно перемещать руку от букв к клавишам стрелок.
 
-``^`` - курсор в начало строки;
+``^`` — курсор в начало строки;
 
-``$`` - курсор в конец строки;
+``$`` — курсор в конец строки;
 
-``w`` - курсор в начало следующего слова;
+``w`` — курсор в начало следующего слова;
 
-``b`` - курсор в начало предыдущего слова;
+``b`` — курсор в начало предыдущего слова;
 
-``{NUM}gg`` - переход на {NUM} строку;
+``{NUM}gg`` — переход на {NUM} строку;
 
-``G`` - переход в конец файла;
+``G`` — переход в конец файла;
 
-``ctrl + y`` - экран на 1 строку вверх;
+``ctrl + y`` — экран на 1 строку вверх;
 
-``ctrl + e`` - экран на 1 строку вниз;
+``ctrl + e`` — экран на 1 строку вниз;
 
-``ctrl + u`` - экран на 1/2 страницы вверх;
+``ctrl + u`` — экран на 1/2 страницы вверх;
 
-``ctrl + d`` - экран на 1/2 страницы вниз;
+``ctrl + d`` — экран на 1/2 страницы вниз;
 
-``ctrl + b`` - экран на страницу вверх;
+``ctrl + b`` — экран на страницу вверх;
 
-``ctrl + u`` - экран на страницу вверх.
+``ctrl + u`` — экран на страницу вверх.
 
--- 5. Отмена действий
+- 5. Отмена действий
 
-``u`` - отменяет предыдущее действие. Может применяться несколько раз. Аналог комбинации ``ctrl + z``;
+``u`` — отменяет предыдущее действие. Может применяться несколько раз. Аналог комбинации ``ctrl + z``;
 
-``ctrl + r`` отмена отмены предыдущего действия. Аналог комбинации ``ctrl + shift + z``.
+``ctrl + r`` — отмена отмены предыдущего действия. Аналог комбинации ``ctrl + shift + z``.
 
--- 6. Поиск
+- 6. Поиск
 
-``/{regex}`` - поиск регулярного выражения {regex} в текущем файле от курсора к концу файла;
+``/{regex}`` — поиск регулярного выражения {regex} в текущем файле от курсора к концу файла;
 
-``/{regex}`` - поиск регулярного выражения {regex} в текущем файле от курсора к началу файла;
+``/{regex}`` — поиск регулярного выражения {regex} в текущем файле от курсора к началу файла;
 
-``n`` - найти следующее вхождение;
+``n`` — найти следующее вхождение;
 
-``N`` - найти предыдущее вхождение;
+``N`` — найти предыдущее вхождение;
 
-``f{letter} или F{letter}`` - перемещает курсор на следующую (или предыдущую если F) букву {letter} в текущей строке;
+``f{letter} или F{letter}`` — перемещает курсор на следующую (или предыдущую если F) букву {letter} в текущей строке;
 
-``t{letter} или T{letter}`` - перемещает курсор за один символ до следующей (или предыдущей если T) буквы {letter} в текущей строке.
+``t{letter} или T{letter}`` — перемещает курсор за один символ до следующей (или предыдущей если T) буквы {letter} в текущей строке.
 
--- 7. Редактирование
+- 7. Редактирование
 
-``{NUM}dd`` - удаление {NUM} строк;
+``{NUM}dd`` — удаление {NUM} строк;
 
-``{NUM}cc`` - аналог dd, но после удаления переворит редактор в режим ввода;
+``{NUM}cc`` — аналог dd, но после удаления переворит редактор в режим ввода;
 
-``{NUM}yy`` копирование {NUM} строк в буфер обмена;
+``{NUM}yy`` — копирование {NUM} строк в буфер обмена;
 
-``p`` - вставка из буфера обмена после позиции курсора;
+``p`` — вставка из буфера обмена после позиции курсора;
 
-``P`` - вставка из буфера обмена до позиции курсора;
+``P`` — вставка из буфера обмена до позиции курсора;
 
-``x`` - удаление символа под курсором.
+``x`` — удаление символа под курсором.
 
--- 8. Вызов внешних команд
+- 8. Вызов внешних команд
 
-``:!cmd`` - вызывает shell команду cmd для обработки переданных данных. Если данных не передано, показывает вывод команды на экран.
+``:!cmd`` — вызывает shell команду cmd для обработки переданных данных. Если данных не передано, показывает вывод команды на экран.
 
 Пример:
 
-``:!ls`` - листинг файлов в текущей директории;
+``:!ls`` — листинг файлов в текущей директории;
 
-``:%wc -w`` - подсчёт слов в файле.
+``:%wc -w`` — подсчёт слов в файле.
 
 Делаем vim hex-редактором:
 
-``%!xxd`` - конвертирует файл в хекс представление;
+``%!xxd`` — конвертирует файл в хекс представление;
 
-``%!xxd -r`` - конвертирует обратно.
+``%!xxd -r`` — конвертирует обратно.
 
 
--- 9. Прочие полезные команды
+- 9. Прочие полезные команды
 
-``:E`` - Открывает меню выбора файла;
+``:E`` — Открывает меню выбора файла;
 
-``:setlocal`` - показывает текущие локальные переменные.
+``:setlocal`` — показывает текущие локальные переменные.
 
--- 10. Путешествие по меткам
+- 10. Путешествие по меткам
 
 В отношении языков программирования меткой является
 некий объект (функция, переменная, структура, ...).
 Vim позволяет организовать удобное перемещение к определениям меток. 
 
-``ctrl + ]`` - перейти к первому определению метки, находящейся под курсором;
+``ctrl + ]`` — перейти к первому определению метки, находящейся под курсором;
 
-``ctrl + g`` - то же что и ``ctrl + ]``, но показывает меню выбора, если определений несколько;
+``ctrl + g`` — то же что и ``ctrl + ]``, но показывает меню выбора, если определений несколько;
 
-``ctrl + t`` - вернуться обратно.
+``ctrl + t`` — вернуться обратно.
 
 
 Для создания файла, содержащего в себе информацию о расположении меток
@@ -267,7 +276,7 @@
 
  :set tags=TAGFILE
 
--- 11. Файл настроек vimrc
+- 11. Файл настроек vimrc
 
 При запуске редактор считывает настройки, сохранённые в файле ''~/.vimrc''. Те же команды можно установить для текущей сессии vim в командном режиме после двоеточния (Пример: ``:set nu``)
 
@@ -275,21 +284,21 @@
 
 Пример:
 
-``set nu`` - включает нумерацию строк vim;
+``set nu`` — включает нумерацию строк vim;
 
-``set nonu`` - выключает нумерацию;
+``set nonu`` — выключает нумерацию;
 
-``set hls`` - highlight search, подсвечивает искомые слова;
+``set hls`` — highlight search, подсвечивает искомые слова;
 
-``set ic`` - ignore case, игнорирует регистр букв при поиске;
+``set ic`` — ignore case, игнорирует регистр букв при поиске;
 
-``syntax on`` - включает подсветку синтаксиса.
+``syntax on`` — включает подсветку синтаксиса.
 
--- 12. Полезные дополнения vimrc
+- 12. Полезные дополнения vimrc
 
 Работа с файлами в windows(cp1251) кодировке
 
-===
+==={vim}
 set fileencodings=cp1251,utf-8
 if has("x11") == 0
   set enc=cp1251
@@ -298,7 +307,7 @@
 
 Добавление привычных комбинаций ``'''<ctrl>'''+c``, ``'''ctrl'''+v``, ``'''ctrl'''+a``
 
-===
+==={vim}
 function! CopyAll()
   let n = line('.')
   normal gg"+yG
@@ -313,12 +322,33 @@
 
 Мэппинг русских клавиш, для того чтобы не приходилось переключать раскладку для командного режима.
 
+==={vim}
+
+"russian keys support
+set langmap=йq,цw,уe,кr,еt,нy,гu,шi,щo,зp,фa,ыs,вd,аf,пg,рh,оj,лk,дl,яz,чx,сc
+set langmap+=мv,иb,тn,ьm,ЙQ,ЦW,УE,КR,ЕT,НY,ГU,ШI,ЩO,ЗP,ФA,ЫS,ВD,АF,ПG,РH,ОJ,ЛK
+set langmap+=ДL,ЯZ,ЧX,СC,МV,ИB,ТN,ЬM,х[,Х{,ъ],ж\\;,Ж:,э',Э\\",б\\,,Б<,ю.,Ю>,Ё~
+
 ===
-.LP
-set langmap=йq ,цw ,уe ,кr ,еt ,нy ,гu ,шi ,щo ,зp ,фa ,ыs ,вd ,аf,пg ,рh ,оj ,лk ,дl ,яz ,чx ,сc ,мv ,иb ,тn ,ьm ,ЙQ ,ЦW ,УE ,КR ,ЕT ,НY ,ГU ,ШI ,ЩO ,ЗP ,ФA ,ЫS ,ВD ,АF ,ПG ,РH ,ОJ ,ЛK ,ДL ,ЯZ ,ЧX ,СC ,МV ,ИB ,ТN ,ЬM ,х[[ ,Х{ ,ъ]] ,ж\\; ,Ж: ,э' ,Э\\" ,б\\, ,Б< ,ю. ,Ю>
+
+Nazi-режим, с помощью которого можно бороться за чистоту кода.
+Подсвечивает лишние пробелы в конце строк.
+
+==={vim}
+
+function HlSpaces()
+	highlight ExtraWhitespace ctermbg=red guibg=red
+	"autocmd ColorScheme * highlight ExtraWhitespace ctermbg=red guibg=red
+	au BufWinEnter * match ExtraWhitespace /\s\+$/
+	au InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
+	au InsertLeave * match ExtraWhitespace /\s\+$/
+endfunction
+
+au FileType c call HlSpaces()
+
 ===
 
--- 13. Плагины
+- 13. Плагины
 
 Для упрощения работы в VIM в интернете можно найти множество плагинов.
 Их установка довольно проста (обычно нужно просто поместить файлы в папку '''~/.vim/''').
@@ -343,7 +373,7 @@
 Плагин отображает дерево каталогов начиная с выбранного корня.
 Довольно удобно для просмотра больших проектов.
 
--- 14. Используемые источники
+- 14. Используемые источники
 
 
 %R(