Завершення вкладки терміналу [дублікат]


15

Можливий копій:
завершення Bash для команд у Mac OS

Я щойно перейшов з Linux на mac, і одна з проблем, з якою у мене виникає, полягає в тому, що заповнення вкладки має глибину лише 1 рівень, і я не знаю, як це виправити.

Поясню на прикладі - коли я використовував git на ubuntu, я почну вводити текст

$ git

і натисніть вкладку, і оболонка виконає команду або відобразить параметри, доступні для літери, яку я набрав. Ось що відбувається і на моєму комп'ютері (1 рівень). Однак, коли я продовжую вводити наступну частину команди

$ git commit

і натисніть вкладку, mac-термінал не завершить наступну підкоманду (для git), як це було б у Linux. Те ж саме стосується інших програм, які підтримують цю багаторівневу команду. Я підозрюю, що це може бути проблема бібліотеки для читання рядків, але я не впевнений, яку саме з них потрібно встановити.


Це не проблема читання рядків (насправді це не "проблема"), це тому, що Ubuntu тримає вашу руку зі спеціальними пакетами для bash.
— Джед Сміт

Це, безумовно, проблема конфігурації bash (оскільки я маю таку поведінку на mac + набагато більше, ніж я налаштував її, як, наприклад, завершення імені хоста). Вам слід оглянути джерела живлення для bash та додати їх у свій профіль.
— Шейн К. Мейсон

Відповіді:


13

Завантажте bash_completion та отримайте джерело від свого .bashrc. Потім покласти contrib/completion/git-completion.bashз розподілу git в bash_completion.d.

Ви також можете встановити його через MacPorts .


спасибі, це спрацювало У свій .bashrc я додав наступне, якщо [-f / opt / local / etc / bash_completion]; то джерело / opt / local / тощо / bash_completion fi
— sa125

1
Ще краще, встановити його через домашню мову: варити встановити bash-завершення
— abyx

@abyx: вибір "кращого" між домашньою мовою та макпортами - дуже суб'єктивна річ

2

Для git існує можливість компіляції, яка підтримує завершення.

Якщо ви використовували порт для встановлення Git (що я рекомендую), ви можете перевстановити git за допомогою цієї команди

sudo port install git-core +svn+bash_completion+doc

Який буде встановлювати git із завершенням bash, підтримкою git-svn та документами

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.