Вопрос или проблема
В последнее время я очень расстраивался, так как функция readline
была удалена из MacOSX, и автозаполнение по табуляции больше не работает.
Поэтому я хотел бы знать, знает ли кто-либо хорошую альтернативу, которую я мог бы установить, чтобы иметь возможность автозаполнять файлы при подключении по sftp.
Я слышал, что with-readline является хорошим вариантом для этого. Если да, то как мне сделать так, чтобы alias sftp = with-readline sftp
работал?
Я хотел бы сделать то же самое с любым другим вариантом, который не является with-readline, чтобы мне не приходилось назначать псевдоним каждый раз, когда я настраиваю сессию.
Я использую Mac OS X 10.8 (Mountain Lion) с установленным Homebrew.
Заранее спасибо всем, кто может помочь мне.
Вы можете просто установить порт MacPorts openssh
, который включает в себя sftp
с поддержкой автозаполнения по табуляции.
Ответ или решение
Автозавершение с помощью Tab в Mac OS X при использовании SFTP в терминале
Ваша проблема с отсутствием автозавершения в sftp
на Mac OS X является распространенной среди пользователей, особенно после изменений, связанных с библиотекой readline
. Давайте рассмотрим несколько возможных решений, которые помогут восстановить функциональность автозавершения в вашей системе.
1. Установка with-readline
Одним из вариантов является использование утилиты with-readline
, которая обеспечивает поддержку автозавершения в sftp
. Чтобы установить ее, следуйте этим шагам:
-
Убедитесь, что Homebrew установлен. Если вы еще не установили его, выполните следующую команду в терминале:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
Установите
with-readline
. Выполните следующую команду в терминале:brew install with-readline
-
Теперь создайте алиас для
sftp
, чтобы использовать версию с поддержкойreadline
. Откройте ваш файл конфигурации оболочки, например~/.bash_profile
или~/.zshrc
, и добавьте следующую строку:alias sftp='with-readline sftp'
-
После внесения изменений в файл конфигурации, примените эти изменения:
source ~/.bash_profile
или
source ~/.zshrc
Теперь автозавершение с помощью клавиши Tab должно работать в sftp
, когда вы используете алиас.
2. Использование MacPorts
Другим решением может быть установка пакета openssh
через MacPorts, который также включает в себя версию sftp
с поддержкой автозавершения. Если вы выберете этот вариант, выполните следующие шаги:
-
Убедитесь, что у вас установлен MacPorts. Если он не установлен, вы можете загрузить его с официального сайта MacPorts.
-
Установите
openssh
с помощью следующей команды:sudo port install openssh
-
После установки вы сможете использовать
sftp
с автозавершением без необходимости вводить алиасы.
3. Альтернативные варианты
Если ни одно из указанных решений вам не подходит, можете рассмотреть альтернативы, такие как использование более продвинутых клиентов для работы с SFTP, среди которых:
- FileZilla: графический SFTP-клиент, предоставляющий полный спектр возможностей для управления файлами на сервере.
- Cyberduck: еще один популярный графический FTP/SFTP-клиент с поддержкой множества протоколов.
Эти клиенты предоставляют интерфейс, в котором автозавершение и управление файлами становятся более интуитивными и простыми.
Заключение
Проблема с отсутствием автозавершения в sftp
на Mac OS X может быть решена несколькими способами, от установки with-readline
до использования MacPorts. Оба варианта обеспечивают возвращение функциональности автозавершения. Также вы можете рассмотреть возможность использования графических SFTP-клиентов для упрощения работы с файлами на сервере.
Если вы столкнетесь с трудностями при выполнении указанных шагов, пожалуйста, не стесняйтесь обращаться за дополнительной помощью.