Thay đổi trình chỉnh sửa mặc định cho các tệp được mở trong thiết bị đầu cuối? (ví dụ: đặt nó thành TextEdit / Coda / Textmate)


110

Có cách nào để mở tệp để chỉnh sửa trong thiết bị đầu cuối bằng Textedit không?

Ví dụ: trong đó một lệnh có thể mở một tệp để chỉnh sửa (như git commit), thay vì mở tệp đó bằng vim hoặc emacs, nó sẽ mở trong Textedit (hoặc có thể là một ứng dụng chỉnh sửa văn bản khác mà bạn chọn, chẳng hạn như Coda hoặc Sublime).

Và như một câu hỏi bổ sung, có cách nào để cấu hình cụ thể git để tự động mở tệp được tạo sau khi chạy git committrong trình chỉnh sửa từ thư mục ứng dụng không?


1
Có, tôi đang sử dụng OSX (10.6.4).
Diogenes

Giải pháp tốt nhất mà tôi tìm thấy đang sử dụng duti-> apple.stackexchange.com/a/123954/58507
Gomino

đối với mac os 10.10+ các giải pháp trên sẽ không hoạt động. Hãy thử apple.stackexchange.com/questions/123833/…
Rishikesh Shukla

Câu trả lời:


137

Hầu hết các chương trình sẽ kiểm tra $EDITORbiến môi trường, vì vậy bạn có thể đặt biến đó thành đường dẫn của TextEdit trong bashrc của mình. Git cũng sẽ sử dụng điều này.

Làm như thế nào:

  • Thêm phần sau vào ~/.bashrctệp của bạn :
    export EDITOR="/Applications/TextEdit.app/Contents/MacOS/TextEdit"
  • hoặc chỉ cần nhập lệnh sau vào Terminal của bạn:
    echo "export EDITOR=\"/Applications/TextEdit.app/Contents/MacOS/TextEdit\"" >> ~/.bashrc

Nếu bạn đang sử dụng zsh, hãy sử dụng ~/.zshrcthay vì ~/.bashrc.


20
Hoàn hảo, điều này làm được. Tôi cũng đã chạy lệnh này để đảm bảo git hoạt động theo cách mà tôi mong đợi. Điều này git config --global --unset-all core.editorsau đó git config --global --add core.editor "open -W -n".
Diogenes

Bạn đang sử dụng một vỏ khác?
thay thế

5
trong trường hợp của tôi, tôi đang sử dụng zshnên rõ ràng tôi cần cập nhật .zshrctệp cấu hình.
Malloc

3
sử dụng dấu ngoặc kép nếu đường dẫn đến soạn thảo của bạn có không gian, ví dụ "echo "export EDITOR=\"/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl\"" >> ~/.bashrc" Và bạn có thể phải tải lại .bashrc của bạn với:source ~/.bashrc
Mars Redwyne

Cảm ơn, tôi đã đặt trình soạn thảo nano làm mặc định. Đây là cách thêm nó vào OSX: http://hints.macworld.com/article.php?story=20021017065800302
Micer

28

Sử dụng git config --global core.editor mate -whoặc git config --global core.editor opennhư @dmckee gợi ý trong các nhận xét.

Tham khảo: http://git-scm.com/docs/git-config


3
... và cài đặt nó để sử dụng opencó nghĩa là bạn sẽ tự động lấy công cụ tìm kiếm mặc định. Vì vậy, những thay đổi trong công cụ tìm được truyền tự nhiên.
dmckee --- cựu điều hành kitten

4
opensử dụng Dịch vụ khởi chạy để xác định loại tệp, chủ yếu dựa trên phần mở rộng của nó. Nếu tệp có phần mở rộng không xác định, nó sẽ không mở được tệp. Nói chung, tổng biên tập CLI của bạn nên được một cái gì đó, cho rằng tập tin văn bản ...
Gordon Davisson

Một số (rất) hướng dẫn rõ ràng sẽ rất hữu ích ... tài liệu tham khảo là rất ngắn gọn.
Diogenes

2
@Diogenes: Xem câu trả lời của tôi trên một bài khác nhau nếu bạn vẫn cần sự giúp đỡ rõ ràng hơn: stackoverflow.com/questions/6435246/...
X-Istence

4
Tốt hơn là được git config --global core.editor "open -W"(nếu không bạn sẽ gặp Aborting commit due to empty commit message.lỗi).
rsenna

18

Đối với OS X và Sublime Text

Làm sublsẵn.

Đặt cái này vào ~/.bash_profile

[[ -s ~/.bashrc ]] && source ~/.bashrc

Đặt cái này vào ~/.bashrc

export EDITOR=subl

Tôi thấy rằng điều này không hoạt động chính xác với chsh. Tệp sẽ mở ra, nhưng mọi thay đổi đều bị mất. Tôi đã phải sử dụng chsh -s /bin/zshđể chuyển đổi vỏ bằng tay.
Cryptc

9

Đối với bất kỳ ai đến đây vào năm 2018:

  • chuyển đến iTerm -> Preferences -> Profiles -> Advanced -> Semantic History
  • từ trình đơn thả xuống, chọn Mở bằng Trình chỉnh sửa và từ trình đơn thả xuống bên phải, hãy chọn trình chỉnh sửa bạn chọn

5

Đặt trình chỉnh sửa của bạn trỏ đến chương trình này:

/Applications/TextEdit.app/Contents/MacOS/TextEdit

Với SVN, bạn nên đặt SVN_EDITORbiến môi trường thành:

$ export SVN_EDITOR=/Applications/TextEdit.app/Contents/MacOS/TextEdit

Và sau đó, khi bạn thử cam kết điều gì đó, TextEdit sẽ khởi chạy.


1
Tôi muốn sử dụng hơn /usr/bin/open, vì điều đó sẽ sử dụng mặc định của công cụ tìm bất kỳ thứ gì bạn đặt nó thành.
dmckee --- cựu điều hành kitten

Làm thế nào bạn sẽ làm tương tự cho git?
Diogenes

Điều đầu tiên thích là chỉ đặt EDITOR = thành đó, nhưng tôi phải nhập gì cho dòng thứ hai?
Người dùng


0

Nếu bạn muốn trình soạn thảo làm việc với các thao tác git, việc đặt $EDITORbiến môi trường có thể là không đủ, ít nhất là không phải trong trường hợp của Sublime - ví dụ: nếu bạn muốn rebase, nó sẽ chỉ thông báo rằng rebase thành công, nhưng bạn đã thắng ' không có cơ hội chỉnh sửa tệp theo bất kỳ cách nào, git sẽ chỉ đóng tệp đó ngay lập tức:

git rebase -i HEAD~
Successfully rebased and updated refs/heads/master.

Nếu bạn muốn Sublime hoạt động chính xác với git, bạn nên cấu hình nó bằng cách sử dụng:

git config --global core.editor "sublime -n -w"

Tôi đến đây để tìm kiếm điều này và tìm thấy giải pháp trong ý chính này trên github .


0

đặt Sublime Text 3 làm trình soạn thảo văn bản mặc định của bạn: (Yêu cầu khởi động lại)

defaults write com.apple.LaunchServices LSHandlers -array-add "{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.sublimetext.3;}"

làm cho siêu phàm sau đó là trình soạn thảo văn bản git mặc định của bạn git config --global core.editor "subl -W"

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.