Самый распространенный редактор файлов в 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 -
Здесьi
флаг используется для поиска с учетом регистра. Иc
флаг для подтверждения.
Закомментируйте блоки кода
Введите покадрово визуальный режим CTRL + V и отметьте блок, который Вы хотите прокомментировать.
Нажмите capital I и введите комментарий в начале строки (# для bash, или // для C++ и т.д ..)
Нажмите ESC дважды, и все линии будут закомментированы.
Вывод
Vim очень функционально полный редактор предлагает множество вариантов для всех видов применения. Очень часто из-за своей сложности многие люди находят это разочарованиеv, чтобы попытаться попробовать его использовать. Однако, как только вы начнете понимать свой способ работы, вы начнете понимать, что параметры и функции он предлагает настолько уникальны, что ни один другой редактор не может сегодня заменить его.
PS. Если вам понравился этот пост, пожалуйста, поделитесь им с друзьями в социальных сетях с помощью кнопок соц сетей, расположенных ниже или просто оставьте комментарий. Заранее благодарю.