Редакторы nano и vim
Зачем редактор в терминале
На сервере нет графической оболочки. Редактировать конфиги можно только через терминальные редакторы.
Два основных:
- nano — простой
- vim — мощный, но сложный
Для конфигов — nano. Для кода — vim (если привык).
nano
Открыть файл
nano /etc/nginx/sites-available/example.com
Создать новый:
nano new-file.txt
Интерфейс
Внизу экрана — список команд. Они всегда под рукой.
^G Get Help ^O Write Out ^W Where Is ^K Cut Text
^X Exit ^R Read File ^\ Replace ^U Uncut Text
^ = Ctrl.
Основные команды
| Комбинация | Действие |
|---|---|
Ctrl + O | Сохранить |
Ctrl + X | Выйти |
Ctrl + W | Найти |
Ctrl + K | Вырезать строку |
Ctrl + U | Вставить |
Ctrl + G | Помощь |
Ctrl + C | Показать позицию курсора |
Сохранение и выход
Сохранение:
Ctrl + O- Нажать
Enter(подтвердить имя файла)
Выход:
Ctrl + X
Если есть несохранённые изменения — спросит:
Save modified buffer? (Answering "No" will DESTROY changes.)
Y Yes
N No
^C Cancel
Y— сохранить и выйтиN— выйти без сохраненияCtrl + C— отмена
Поиск
Ctrl + W — вводишь текст, Enter — ищет. Alt + W — следующий результат.
Замена
Ctrl + \ — вводишь что искать, Enter, на что заменить, Enter. Спросит про каждое вхождение.
Полезные флаги
nano -w file.txt # не переносить длинные строки
nano -l file.txt # показывать номера строк
nano +50 file.txt # открыть на 50-й строке
Настройка
Файл ~/.nanorc — настройки:
set linenumbers
set autoindent
set tabsize 4
set mouse
set smooth
set mouse — можно мышкой ставить курсор.
vim
Зачем vim
vim установлен везде — на любом сервере, в любом контейнере. Если nano нет — vim есть.
Умеешь vim — не паникуешь в чужой среде.
Открыть
vim /etc/nginx/nginx.conf
Три режима
1. Normal (обычный) — для навигации и команд. Тут стартуешь.
2. Insert (вставка) — для ввода текста.
3. Visual (визуальный) — для выделения.
Переключение:
- Normal → Insert:
i(перед курсором),a(после) - Insert → Normal:
Esc - Normal → Visual:
v
Сразу выйти
Как выйти из vim, если открыл случайно:
Esc, потом :q!, потом Enter.
Базовые команды (Normal режим)
| Команда | Действие |
|---|---|
i | Вставить перед курсором |
a | Вставить после курсора |
o | Новая строка ниже |
O | Новая строка выше |
Esc | В Normal режим |
:w | Сохранить |
:q | Выйти |
:wq | Сохранить и выйти |
:q! | Выйти без сохранения |
:w !sudo tee % | Сохранить от root |
Навигация (Normal)
| Клавиша | Действие |
|---|---|
h j k l | Влево/вниз/вверх/вправо |
w | Следующее слово |
b | Предыдущее слово |
0 | Начало строки |
$ | Конец строки |
gg | Начало файла |
G | Конец файла |
:50 | На 50-ю строку |
Ctrl + F | Страница вперёд |
Ctrl + B | Страница назад |
Редактирование
| Команда | Действие |
|---|---|
dd | Удалить строку |
yy | Скопировать строку |
p | Вставить после |
P | Вставить перед |
u | Отменить |
Ctrl + R | Вернуть отменённое |
/text | Поиск |
n | Следующее совпадение |
N | Предыдущее |
:%s/old/new/g | Заменить во всём файле |
:%s/old/new/gc | С подтверждением |
Сохранение от sudo
Открыл файл без sudo, а надо сохранить как root:
:w !sudo tee %
Спросит пароль, сохранит. Потом :q!.
Настройка
Файл ~/.vimrc:
syntax on
set number
set relativenumber
set tabstop=4
set shiftwidth=4
set expandtab
set autoindent
set smartindent
set mouse=a
set clipboard=unnamed
set ignorecase
set smartcase
set incsearch
set hlsearch
Мнемоника команд
vim — это язык. Команды — как глаголы:
d— deletey— yank (copy)p— pastec— change
Модификаторы:
w— word$— до конца строки0— до начала строки
Примеры:
dw— удалить словоd$— удалить до конца строкиdd— удалить строкуyy— скопировать строку5dd— удалить 5 строк
Что делать, если попал в vim
1. Esc — в Normal режим.
2. :q! — выйти без сохранения.
3. Enter.
Если изменил — :wq вместо :q!.
Другие редакторы
vim — большой, но есть лёгкие варианты:
- vi — старый, но везде есть
- nvim (neovim) — современный форк vim
- micro — редактор с привычными клавишами
- emacs — для фанатов (свой мир)
Установка micro (если nano/vim не нравятся):
apt install micro
micro file.txt
Работает как привычный редактор: Ctrl + S — сохранить, Ctrl + Q — выйти.
Что выбрать
Для конфигов на сервере: nano.
Для серьёзной работы в терминале: vim.
Правило: если правишь конфиг раз в неделю — nano. Если живёшь в терминале — vim.
Сравнение
| Действие | nano | vim |
|---|---|---|
| Сохранить | Ctrl + O, Enter | :w, Enter |
| Выйти | Ctrl + X | :q, Enter |
| Выйти без сохранения | Ctrl + X, N | :q!, Enter |
| Поиск | Ctrl + W | /text |
| Замена | Ctrl + \ | :%s/old/new/g |
Итог
Для работы на сервере хватит nano. Если хочешь больше — учи vim. Мнемоника простая, но нужно время.
Дальше — права доступа и владельцы.