diff options
| author | Anton <toyeanton@ukr.net> | 2016-10-25 23:57:32 +0300 | 
|---|---|---|
| committer | ven <vendethiel@hotmail.fr> | 2016-10-25 22:57:32 +0200 | 
| commit | daea2973e674c679caced1bc743110ca70a41fb3 (patch) | |
| tree | cb556f91a47f1fca270635c5bcef0657ed48cfa5 | |
| parent | 547174ad4f7a47f5b696e04dba7ff2a8e16e2d67 (diff) | |
[vim/ru] Translate Vim doc (#2506)
* [vim/ru] Translate Vim doc
* Add '(EN)' label to links, and replace Arch wiki link with russian version
| -rw-r--r-- | ru-ru/vim-ru.html.markdown | 237 | 
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)) | 
