1

Я использую версию Zsh: 4.3.11 с фреймворком oh-my-zsh .

В сочетании с «oh-my-zsh» Zsh будет пытаться автоматически завершать команды SVN (и Git в этом отношении), когда клавиша TAB нажимается во время команды. Поскольку он явно выполняет магию синтаксического анализа за кулисами, автозаполнение команд SVN в огромном хранилище вносит значительную задержку.

svn add a[TAB]
* ~2-3 second delay *
svn add apps/

Это доводит меня до крайности, и после нескольких месяцев, в течение которых мне оставалось только похвалить Zsh, я временно вернулся к Bash, поскольку неспособность использовать оболочку в одном конкретном репозитории просто смешна.

Замечания:
Здесь есть два дополнительных фактора, и хотя я не уверен в их значении, я все равно перечислю их:

  • Это сделано по SSH
  • Обычное автозаполнение имени файла происходит полностью мгновенно. Только автозаполнение имени файла во время SVN-команд запаздывает.

1 ответ1

2

Я уверен, что это не очень хороший способ, но вы можете переписать svn завершение с помощью

compdef '_files -g "*"' svn

После этого zsh будет предлагать только файлы

% svn     
tags in context :completion::complete:svn::
    globbed-files  (_files)

вместо выделенных и трудоемких завершений _svn :

% svn 
tags in context :completion::complete:svn::
    argument-1 options  (_arguments _svn _subversion)
tags in context :completion::complete:svn:argument-1:
    commands  (_svn _subversion)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .