17. Текстовые редакторы Nano/Vim
Содержание
Текстовые редакторы nano и vim
Большинство систем Linux - сервера, и у них не будет графического интерфейса. Я также упомянул в прошлой статье, что Linux в основном состоит из файлов конфигурации, и для внесения изменений вам потребуется иметь возможность редактировать эти файлы конфигурации, чтобы изменить что-либо в системе.
Существует множество вариантов, но я думаю, что мы должны рассмотреть, вероятно, два наиболее распространенных текстовых редактора терминала. Я использовал оба этих редактора, и для меня «nano» — это удобная кнопка, когда дело доходит до быстрых изменений, но у «vim» такой широкий набор возможностей.
nano
- Доступна не во всех системах.
- Отлично для начала.
Если вы запустите nano 90DaysOfDevOps.txt
, мы создадим новый файл, в котором ничего не будет, здесь мы можем добавить наш текст, и в окне внизу есть инструкции о том, что мы хотим сделать с этим файлом.
Мы можем нажать control x + enter
, а затем запустить ls
, теперь вы можете увидеть наш новый текстовый файл.
Можно запустить cat
для этого файла, чтобы прочитать наш файл. Затем мы можем использовать тот же nano 90DaysOfDevOps.txt
, чтобы добавить дополнительный текст или изменить ваш файл.
Для меня nano очень удобен, когда дело доходит до внесения небольших изменений в файлы конфигурации.
vim
Возможно, самый распространенный текстовый редактор.
- В значительной степени поддерживается в каждом дистрибутиве Linux.
- Невероятно мощный! Скорее всего, вы найдете полный 7-часовой курс, посвященный только vim.
Мы можем перейти в vim с помощью команды vim
или, если мы хотим отредактировать наш новый текстовый файл, мы могли бы запустить vim 90DaysOfDevOps.txt
, но сначала вы увидите отсутствие меню справки внизу.
Первый вопрос может быть «Как мне выйти из vim?» это будет escape
, и если мы не внесли никаких изменений, то это будет :q
Вы начинаете в обычном «normal» режиме, есть и другие режимы «command, normal, visual, insert», если мы хотим добавить текст, нам нужно будет переключиться с «normal» на «insert», нам нужно нажать «i», если вы добавили какой-то текст и хотели бы сохранить эти изменения, тогда вы нажмете escape, а затем :wq
Вы можете подтвердить это с помощью команды cat
, чтобы убедиться, что вы сохранили эти изменения.
В vim есть несколько крутых быстрых функций, которые позволяют очень быстро выполнять простые задачи, если вы знаете ярлыки, что само по себе является лекцией. Допустим, мы добавили список повторяющихся слов, и теперь нам нужно его изменить, может быть, это файл конфигурации, и мы повторяем сетевое имя, и теперь это изменилось, и мы хотим быстро изменить это. Я использую слово “Day” в этом примере.
Теперь мы хотим заменить это слово на 90DaysOfDevOps, мы можем сделать это, нажав «esc» и набрав «:%s/Day/90DaysOfDevOps».
В результате, когда вы нажимаете Enter, слово day заменяется на 90DaysOfDevOps.Копировать и вставить стало для меня большим открытием. Копия не копия, а дерьмо. мы можем скопировать, используя yy
на клавиатуре в обычном режиме. p
вставьте в ту же строку, P
вставьте в новую строку.
Вы также можете удалить эти строки, выбрав количество строк, которые вы хотите удалить, а затем dd
Также, вероятно, вам понадобится время для поиска файла, теперь мы можем использовать grep
, как упоминалось в предыдущем сеансе, но мы также можем использовать vim. мы можем использовать /word
, и это найдет первое совпадение, для перехода к следующему вы будете использовать клавишу n
и так далее.
Для vim это даже не касается поверхности, самый большой совет, который я могу дать, — взяться за руки и использовать vim везде, где это возможно.
Обычный вопрос на собеседовании: какой ваш любимый текстовый редактор в Linux, и я хотел бы убедиться, что у вас есть хотя бы эти знания об обоих, чтобы вы могли ответить: «Нано» — это нормально, потому что это просто. По крайней мере, вы показываете компетентность в понимании того, что такое текстовый редактор. Но потренируйтесь с ними, чтобы стать более опытным.
Еще один указатель для навигации в vim, мы можем использовать «H, J, K, L», а также наши клавиши со стрелками.