Может войдёшь?
Черновики Написать статью Профиль

Мастерство Vim: Табуляция, отступы и пробелы

перевод Laracasts Мастерство Vim

Это перевод видео-урока с Laracasts, серия Vim Mastery, урок №20Tabs, Indents, and Spaces от . Перевод обновлён . Опечатка? Выдели и нажми Ctrl+Enter.

(0:00)
Давайте поработаем с табуляцией, отступами, пробелами, расстояниями и так далее. Это безумные вещи. Знаете, если откровенно, никто полностью не понимает всего этого. Вы узнаете о них один раз, настраиваете свои отступы правильно и далее просто удаляете эти знания из своей головы. И знаете что? Это просто отлично. Нужно только однажды их настроить. Давайте поиграемся. Для начала я избавлюсь от моего тега <style>. Я могу выполнить vat. Это то же самое, что визуально выделить тег.

(0:30)
Или, разумеется, я хочу удалить это, поэтому я могу нажать dat и это удалит все. Далее, я нажму dd, чтобы удалить эту строчку. И нажму строчную o, чтобы добавить строчку ниже. Или вы можете нажать заглавную O для добавления строчки выше. u чтобы отменить. Давайте попробуем. Если я перейду к моему тегу <form> здесь и нажму Tab, заметьте, это, кажется, добавляет 8 пробелов. Если я сделаю тут также... да, это слишком много.

(1:00)
Мы не хотим этого. Далее, если я выделю тэг и нажму Shift+> — снова, мы сделали отступ в 8 пробелов. А если я нажму Shift+< — мы сдвигаем на 8 пробелов влево или на два нажатия Tab. Мы можем все это поменять. Давайте начнем с tabstop. По умолчанию он равняется 8. Давайте поменяем на какое-нибудь большее число, например, 16.

(1:30)
Как только я выполнил это, заметьте, каждый Tab теперь равен 16 пробелам. Нажму Tab — готово. Переделаю обратно. Если я верну tabstop=8, все вернулось. Это означает, что значение tabstop задает ширину отступа. Но теперь у нас есть несколько других значений. Давайте пройдемся по ним. Не думайте, что вам нужно запоминать все это. У нас также есть shiftwidth. И эта настройка ответственна за ширину в нормальном режиме.

(2:00)
Если я установлю... давайте поставим 24. Теперь, если я нажму Shift+> два раза, вы видите, как это работает. Однако, если я нажму Backspace и нажму Tab... но в режиме вставки, то это не работает. Это означает, что shiftwidth, повторюсь, делает отступы, когда мы в нормальном режиме. Когда мы выделили и нажали Shift+>, мы используем это специальное значение. И также для обратного.

(2:30)
Я установлю значение shiftwidth=4. Теперь, что если мы в режиме вставки? Похоже, это работает тут. Но мы также используем softtabstop. Это предназначено для установки ширины отступа в режиме вставки. Если мы поставим 30. Еще раз, — если я выделю и сделаю отступ — тут мы используем значение shiftwidth=4. Но если я перейду в режим вставки и нажму Tab... Заметьте, мы используем настройку softtabstop сейчас. Если я нажму Delete, это перенесет нас назад. Tab — и теперь мы...

(3:00)
Да, 30 пробелов. Наконец, есть ещё expandtab. Если мы выполним set expandtab, это значит... Мы хотим, чтобы это выглядело, как Tab, но на самом деле было обычными пробелами. В основном, я так делаю. Вы не видите разницу, но мы больше не используем символы табуляции, а вместо них — пробелы. Вот, что я имел в виду, сказав, что это раздражает — не думайте, что я всё это запомнил, я действительно сейчас искал всё это заново.

(3:30)
Поймите, что вы хотите. Установите это в файле .vimrc. И, потом, просто выбросите это из головы. Вам не нужно думать об этом снова. Почему бы не сделать вот что... Переключусь в свой файл .vimrc. Напишу здесь set tabstop=8 (это значение по умолчанию). Также я буду использовать expandtab. Это означает, что мне нужны пробелы, вместо табуляции. Потом я установлю sorttabstop=4. Это, по существу, ширина отступа, которую мы устанавливаем для клавиши Tab в режиме вставки.

(4:00)
И, наконец, shiftwidth будет шириной отступа для нормального режима. Просто, чтобы быть уверенным, что это заработает, выйдем и перезагрузимся. Теперь переключусь на свою страницу welcome. Итак, еще раз: vatd (удалим). И примем к сведению, если я нажму Backspace, как видите, мы используем 4 пробела. Обычно, это то, что мне нужно. Если вы из мира Ruby, то вероятно предпочитаете 2 пробела.

(4:30)
Первый, второй. Мне нравятся четыре. Поэтому я использую отступ в 4 пробела. И также делаю нажатие клавиши Tab эквивалентной нескольким пробелам. Теперь, если я выделю и сделаю отступ, то мы сдвинемся на 4 пробела. Это также, конечно, относится к классам PHP. Если мы напишем PHPif ($foo), ранее у нас было 8 пробелов. Но теперь у нас более традиционные четыре пробела. Если вы выделите и нажмете Shift+> для увеличения отступа или точку для повтора предыдущего шага — да, мы идем с шагом в 4. Или u для отмены и мы двигаемся назад. Вот и все, с чем можно поиграться тут — настроить, как нравится вам и затем выкинуть это из головы. Это не должно быть там.

Как вы считаете, полезен ли этот материал? Да Нет

Написать комментарий

Разметка: ? ?

Авторизуйся, чтобы прокомментировать.