mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2025-08-01 12:30:48 +02:00
[vim/ru] Translate Vim doc (#2506)
* [vim/ru] Translate Vim doc * Add '(EN)' label to links, and replace Arch wiki link with russian version
This commit is contained in:
237
ru-ru/vim-ru.html.markdown
Normal file
237
ru-ru/vim-ru.html.markdown
Normal file
@@ -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))
|
Reference in New Issue
Block a user