summaryrefslogtreecommitdiffhomepage
path: root/ru-ru
diff options
context:
space:
mode:
Diffstat (limited to 'ru-ru')
-rw-r--r--ru-ru/vim-ru.html.markdown237
1 files changed, 237 insertions, 0 deletions
diff --git a/ru-ru/vim-ru.html.markdown b/ru-ru/vim-ru.html.markdown
new file mode 100644
index 00000000..5b7b96e6
--- /dev/null
+++ b/ru-ru/vim-ru.html.markdown
@@ -0,0 +1,237 @@
+---
+category: tool
+tool: vim
+contributors:
+ - ["RadhikaG", "https://github.com/RadhikaG"]
+translators:
+ - ["Anton Slukovskiy", "https://github.com/slukovskiy"]
+filename: LearnVim-ru.txt
+lang: ru-ru
+---
+
+[Vim](www.vim.org)
+(Vi IMproved) это клон полулярного текстового редактора для Unix. Он разработан
+с целью повышения скорости и продуктивности и повсеместно используется в
+большинство Юникс-подобных систем. В нем имеется множество клавиатурных
+сочетаний для быстрой навигации к определенным точкам в файле и быстрого
+редактирования.
+
+## Основы навигации в vim
+
+```
+ vim <filename> # Открыть <filename> в vim
+ :q # Выйти из vim
+ :w # Сохранить текущий файл
+ :wq # Сохранить и выйти
+ :q! # Выйти из vim не сохраняя файл
+
+ :x # Сохранить файл и выйти из vim, короткая версия :wq
+
+ u # Отмена последней команды
+ CTRL+R # Отмена отмены
+
+ h # Переместить курсор на один символ влево
+ j # Переместить курсор на один символ вниз
+ k # Переместить курсор на один символ вверх
+ l # Переместить курсор на один символ вправо
+
+ # Перемещение по строке
+
+ 0 # Переместить курсор к началу строки
+ $ # Переместить курсор к концу строки
+ ^ # Переместить курсор к первому непустому символу в строке
+
+ # Поиск в тексте
+
+ /<word> # Подсветить все вхождения <word> в тексте после курсора
+ ?<word> # Подсветить все вхождения <word> в тексте до курсора
+ n # Передвигает курсор к следующему вхождения искомого слова
+ N # Передвигает курсор к предыдущему вхождения искомого слова
+
+ :%s/foo/bar/g # Меняет 'foo' на 'bar' во всем файле
+ :s/foo/bar/g # Меняет 'foo' на 'bar' на текущей строке
+
+ # Переходы к символу
+
+ f<character> # Перенести курсор к <character>
+ t<character> # Перенести курсор вперед и остановиться прямо перед <character>
+
+ # Например,
+ f< # Перести курсор и остановиться на <
+ t< # Перенсти курсор и остановиться прямо перед <
+
+ # Перемещение по словам
+
+ w # Переместиться вперед на одно слово
+ b # Перенеститься назад на одно слово
+ e # Перейти к концу текущего слова
+
+ # Другие команды для передвижения по тексту
+
+ gg # Перейти к началу файла
+ G # Перейти к концу файла
+ :NUM # Перейти к строке под номером NUM (NUM может быть любым числом)
+ H # Переместить курсор к верхнему краю экрана
+ M # Переместить курсор к середине экрана
+ L # Переместить курсор к нижнему краю экрана
+```
+
+## Режимы:
+
+Vim основывается на концепте **режимов**.
+
+Командный режим - vim запускается в этом режиме по-умолчанию, используется для
+навигации и ввода комманд
+Режим ввода - используется для внесения изменений в файле
+Визуальный режим - используется для подсветки текста и выполнения операций над ним
+Режим командной строки - используется для ввода команд в нижнем углу экрана после символа ':'
+
+```
+ i # Переводит vim в режим вставки перед позицией курсора
+ a # Переводит vim в режим вставки после позиции курсора
+ v # Переводит vim в визуальный режим
+ : # Переводит vim в режим командной строки
+ <esc> # Выходит из любого режима в котором вы находитесь в командный режим
+
+ # Копирование и вставка текста
+
+ y # Скопировать выделенное
+ yy # Скопировать текущую строку
+ d # Удалить выделенное
+ dd # Удалить текущую строку
+ p # Вставить скопированный текст после текущей позиции курсора
+ P # Вставить скопированный текст перед текущей позицией курсора
+ x # Удалить символ под текущей позицией курсора
+```
+
+## 'Грамматика' vim
+
+Vim можно рассматривать как набор команд в формате 'Глагол-Модификатор-Существительное', где:
+
+Глагол - ваше действие
+Модификатор - то как вы его выполняете
+Существительное - объект над которым вы его выполняете
+
+Несколько важных пример 'Глаголов', 'Модификаторов', и 'Существительных':
+
+```
+ # 'Глаголы'
+
+ d # Удалить
+ c # Изменить
+ y # Скопировать
+ v # Визуально выделить
+
+ # 'Модификаторы'
+
+ i # Внутри
+ a # Снаружи
+ NUM # Число
+ f # Ищет что-то и останавливается на нем
+ t # Ищет что-то и останавливается перед ним
+ / # Ищет строку после курсора
+ ? # Ищет строку перед курсором
+
+ # 'Существительные'
+
+ w # Слово
+ s # Предложение
+ p # Параграф
+ b # Блок
+
+ # Образцы 'предложений' или команд
+
+ d2w # Удалить 2 слова
+ cis # Изменить объемлющее предложение
+ yip # Скопировать объемлющий параграф
+ ct< # Изменяет текст от курсора до следующей открывающей скобки
+ d$ # Удалить все от положения курсора до конца строки
+```
+
+## Некоторые сокращения и хитрости
+
+ <!--TODO: Add more!-->
+```
+ > # Сдвинуть выделенное на один отступ вправо
+ < # Сдвинуть выделенное на один отступ влево
+ :earlier 15m # Возвращает документ к состоянию в котором он был 15 минут назад
+ :later 15m # Отменяет предыдущую команду
+ ddp # Меняет позиции последовательных строк, сначала dd затем p
+ . # Повторяет предыдущее действие
+```
+
+## Макросы
+
+Макросы это просто записываемые действия.
+Во время записи макросы запоминают **все** действия и команды до тех пор пока
+запись не будет остановлена.При вызове макрос применяет ту же самую последовательность
+действий и команд на выделенном тексте.
+
+```
+ qa # Начать запись макроса под именем 'a'
+ q # Закончить запись
+ @a # Выполнить макрос
+```
+
+### Настройка ~/.vimrc
+
+Файл .vimrc может использоваться для настройки Vim при запуске.
+
+Вот пример файла ~/.vimrc:
+
+```
+" Пример ~/.vimrc
+" 2015.10
+
+" Отключает совместимость со старым vi
+set nocompatible
+
+" Определяет тип файла по его имени для разрешения автоматических отступов и т. д.
+filetype indent plugin on
+
+" Включает подсветку синтаксиса
+syntax on
+
+" Улучшенное автодополнение команд
+set wildmenu
+
+" Использовать поиск не чувствительный к регистру
+" за исключением использования заглавный букв
+set ignorecase
+set smartcase
+
+" Копирует отступы с текущей строки при добавлении новой
+set autoindent
+
+" Показывать номера строк
+set number
+
+" Настройки отступов, изменяйте по собственному вкусу
+
+" Количество видимых пробелов на один символ табуляции
+set tabstop=4
+
+" Количество пробелов в символе табуляции при редактировании
+set softtabstop=4
+
+" Количество пробелов в отступе при использовании операций >> и <<
+set shiftwidth=4
+
+" Конвертировать символы табуляции в пробелы
+set expandtab
+
+" Включить умную табуляцию и пробелы для отступов и выравнивания
+set smarttab
+```
+
+### Ссылки
+
+[Vim | Home (EN)](http://www.vim.org/index.php)
+
+`$ vimtutor`
+
+[A vim Tutorial and Primer (EN)](https://danielmiessler.com/study/vim/)
+
+[What are the dark corners of Vim your mom never told you about? (Stack Overflow thread) (EN)](http://stackoverflow.com/questions/726894/what-are-the-dark-corners-of-vim-your-mom-never-told-you-about)
+
+[Arch Linux Wiki](https://wiki.archlinux.org/index.php/Vim_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9))