Hoàn thành các lệnh git


17

Gần đây tôi đã chuyển từ sử dụng hộp Ubuntu trong 7 năm qua sang máy Mac. Tôi đã đọc các bài đăng khác như Chuyển từ Ubuntu sang OS X và tôi bị mấtsự khác biệt giữa iTerm2 và Terminal là gì?

Tại sao iTerm2 và Terminal không hoàn thành các đối số cho một lệnh?

Ví dụ. Nếu tôi làm gi+ Tab, nó sẽ tự động hoàn thành từ gitnày là tốt. Khi tôi thêm một khoảng trắng và thử remo+ Tab, tại sao tôi không tự động hoàn thành nó để remotethích trong Ubuntu. Tôi phải gõ mọi thứ bằng tay sau từ này git. Tương tự cho các lệnh khác.

Tôi đang làm gì đó sai, hoặc thiếu một cái gì đó?

(Xin lưu ý rằng tôi không nói về phím tắt cmd+ ;tự động hoàn thành các mục đã nhập trước đó trong iTerm2.)


1
Terminal và iTerm2 không hoàn thành lệnh Đây là trình bao và các tiện ích bổ sung có thể giống nhau trong Linux và OSX, do đó bạn cần nêu rõ thiết lập đầy đủ của bạn là gì trong Linux và sao chép trong OSX.
dùng151019

Bạn muốn tự động hoàn tất cho git - xem apple.stackexchange.com/q/55875/24565
Michael Durrant

Câu trả lời:


11

Cách dễ nhất để tự động hoàn thành trên OS X là chuyển vỏ của bạn sang zsh.

Bạn có thể kiểm tra mọi thứ bằng cách chạy zshtrong iTerm và terminal trước khi thực hiện chuyển đổi ở trên. Nếu bạn thực sự muốn gắn bó với bashbạn, bạn có thể bắt đầu với hai câu hỏi sau:


3
Ngọt! zsh là tốt! Không bao giờ bận tâm để chuyển từ bash :). Update:Sử dụng zsh với oh-my-zsh thật tuyệt vời.
rgamber

ahhh yêu oh-my-zsh
Tiền tố

13

Một giải pháp khi chuyển đổi từ Ubuntu là sử dụng homebrew, trình quản lý gói cho Mac OSX . Đặc biệt, đối với git, bạn sẽ bao gồm một số bổ sung bao gồm hoàn thành bash. Điều này sẽ đúng với các chương trình khác quen thuộc với các nhà phát triển, như make.

Trong 2 bước:

  1. cài đặt với ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
  2. Chạy brew doctorđể thiết lập đường dẫn của bạn đúng cách
  3. Cài đặt hoàn thành git và bash: brew install git bash-completion
  4. Thêm lệnh trả về trong bước trước trong của bạn .bash_profile.
  5. Khởi động lại các phiên bash của bạn sau khi các công cụ và cấu hình mới được ghi vào hệ thống tệp của bạn.

Thêm về cách này .


3

Tôi có hai gợi ý:

  1. sử dụng , nó thực sự đơn giản và dễ dàng

    a. mở rộng nó bằng cách sử dụng oh-my-fish

  2. zsh với oh-my-zsh. zsh đã được cài đặt, vì vậy bạn không cần phải làm gì nhiều.

    a. chsh -s /bin/zsh

    b. đăng xuất và đăng nhập lại

    c. thực hiện điều này để cài đặt oh-my-zsh wget --no-check-certificate https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | shthêm thông tin ở đây: https://github.com/robbyrussell/oh-my-zsh

Tôi sử dụng oh-my-zshnhưng fishlà tuyệt vời là tốt.


3

Điều này phần nào khắc phục được vấn đề, trong trường hợp ai đó muốn giữ phiên bản Git do Apple cung cấp trên hệ thống của họ.

Bạn có thể tạo bí danh trong tệp .gitconfig trong thư mục chính của mình để có các lệnh git ngắn hơn. Ví dụ, tôi đã thiết lập git để git stchạygit status thay thế.

Các bí danh ví dụ trong .gitconfig:

[alias]
    co = checkout
    ci = commit
    st = status
    br = branch


2

Đối với những người tìm kiếm một giải pháp hoàn thành lệnh cho bash dễ sử dụng như zsh + oh-my-zsh, giờ đây đã có dự án bash-it . Mà, theo cách nói của nó, là "một sự lột xác không biết xấu hổ của oh-my-zsh" - thực sự không có gì sai với điều đó!

Nó thiết lập một plugin giống như kiến ​​trúc như oh-my-zsh, nơi bạn có thể mang mọi thứ vào và ra khỏi môi trường của mình một cách dễ dàng và nhận những thứ mới thông qua đồng bộ hóa với dự án github của họ.

Cài đặt trong ba bước dễ dàng:

  1. Kiểm tra một bản sao của repo này: git clone https://github.com/revans/bash-it.git ~/.bash_it
  2. Chạy ~/.bash_it/install.sh(nó tự động sao lưu của bạn ~/.bash_profile)
  3. Chỉnh sửa ~/.bash_profiletệp của bạn để tùy chỉnh bash-it.

Nếu bạn sợ một công tắc bật đầy đủ zsh, bash-itlà một nền tảng tốt đẹp giúp bạn tiếp tục bashnhưng cung cấp cho bạn rất nhiều plugin mạnh mẽ để mở rộng môi trường của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.