Последние новости:

Поиск по сайту:

Кто в деле смел, тот слов не устрашится (Софокл).

Vim советы и приемы, которые вы, вероятно, никогда не слышали

03.11.2016
Vim советы и приемы, которые вы, вероятно, никогда не слышали

Самый распространенный редактор файлов в Linux является Vim. Это верно, вы можете любить его или ненавидеть, но это не имеет значения. Его можно найти в каждой сборке Linux. Даже если нет никакого другого редактора, установленного в системе, вы можете использовать его в своей самой основной форме, Vi, программа, которая является его предшественником, написанной Билл Джой в 1970 году для операционных систем UNIX. Vi и Vim похожи во многих отношениях, за исключением того, что Vim (VI Improved) позже была разработана и адаптирована к более современным системам Linux.

Люди часто игнорируют Vim и это расстраивает. Большинство из них, знают только, как выйти из него. Те из вас, которые мало знают о том, что при открытии текстового файла с помощью Vim вы можете редактировать с помощью :i, и сохраните его с :w или :wq (запись в файл и выход) или :wq!(! Означает не запрашивать подтверждение). Еще одна очень распространенная команда просто `o` без двоеточия и при нахождении в командном режиме, которая автоматически ставит вас в режиме вставки и в новую линию для записи.

В следующем тексте я опишу некоторые трюки, про которые большинство людей, вероятно, не знают.

При редактировании файла без Sudo

Если вам случится редактировать файл без Sudo, вы получите ошибку разрешения при попытке сохранить файл. Таким образом, вы должны сохранить его в другом файле, а затем внести изменения еще раз. Тем не менее, команда

:w !sudo tee %

сохранит файл без необходимости делать все это. Конечно, вы все равно должны быть пользователем Sudo, чтобы использовать эту команду.

Путешествие во времени

Откат документа обратно в определенный момент времени. В своей самой простой форме просто ‘u’ нахождении в командном режиме отменит последнее изменение, или CTRL-R повторит изменения.

Тем не менее: :earlier 15m вернет документ к тому, как было 15 минут назад. Та же команда может принимать различные переменные для времени, как :earlier 5m. Вы можете отменить изменения с противоположной команды :later.

Выполнить любую команду

Выполнить любую команду на оболочке:

:!

 

Пример:

:!ls -l

минимизирует редактор Vim и поставить вас в оболочку с выходом команды ls.
Тем не менее (с точкой () до того , как .!) Выполнит команду и вставить вывод в текущем окне.:.!

Реальный пример из жизни:
:.!date И вы получите текущую дату вставленную в документ.

Vim может также действовать как редактор шестнадцатеричных:

:%!xxd

 

Откат обратно:%!xxd -r

Несколько полезных примеров для удаления

  • diw - удалить текущее слово и ciw сократит текущее слово.
  • de - походит diw, однако он открывает возможность удалить каждое следующее слово, просто нажав точку ( .).
  • di( — удаление в пределах текущих родителей.
  • di" — удаления текста между кавычками.
  • dab — удалить вокруг скобки.
  • daB — удалить вокруг фигурной скобки.

Несколько полезных примеров сокращений

  • ciw — сократит текущее слово.
  • ci" — вырезать слово внутри кавычек.
  • ci( — вырезать слово в родителях.
  • C - сократит остаток строки и введет в режим вставки. Это очень полезно для вырезания и вставки.

Разные полезные команды

  • zz - Прокрутки экран вниз, чтобы текущая строка появится в середине. Очень полезно, чтобы поместить некоторый фрагмент кода в фокусе.
  • % — находит и перемещает курсор в согласующих скобках.
  • :%TOhtml - Создает HTML версию текущего документа. (Попробуйте, это очень полезно).
  • vim https://andreyex.ru/ — Vim также может открыть URL, предполагая, что они идут непосредственно в статических HTML-файлов.

Поиск и замена

В своей основной форме, это команда :substitute или :s для краткости, которая ищет текстовый шаблон и заменяет его в строку. Команда имеет много вариантов, и они являются наиболее часто используемые из них.

  • :%s/something/something_else/g - Найти слово something и заменить его на something_else во всем документе.
  • :s/something/something_else/g - Точно так же, как перед командой. Один раз заменяет только в текущей строке.
  • :%s/something/something_else/gc - Обратите внимание c. Он заменяет все, но запрашивает подтверждение в первую очередь.
  • :%s/\<something\>/something_else/gc - Изменения целые слова точно соответствующие something на something_else, но запрос на подтверждение в первую очередь.
  • :%s/SomeThing/something_else/gic - Здесь флаг используется для поиска с учетом регистра. И флаг для подтверждения.

Закомментируйте блоки кода

Введите покадрово визуальный режим CTRL + V и отметьте блок, который Вы хотите прокомментировать.
Нажмите capital I и введите комментарий в начале строки (# для bash, или // для C++ и т.д ..)
Нажмите ESC дважды, и все линии будут закомментированы.

Вывод

Vim очень функционально полный редактор предлагает множество вариантов для всех видов применения. Очень часто из-за своей сложности многие люди находят это разочарованиеv, чтобы попытаться попробовать его использовать. Однако, как только вы начнете понимать свой способ работы, вы начнете понимать, что параметры и функции он предлагает настолько уникальны, что ни один другой редактор не может сегодня заменить его.

Vim советы и приемы, которые вы, вероятно, никогда не слышали

PS. Если вам понравился этот пост, пожалуйста, поделитесь им с друзьями в социальных сетях с помощью кнопок соц сетей, расположенных ниже или просто оставьте комментарий. Заранее благодарю.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Читайте также

Статьи партнеров:

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить

Спасибо! Ваша заявка принята

close

Спасибо! Ваша заявка принята

close