Автозаполнение табуляцией в Mac OS X при использовании sftp в терминале

Вопрос или проблема

В последнее время я очень расстраивался, так как функция 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. Чтобы установить ее, следуйте этим шагам:

  1. Убедитесь, что Homebrew установлен. Если вы еще не установили его, выполните следующую команду в терминале:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. Установите with-readline. Выполните следующую команду в терминале:

    brew install with-readline
  3. Теперь создайте алиас для sftp, чтобы использовать версию с поддержкой readline. Откройте ваш файл конфигурации оболочки, например ~/.bash_profile или ~/.zshrc, и добавьте следующую строку:

    alias sftp='with-readline sftp'
  4. После внесения изменений в файл конфигурации, примените эти изменения:

    source ~/.bash_profile

    или

    source ~/.zshrc

Теперь автозавершение с помощью клавиши Tab должно работать в sftp, когда вы используете алиас.

2. Использование MacPorts

Другим решением может быть установка пакета openssh через MacPorts, который также включает в себя версию sftp с поддержкой автозавершения. Если вы выберете этот вариант, выполните следующие шаги:

  1. Убедитесь, что у вас установлен MacPorts. Если он не установлен, вы можете загрузить его с официального сайта MacPorts.

  2. Установите openssh с помощью следующей команды:

    sudo port install openssh
  3. После установки вы сможете использовать sftp с автозавершением без необходимости вводить алиасы.

3. Альтернативные варианты

Если ни одно из указанных решений вам не подходит, можете рассмотреть альтернативы, такие как использование более продвинутых клиентов для работы с SFTP, среди которых:

  • FileZilla: графический SFTP-клиент, предоставляющий полный спектр возможностей для управления файлами на сервере.
  • Cyberduck: еще один популярный графический FTP/SFTP-клиент с поддержкой множества протоколов.

Эти клиенты предоставляют интерфейс, в котором автозавершение и управление файлами становятся более интуитивными и простыми.

Заключение

Проблема с отсутствием автозавершения в sftp на Mac OS X может быть решена несколькими способами, от установки with-readline до использования MacPorts. Оба варианта обеспечивают возвращение функциональности автозавершения. Также вы можете рассмотреть возможность использования графических SFTP-клиентов для упрощения работы с файлами на сервере.

Если вы столкнетесь с трудностями при выполнении указанных шагов, пожалуйста, не стесняйтесь обращаться за дополнительной помощью.

Оцените материал
Добавить комментарий

Капча загружается...