Как заставить автодополнение Zsh работать по-старому?

В системе может быть несколько сетевых адаптеров различных типов.

Интерфейс TAP представляет виртуальный адаптер Ethernet. Пакеты, проходящие через виртуальный адаптер, будут в форме кадров Ethernet с MAC-адресами источника и получателя (, хотя я думаю, что они могут опустить последовательность проверки кадров, в этом я не уверен ). Как и в случае с реальным адаптером Ethernet, ядро ​​будет использовать ARP/ND для преобразования «IP-адреса следующего перехода» в MAC-адрес и будет выполнять фильтрацию MAC для входящих пакетов. Как и в случае с реальным адаптером Ethernet, ответвительный интерфейс может (при желании )быть включен как часть моста Ethernet.

Интерфейс TUN представляет собой виртуальный «сырой» адаптер. Пакеты, проходящие через виртуальный адаптер, являются необработанными пакетами протокола уровня 3 с необязательным заголовком, указывающим тип пакета и флаги. Ядро не будет пытаться преобразовать IP-адрес следующего перехода в любую форму адреса более низкого уровня.

1
18.01.2021, 12:22
1 ответ

Не звонить compinit. Это все, что вам нужно сделать. У вас может быть вызов в вашем файле .zshrcили, возможно, в другом точечном файле, или, возможно, вы используете подключаемый модуль, который вызывает его. Узнайте, откуда он звонит, а затем удалите вызов. Если compinitникогда не будет вызвано, вместо этого вы получите старую школьную систему завершения.

Если вы не можете найти, где вызывается compinit, попробуйте запустить zsh -x 2>zsh.log(, выйдите из оболочки, как только увидите подсказку ), затем найдите вызов compinitв zsh.log

.

Do I need zsh/complete and zsh/computil for normal completion to work?

Да, вам нужны zsh/completeи zsh/computil, если вы вообще хотите какое-либо завершение.

2
18.03.2021, 22:36

Теги

Похожие вопросы