Архив метки: Vim

Доступ sudo к файлу внутри Vi/Vim

vim terminal

В этом руководствее мы узнаем, как сохранить файл как sudo, не выходя из Vim.

Сначала мы изучим проблему и поймем, почему сохранять файлы от имени sudo не так просто, как от обычного пользователя.

Затем мы сосредоточимся на использовании tee внутри Vim для записи изменений от имени суперпользователя.

Наконец, мы обсудим скрипт sudo.vim в качестве альтернативы.

Читать

Как удалить строки в Vim?

Vim — популярный текстовый редактор командной строки, который присутствует в большинстве дистрибутивов Linux и macOS. Знание того, как использовать редактор, может сэкономить вам много времени, когда вы прыгаете по терминалу.

В этом руководстве мы рассмотрим, как удалить строки в Vim с помощью следующих четырех руководств.

  • Удаление отдельной строки в Vim
  • Удаление нескольких строк в Vim
  • Удаление диапазона строк в Vim
  • Удаление строк с шаблоном в Vim

Читать

Как выйти из редактора vim

Многие пользователи интересуются вопросами из разряда: «Как выйти из редактора vim?» или «Как сохранить изменения и закрыть vim?». Перед тем, как удовлетворить любопытство новичков, следует разобраться, о каком инструменте в принципе идет речь.

Редактор Vim работает в терминале устройств с ОС Linux. Его высокую популярность среди обычных пользователей и программистов легко объяснить богатым функционалом и наличием «горячих» клавиш. Порой те и другие юзеры ПК не могут нормально работать со сложным интерфейсом программы. Новичкам и вовсе не привычно использовать новые сочетания клавиш, предложенных в редакторе Vim. Это вызывает немало путаницы и мелких проблем.

Читать

Закомментировать блок в vim

Для комментирования блока я всегда использовал режим визуального выделения, который вызывается по ctrl+v (в gvim для windows по умолчанию ctrl+q).
Нужно поставить курсор, например, в начале строки наверху выделяемого блока, нажать ctrl+v, переместить курсор в конец параграфа, нажав }, затем нажать I (shift+i), ввести символ комментария (например, #) и нажать ESC. Читать подобные пассажи очень неудобно, поэтому обычно люди, рассказывая о последовательности действий в vim’e, пишут так (вместо ctrl обычно ставят шапку ^):
^v } I # <ESC>

Выглядит это так: Читать

Волшебные замены в Vim, много файлов

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

Рассмотрим эту процедуру на примере добавления мета-тэга для перенаправления в группе html страниц. Даже если Вы ничего не понимаете в html, всё равно будет ясно, как делать замены в нескольких файлах одновременно.

Допустим, Вы решили вставить во все файлы tag <meta> такого вида:
1<meta http-equiv=»refresh» content=»seconds; URL-redirect-to»>

Существует много способов сделать перенаправление с адреса oldsite.ru/page_name на newsite.ru/page_name для каждой страницы. Наверняка большинство сделало бы такую операцию в perl или python. А я расскажу вам о самом волшебном способе: мы сделаем это в vim. Если Вы не знаете, что это такое, срочно покиньте эту страницу. Читать

Align columns in vim

One may come across the table like this:

There are some utilities to align the columns in the table. But do you really need one, if you are already in vim? Have a look on the alignment process in gif animation or mp4 video.
The general idea is:

Paste enough spaces between the columns, so that the leftmost element from the second column will appear to the right relatively to rightmost element from the first column. In latex files like in the video/animation, & symbol serves as a delimiter between the columns, so I use :%s/&/          &/g to precede all the ampersands with bunch of spaces. How much exactly spaces you need depends on the cell length.

Select empty column in visual block mode via Ctrl + V. To move leftwards everything to the right of the selection, use <. Repeat the action as many times as you need with .. The video and the animation show this only for the first time, when second column is being aligned. It is not the shortest way, and it is shown only for better understanding of what’s going on.

Once you’ve selected an empty column, instead of <……. or so you may do 20<. This method is used to align the remainder of the table in the video/animation.

I started to learn vim about 5 years ago, when someone told me that vim knows how to work with columns. Since then this ability of vim is one of my favorites. I love vim!