Описание товара
По поводу редактора vi
Редактор vi должен быть установлен в CentOs 7 minimal изначально в отличии от nano и vim. Для тогоч тобы открыть файл с помощью редактора vi можно выполнить команду vi ИмяФайла, для того чтобы перейти в режим редактирования необходимо нажать i. Для того чтобы сохранить файл и выйти выполнит последовательность действий: нажать Esc ввести :wq нажать Enter, Для того чтобы выйти без редактирования можно выполнить последовательность действий: нажать Esc ввести :q! и нажать Enter.
По поводу настройки сети
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO="none"
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=eth0
UUID=07cd476a-4f3c-4116-a85a-265d00406833
DEVICE=eth0
ONBOOT=yes
IPADDR=10.12.13.14
PREFIX=32
GATEWAY=10.0.0.1
DNS1=2a01:230:1:1::230
DNS2=82.146.59.250
DNS3=188.120.247.8
DNS4=2a01:230:1:1::229
DNS5=185.60.132.11
DNS6=188.120.247.2
Для того чтобы установить ip интерфейсу можно выполнить команду ip addr add 10.11.12.13 dev eth0 для того чтобы добавить маршрут ip route add default via 10.12.13.14 dev eht0. Ранее я использовал в аналогичной команде geteway или gw, в этот раз что то не получилось.
VPS сервер с KVM. Стояла CentOs 9 Stream установил Centos 7. Не списал настройки сети. IP известен. Что и в каком файле поправить, давайте считать что выдан IP 10.11.12.13
Чтобы настроить сеть на CentOS 7 вручную после смены ОС с CentOS 9 Stream, вам нужно отредактировать конфигурационные файлы сетевых интерфейсов.
1. Определите имя сетевого интерфейса
bash
ip a
или
bash
ifconfig -a
Обычно это eth0, ens3, ens18 или что-то подобное.
2. Настройка статического IP (10.11.12.13)
Файл конфигурации находится в /etc/sysconfig/network-scripts/ifcfg-<интерфейс> (например, ifcfg-ens3).
Откройте его в редакторе (nano/vim):
bash
sudo nano /etc/sysconfig/network-scripts/ifcfg-ens3
Пример конфигурации:
ini
TYPE=Ethernet
BOOTPROTO=static
NAME=ens3
DEVICE=ens3
ONBOOT=yes
IPADDR=10.11.12.13
NETMASK=255.255.255.0 # или PREFIX=24, если используется нотация CIDR
GATEWAY=10.11.12.1 # уточните у хостинг-провайдера
DNS1=8.8.8.8 # или DNS провайдера
DNS2=8.8.4.4
3. Проверьте файл resolv.conf (DNS)
Убедитесь, что DNS прописан в /etc/resolv.conf:
bash
nameserver 8.8.8.8
nameserver 8.8.4.4
(Если используется NetworkManager, DNS может перезаписываться, лучше указывать его в ifcfg-ens3.)
4. Перезапустите сеть
bash
sudo systemctl restart network
или
bash
sudo ifdown ens3 && sudo ifup ens3
5. Проверьте подключение
bash
ping 8.8.8.8
ping google.com
ip a
route -n
Если сеть не поднялась:
Проверьте правильность GATEWAY (обычно это первый IP в подсети, например, 10.11.12.1).
Убедитесь, что интерфейс включен (ONBOOT=yes).
Проверьте настройки брандмауэра (systemctl status firewalld).
Если у вас другой провайдер (например, Cloud/VPS), могут быть особенности (DHCP, облачная конфигурация). Уточните у хостинг-компании.
Мне нужны подробности как отредактировать файл через nano или VIM
Хорошо, я подробно объясню, как отредактировать сетевой конфигурационный файл в CentOS 7 с помощью текстовых редакторов nano и vim.
1. Определение сетевого интерфейса
Перед редактированием нужно узнать имя интерфейса (например, ens3, eth0):
bash
ip a
Или:
bash
ifconfig -a
Пример вывода:
2: ens3:
mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:16:3e:12:34:56 brd ff:ff:ff:ff:ff:ff
inet 10.11.12.13/24 brd 10.11.12.255 scope global dynamic ens3
> Интерфейс здесь ens3 (ваш может отличаться).
2. Редактирование файла сети через nano (простой способ)
2.1. Открываем файл в nano
bash
sudo nano /etc/sysconfig/network-scripts/ifcfg-ens3
(замените ens3 на ваш интерфейс).
2.2. Редактируем конфигурацию
Пример правильной конфигурации для статического IP (10.11.12.13):
ini
TYPE=Ethernet
BOOTPROTO=static # статический IP (не DHCP)
NAME=ens3 # имя интерфейса
DEVICE=ens3 # устройство
ONBOOT=yes # включать при загрузке
IPADDR=10.11.12.13 # ваш IP
NETMASK=255.255.255.0 # маска подсети (или PREFIX=24)
GATEWAY=10.11.12.1 # шлюз (обычно x.x.x.1 или x.x.x.254)
DNS1=8.8.8.8 # Google DNS
DNS2=8.8.4.4
2.3. Сохраняем изменения в nano
Ctrl + O > Enter (сохранить файл).
Ctrl + X > выход из nano.
3. Редактирование файла сети через vim (альтернативный способ)
3.1. Открываем файл в vim
bash
sudo vim /etc/sysconfig/network-scripts/ifcfg-ens3
3.2. Основные команды vim
i > перейти в режим редактирования (Insert Mode).
Изменяем файл (как в примере выше).
Esc > выйти из режима редактирования.
:wq > сохранить и выйти (:w – сохранить, :q – выйти).
:q! > выйти без сохранения (если ошиблись).
4. Перезапуск сети
После сохранения файла:
bash
sudo systemctl restart network
Или:
bash
sudo ifdown ens3 && sudo ifup ens3
Проверка
bash
ip a
ping 8.8.8.8
ping google.com
5. Если интернет не работает
Проверьте GATEWAY (обычно это первый IP в подсети, например, 10.11.12.1).
Убедитесь, что ONBOOT=yes.
Проверьте DNS (cat /etc/resolv.conf).
Включите интерфейс вручную:
bash
sudo ifup ens3
Проверьте брандмауэр:
bash
sudo systemctl stop firewalld # временно отключить
sudo systemctl disable firewalld # отключить навсегда (не рекомендуется для прода)
Вывод
Вы успешно настроили статический IP (10.11.12.13) в CentOS 7. Если остались вопросы — спрашивайте! ??
Если я в командной строке пишу даже просто vim и nano в ответ not found
Если при вводе vim или nano вы получаете ошибку command not found, значит, эти текстовые редакторы не установлены в вашей системе.
1. Установка nano (проще для новичков)
bash
sudo yum install nano -y
После установки можно редактировать файлы командой:
bash
sudo nano /путь/к/файлу
2. Установка vim (более мощный редактор)
bash
sudo yum install vim -y
Теперь можно использовать:
bash
sudo vim /путь/к/файлу
3. Если yum тоже не работает
Попробуйте использовать dnf (в CentOS 7 он тоже есть, но yum предпочтительнее):
bash
sudo dnf install nano -y
4. Альтернатива: редактирование через vi
В минимальных установках CentOS 7 обычно есть vi (упрощённый vim).
bash
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens3
Основные команды vi:
Нажмите i для входа в режим редактирования.
После правок нажмите Esc, затем :wq (сохранить и выйти).
Если нужно выйти без сохранения — :q!.
5. Проверьте доступ в интернет
Если команда yum install не работает, возможно, у вас нет доступа в интернет. Проверьте:
bash
ping 8.8.8.8
Если нет связи, настройте временный DHCP:
bash
sudo dhclient ens3
Или вручную пропишите DNS в /etc/resolv.conf:
bash
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
После этого повторите установку nano/vim.
Вывод
Установите nano или vim через yum install.
Если интернет не работает, настройте временный DHCP или DNS.
Если ничего не помогает, используйте встроенный vi.
После установки редактора возвращайтесь к настройке сети. ???
Я не могу установить - сети же нет. Какие ещё варианты?
Если у вас нет доступа к интернету на сервере, а установить nano или vim через yum/dnf не получается, есть несколько способов отредактировать конфигурацию сети:
Способ 1. Использовать встроенный vi (если он есть)
Минимальные установки CentOS обычно включают vi (упрощённый vim).
Попробуйте:
bash
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens3
(замените ens3 на ваш интерфейс из ip a)
Как редактировать в vi:
Нажмите i > перейдёте в режим редактирования.
Внесите изменения (как в примере ниже).
Нажмите Esc, затем :wq (сохранить и выйти).
Если нужно выйти без сохранения — :q!.
Пример конфигурации (ifcfg-ens3):
ini
TYPE=Ethernet
BOOTPROTO=static
NAME=ens3
DEVICE=ens3
ONBOOT=yes
IPADDR=10.11.12.13
NETMASK=255.255.255.0
GATEWAY=10.11.12.1
DNS1=8.8.8.8
DNS2=8.8.4.4
Способ 2. Использовать echo для записи конфига (если vi тоже нет)
Если даже vi не работает, можно перезаписать файл через echo и перенаправление:
1. Создаём резервную копию (если нужно):
bash
sudo cp /etc/sysconfig/network-scripts/ifcfg-ens3 /etc/sysconfig/network-scripts/ifcfg-ens3.bak
2. Перезаписываем файл конфигурации:
bash
sudo sh -c 'cat > /etc/sysconfig/network-scripts/ifcfg-ens3 < /etc/sysconfig/network-scripts/ifcfg-ens3 <),
sed (для замены значений),
временный DHCP или ручной запуск интерфейса.
После восстановления сети установите nano или vim для удобства. ???
Я использовал команду ip addr add * dev *. В ip a ip появился, интерфейс активен. Пинг 8.8.8.8 не идёт. Есть предположение что нужно указать шлюз 0.0.0.0 как это сделать командой(без редакторов)?
Если вы вручную добавили IP-адрес через ip addr add, но пинг 8.8.8.8 не работает, скорее всего, не указан шлюз (gateway) или не прописаны DNS.
1. Добавление шлюза (gateway)
Ошибка: Шлюз 0.0.0.0 — это маршрут по умолчанию, но так указывать нельзя. Нужен конкретный IP шлюза (обычно x.x.x.1 или x.x.x.254).
Правильная команда для добавления шлюза:
bash
sudo ip route add default via 10.11.12.1 dev ens3
(замените 10.11.12.1 на ваш шлюз, а ens3 — на ваш интерфейс).
Проверка маршрутов:
bash
ip route
Должно появиться что-то вроде:
default via 10.11.12.1 dev ens3
10.11.12.0/24 dev ens3 proto kernel scope link src 10.11.12.13
2. Прописываем DNS (если пинг по IP идёт, но домены не резолвятся)
bash
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
(если /etc/resolv.conf перезаписывается, можно добавить chattr +i /etc/resolv.conf, но это временное решение).
3. Проверка сети
Проверьте связь с шлюзом:
bash
ping 10.11.12.1
Если не пингуется > проблема в кабеле/VLAN/настройках провайдера.
Если пингуется, но интернета нет > проблема в маршрутизации или firewall.
Проверьте доступ в интернет:
bash
ping 8.8.8.8
Если пинг есть > проблема в DNS.
Если нет > проверьте ip route и iptables.
Проверьте firewall:
bash
sudo systemctl stop firewalld # временно отключить
sudo iptables -F # сбросить правила iptables
4. Если шлюз неизвестен
Попробуйте стандартные варианты:
10.11.12.1
10.11.12.254
192.168.1.1
Если хостинг-провайдер (VPS):
Посмотрите в панели управления (например, Hetzner, DigitalOcean, AWS).
Попробуйте DHCP:
bash
sudo dhclient ens3
(после этого проверьте ip route).
5. Краткий чеклист
Проблема Решение
Нет IP на интерфейсе sudo ip addr add 10.11.12.13/24 dev ens3
Нет шлюза sudo ip route add default via 10.11.12.1
Нет DNS echo "nameserver 8.8.8.8" > /etc/resolv.conf
Блокирует firewall sudo systemctl stop firewalld
Неизвестен шлюз Проверить у хостинг-провайдера
Вывод
Добавьте шлюз:
bash
sudo ip route add default via 10.11.12.1 dev ens3
Проверьте ip route и ping 8.8.8.8.
Если домены не работают — пропишите DNS.
Если ничего не помогает — попробуйте dhclient или обратитесь к провайдеру.
После восстановления сети установите nano/vim и настройте статический IP правильно. ??
Какой командой узнать маску подсети на интерфейсе?
Чтобы узнать маску подсети (или префикс CIDR, например, /24) для конкретного интерфейса в Linux, используйте одну из следующих команд:
1. Команда ip a (или ip addr show)
Показывает все интерфейсы и их настройки, включая маску подсети в формате CIDR (/24, /16 и т.д.):
bash
ip a
Пример вывода:
2: ens3: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:16:3e:12:34:56 brd ff:ff:ff:ff:ff:ff
inet 10.11.12.13/24 brd 10.11.12.255 scope global dynamic ens3
valid_lft 86384sec preferred_lft 86384sec
Здесь маска подсети — /24 (эквивалент 255.255.255.0).
2. Команда ifconfig (если установлена)
Показывает маску в традиционном формате (255.255.255.0):
bash
ifconfig ens3
Пример вывода:
ens3: flags=4163 mtu 1500
inet 10.11.12.13 netmask 255.255.255.0 broadcast 10.11.12.255
ether 00:16:3e:12:34:56 txqueuelen 1000 (Ethernet)
Здесь маска — 255.255.255.0.
3. Команда netmask > преобразует CIDR в традиционный формат
Если нужно конвертировать /24 в 255.255.255.0:
bash
ipcalc -m 10.11.12.13/24
(Утилита ipcalc может быть не установлена по умолчанию. Установка: sudo yum install ipcalc).
4. Команда nmcli (если используется NetworkManager)
bash
nmcli device show ens3 | grep IP4.ADDRESS
Вывод:
IP4.ADDRESS[1]: 10.11.12.13/24
Как понять маску подсети?
/24 = 255.255.255.0 (256 адресов, включая адрес сети и broadcast).
/16 = 255.255.0.0 (65 536 адресов).
/32 = 255.255.255.255 (только один адрес).
Если интерфейс не имеет IP
Если у интерфейса нет настроенного IP, команды покажут только MAC-адрес.
Проверьте, включен ли интерфейс:
bash
ip link set ens3 up # активировать интерфейс
Вывод
Команда Показывает маску как
ip a /24 (CIDR)
ifconfig 255.255.255.0
nmcli device show /24 (CIDR)
Используйте ту, которая удобнее! Если нужна традиционная маска — ifconfig или ipcalc. Для автоматических скриптов лучше ip a.
Я настроил IP для интерфейса eth0 командой ip addr add и шлюз 10.0.0.1 командой ip route. Пинга до 8.8.8.8 нет Сейчас увидел интерфейс у сервера в документации называется ens3. Может быть нужно было именно для него настраивать. Может быть этот какой то виртуальный интерфейс а не основной?
Да, если в документации указан интерфейс ens3, а вы настраивали eth0, то это может быть причиной отсутствия интернета.
1. Проверьте текущие интерфейсы
bash
ip a
Вывод будет примерно таким:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: ens3: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:16:3e:12:34:56 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.100/24 brd 10.0.0.255 scope global dynamic ens3
valid_lft 86384sec preferred_lft 86384sec
3: eth0: mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:16:3e:ab:cd:ef brd ff:ff:ff:ff:ff:ff
ens3 — активный интерфейс (есть IP, статус UP).
eth0 — неактивен (state DOWN).
2. Что делать?
Вариант 1. Настроить ens3 вместо eth0
Удалите ошибочные настройки eth0:
bash
sudo ip addr flush dev eth0
sudo ip route del default via 10.0.0.1 dev eth0
Настройте правильный интерфейс ens3:
bash
sudo ip addr add 10.0.0.100/24 dev ens3
sudo ip link set ens3 up
sudo ip route add default via 10.0.0.1 dev ens3
Проверьте связь:
bash
ping 8.8.8.8
Вариант 2. Переименовать интерфейс (если нужно eth0)
Если вам принципиально использовать eth0 (например, для совместимости со старыми скриптами), можно переименовать ens3 в eth0:
Создайте файл конфигурации:
bash
sudo nano /etc/udev/rules.d/10-rename-network.rules
Добавьте строку:
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:16:3e:12:34:56", NAME="eth0"
(замените MAC-адрес на ваш из ip a).
Перезагрузите сервер:
bash
sudo reboot
После перезагрузки интерфейс будет называться eth0.
3. Почему ens3 вместо eth0?
В современных дистрибутивах (CentOS 7+, Ubuntu 18.04+) используется Predictable Network Interface Names.
Интерфейсы именуются по-другому:
ens3 — Ethernet-порт #3.
eth0 — старое название, теперь используется редко.
4. Если интернет всё равно не работает
Проверьте шлюз:
bash
ping 10.0.0.1
Если не пингуется > проблема в сети или на стороне провайдера.
Проверьте DNS:
bash
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
ping google.com
Отключите firewall:
bash
sudo systemctl stop firewalld
sudo iptables -F
Вывод
Настраивайте тот интерфейс, который указан в документации (ens3).
Если ошибочно настроили eth0 — удалите его настройки и перенесите на ens3.
Если нужно eth0 — переименуйте интерфейс через udev.
После настройки правильного интерфейса интернет должен заработать. ??
Пишет что нет интерфейса ens3 как его сделать?
Если в вашей системе нет интерфейса ens3, но он указан в документации к серверу, возможны следующие причины и решения:
1. Проверьте доступные интерфейсы
bash
ip -c a
Или:
bash
ls /sys/class/net/
Вы увидите список сетевых интерфейсов (например, eth0, eth1, enp1s0 и т.д.).
Если ens3 отсутствует, но должен быть, читайте далее.
2. Причины отсутствия ens3
Интерфейс отключен в системе.
Драйвер сетевой карты не загружен.
Ошибка в конфигурации сети (например, неправильное имя в udev).
Виртуальный интерфейс (VPS) требует ручного поднятия.
3. Как включить/создать ens3
Вариант 1. Интерфейс существует, но выключен
Если ens3 есть в выводе ip a, но имеет статус DOWN:
bash
sudo ip link set ens3 up
Вариант 2. Интерфейс переименован (например, в eth0)
Попробуйте найти его по MAC-адресу (из документации или панели управления VPS):
bash
ip link show
Пример вывода:
1: lo: ...
2: eth0: ... link/ether **00:16:3e:12:34:56** ...
Если MAC-адрес совпадает с ens3, но интерфейс называется eth0, можно:
Временно переименовать:
bash
sudo ip link set eth0 name ens3
Постоянно закрепить имя через udev (см. ниже).
Вариант 3. Интерфейс не обнаружен (нет драйвера)
Проверьте загруженные сетевые модули:
bash
lsmod | grep -i ethernet
Если вывод пустой, попробуйте загрузить драйвер вручную (например, для виртуальных интерфейсов KVM):
bash
sudo modprobe virtio_net
Вариант 4. Создать виртуальный интерфейс (если провайдер разрешает)
bash
sudo ip link add name ens3 type dummy
sudo ip addr add 10.0.0.100/24 dev ens3
sudo ip link set ens3 up
(замените IP на ваш).
4. Как закрепить имя ens3 навсегда (через udev)
Найдите MAC-адрес интерфейса (из ip link show или панели управления VPS).
Создайте правило:
bash
sudo nano /etc/udev/rules.d/10-rename.rules
Добавьте строку (подставив свой MAC):
ini
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:16:3e:12:34:56", NAME="ens3"
Примените изменения:
bash
sudo udevadm control --reload-rules
sudo udevadm trigger
Перезагрузите сервер:
bash
sudo reboot
5. Если интерфейс не появляется (VPS/Cloud)
Проверьте панель управления хостинга (Hetzner, AWS, DigitalOcean и др.) — возможно, интерфейс нужно активировать там.
Используйте DHCP для автоматической настройки:
bash
sudo dhclient -v eth0 # или другое имя интерфейса
Обратитесь в поддержку хостинга, если интерфейс не создается.
6. Проверка сети после настройки
bash
ip a show ens3
ping 8.8.8.8
Если пинг не работает, проверьте:
Шлюз: ip route show default
DNS: cat /etc/resolv.conf
Firewall: sudo systemctl stop firewalld
Итог
Определите правильное имя интерфейса через ip a.
Если ens3 отсутствует — попробуйте включить его, переименовать или загрузить драйвер.
Для постоянного переименования используйте udev.
В облачных сервисах настройка может требовать действий в панели управления.
После этих действий интерфейс должен появиться, и интернет заработает. ???
Я посмотрел настройки на другом сервере того же провайдера там так: [root@32803ssd ~]# ip route
default via 10.0.0.1 dev ens3 proto static metric 100
10.0.0.1 dev ens3 proto static scope link metric 100 на сервере что я настраиваю сейчас нет маршрутов(я все удалил). Какими командами мне сделать аналогично.
Чтобы восстановить сетевые маршруты аналогично рабочему серверу вашего провайдера, выполните следующие команды:
1. Добавьте IP-адрес на интерфейс ens3
(Замените 10.0.0.100/24 на ваш IP и маску)
bash
sudo ip addr add 10.0.0.100/24 dev ens3
2. Активируйте интерфейс ens3
bash
sudo ip link set ens3 up
3. Добавьте маршрут по умолчанию через шлюз 10.0.0.1
bash
sudo ip route add default via 10.0.0.1 dev ens3
4. Добавьте статический маршрут до шлюза (если требуется)
bash
sudo ip route add 10.0.0.1 dev ens3 scope link
5. Проверьте результат
bash
ip route show
Вывод должен быть таким же, как на рабочем сервере:
default via 10.0.0.1 dev ens3 proto static metric 100
10.0.0.1 dev ens3 proto static scope link metric 100
6. Настройте DNS (если домены не резолвятся)
bash
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
7. Проверьте интернет
bash
ping 8.8.8.8
Если интерфейс ens3 не существует
Проверьте доступные интерфейсы:
bash
ip link show
Если интерфейс называется иначе (например, eth0), замените ens3 на его имя в командах выше.
Для постоянного переименования интерфейса в ens3 (если нужно):
bash
sudo nano /etc/udev/rules.d/10-rename.rules
Добавьте строку (подставив MAC-адрес из ip link show):
ini
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:16:3e:12:34:56", NAME="ens3"
Затем:
bash
sudo udevadm control --reload-rules
sudo reboot
Важно!
Если провайдер использует DHCP, проще автоматически получить настройки:
bash
sudo dhclient ens3
Если после всех действий интернета нет, проверьте:
Доступность шлюза: ping 10.0.0.1
Брандмауэр: sudo systemctl stop firewalld
Итоговый скрипт для быстрой настройки
bash
sudo ip addr add 10.0.0.100/24 dev ens3
sudo ip link set ens3 up
sudo ip route add default via 10.0.0.1 dev ens3
sudo ip route add 10.0.0.1 dev ens3 scope link
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
ping 8.8.8.8
как в vi раздвинуть строки
В редакторе vi/vim можно "раздвинуть" строки (увеличить расстояние между ними) несколькими способами. Вот основные методы:
1. Вставка пустых строк между существующими
Команда в режиме командной строки (:)
Чтобы добавить 1 пустую строку после каждой строки:
vim
:g/^/put =''
Чтобы добавить 2 пустых строки:
vim
:g/^/put =repeat([''], 2)
Вручную (нормальный режим)
Перейдите в нормальный режим (нажмите Esc).
Нажмите :set paste (чтобы избежать автоотступов).
Используйте комбинации:
o – вставить пустую строку под текущей и перейти в режим ввода.
O – вставить пустую строку над текущей и перейти в режим ввода.
После ввода нажмите Esc, чтобы вернуться в нормальный режим.
2. Увеличение межстрочного интервала (для отображения)
Если нужно временно увеличить расстояние между строками только в отображении (без изменения файла):
vim
:set linespace=2 " увеличивает промежуток между строками (поддерживается не во всех терминалах)
3. Замена символов конца строки
Чтобы заменить символы конца строки на \n\n (двойной перенос):
vim
:%s/$/\r/g " добавляет по одной пустой строке после каждой существующей
4. Использование макросов
Запишите макрос для вставки пустых строк:
Нажмите qq (начать запись макроса в регистр q).
Перейдите в конец строки: $.
Вставьте пустую строку: o.
Перейдите на следующую строку: j.
Остановите запись: q.
Примените макрос ко всем строкам:
vim
:%norm @q
5. Плагины для Vim
Если вы часто работаете с текстом, установите плагины:
vim-airline – улучшает отображение.
vim-sandwich – удобное управление пробелами и переносами.
Как отменить изменения?
Отмена последнего действия: u.
Удаление пустых строк:
vim
:g/^$/d " удаляет все полностью пустые строки
Итог
Действие Команда
Добавить 1 пустую строку :g/^/put =''
Вставить строку ниже (o) o + Esc
Вставить строку выше (O) O + Esc
Удалить все пустые строки :g/^$/d
Выберите способ в зависимости от задачи! Для разовых правок подойдут ручные методы, для массовой обработки — макросы или команды с :g. Другие товары
Вы так же можете прочитать следующие статьи: