Câu hỏi Làm cách nào để Git sử dụng trình soạn thảo mà tôi chọn cho các cam kết?


Tôi muốn viết thư cam kết của tôi trong Vim, nhưng nó đang mở chúng trong Emacs.

Làm thế nào để cấu hình Git luôn sử dụng Vim? Lưu ý rằng tôi muốn làm điều này trên toàn cầu, không chỉ cho một dự án duy nhất.


1899
2018-04-08 00:28


gốc


"Làm thế nào để có được git để đi đến vim cho cam kết ý kiến ​​từ git-go?" - Michael Burr
Liên quan (có thể trùng lặp): Làm thế nào tôi có thể thiết lập một trình soạn thảo để làm việc với Git trên Windows? - Steven Vascellaro


Các câu trả lời:


Nếu bạn muốn đặt trình chỉnh sửa chỉ có cho Git, hoặc là (bạn không cần cả hai):

  • Bộ core.editor trong cấu hình Git của bạn: git config --global core.editor "vim"
  • Đặt GIT_EDITOR biến môi trường: export GIT_EDITOR=vim

Nếu bạn muốn thiết lập trình soạn thảo cho Git và các chương trình khác, đặt tiêu chuẩn hóa VISUAL và EDITOR biến môi trường *:

export VISUAL=vim
export EDITOR="$VISUAL"

* Thiết lập cả hai không nhất thiết là cần thiết, nhưng một số chương trình có thể không sử dụng chính xác hơn VISUAL. Xem VISUAL so với EDITOR.


Đối với văn bản tuyệt vời: Thêm mục này vào .gitconfig. Các --wait là quan trọng. (nó cho phép gõ văn bản trong tuyệt vời và sẽ chờ đợi để lưu / đóng sự kiện.

[core]
    editor = 'subl' --wait

'subl' có thể được thay thế bằng đường dẫn đầy đủ của tệp thực thi nhưng thường có sẵn khi được cài đặt chính xác.


2677
2018-04-08 00:34



Biến môi trường EDITOR có lợi thế là một số chương trình khác cũng sẽ tôn trọng nó. - Boojum
Lưu ý rằng git config --global sẽ ghi vào tệp cấu hình git cá nhân (cho mỗi người dùng) của bạn. Trên Unices nó là ~/.gitconfig. Vì vậy, điều này sẽ cấu hình nó cho tất cả các kho của bạn. - Jakub Narębski
bạn có thể kiểm tra bạn đã thay đổi thành công nó bằng cách cố gắng sửa đổi thông điệp cam kết cuối cùng. git commit --amend - Marco M.
Nếu bạn đang làm tùy chọn # 1 trong Windows và có dấu cách trong đường dẫn đến trình soạn thảo (ví dụ, nếu nó nằm trong Program Files) thì hãy whack single-quotes bên trong dấu ngoặc kép của bạn. ví dụ. "'C: / Program Files (x86) /Whatever/App.exe'" - hiển nhiên đối với một số nhưng không phải với tôi! - Pablissimo
@Abramodj -w không cần thiết; -w {scriptout} lưu tất cả các ký tự bạn nhập khi chỉnh sửa để phát lại sau. Có lẽ bạn đang bối rối với -f, cái nào Là cần thiết khi gọi phiên bản GUI của Vim. Đó là, nếu bạn sử dụng mvim, thì trình chỉnh sửa bạn chỉ định sẽ là mvim -f thay vì mvim. - Rory O'Kane


Sao chép dán này:

git config --global core.editor "vim"

Trong trường hợp bạn muốn biết bạn đang làm gì. Từ man git-commit:

MÔI TRƯỜNG VÀ BIẾN ĐỔI CẤU HÌNH

Trình chỉnh sửa được sử dụng để chỉnh sửa thông báo nhật ký cam kết sẽ được chọn từ GIT_EDITOR biến môi trường, core.editor biến cấu hình, VISUAL biến môi trường hoặc EDITOR biến môi trường (theo thứ tự đó).


461
2018-04-08 00:31



Btw, ở trên là đúng cho CVS và SVN, và tôi đoán các điều khiển phiên bản khác. - armandino
@armandino: Có, những người khác có thể sử dụng VISUAL hoặc là EDITOR, nhưng chắc chắn họ không sử dụng GIT_EDITOR hoặc là core.editor. - Mark Rushakoff
Vâng - svnbook.red-bean.com/en/1.1/ch07.html#svn-ch-7-sect-1.3.2 Vì vậy, trong lý thuyết, nếu tôi đang sử dụng cả svn và git, thiết lập $ VISUAL hoặc $ EDITOR sẽ là giải pháp tốt nhất để bao gồm cả hai theo mặc định! - brasskazoo
Vì lợi ích của sự hoàn chỉnh, core.editor có nghĩa là [core] editor = ... trong tệp - JRG
Không trả lời câu hỏi "Làm cách nào để tôi định cấu hình git ..." - Ant6n


Trên Ubuntu và Debian (nhờ @MichielB), việc thay đổi trình soạn thảo mặc định cũng có thể bằng cách chạy:

sudo update-alternatives --config editor

Mà sẽ nhắc như sau:

There are 4 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
  0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
* 3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    10        manual mode

Press enter to keep the current choice[*], or type selection number: 

144
2017-10-27 15:35



Trên Debian, nó cũng hoạt động, cảm ơn! Nó mặc định là pico - argh. - MichielB
Không phải trên vòm? : [ - dylnmc
Tất nhiên nó hoạt động trên Debian; nó là một tính năng Debian, giống như hầu hết mọi thứ (ooh, gây tranh cãi!), Ubuntu chỉ thừa kế. Debian alternatives hệ thống là một cách dễ dàng hơn nhiều để quản lý các giá trị mặc định cho các kiểu chương trình được hỗ trợ. Để tham khảo: debian-administration.org/article/91/… - underscore_d
Nó hoạt động, trong khi GIT_EDITOR và EDITOR  không hoạt động - Ubuntu - Ninja
Không có tùy chọn cho Emacs? Nếu đúng, thật là xấu hổ! - haziz


Trong cửa sổ 7, trong khi thêm trình chỉnh sửa "Tuyệt vời", nó vẫn cho tôi lỗi:

Hủy bỏ cam kết do thông báo cam kết trống.

Tuyệt vời không thể giữ lấy nét.

Để khắc phục điều này, tôi đã mở tệp .gitconfig trong thư mục c: / users / username / và thêm dòng sau bằng tùy chọn --wait bên ngoài dấu ngoặc kép.

[core]
      editor = 'F:/Program Files/Sublime Text 2/sublime_text.exe' --wait

Hy vọng nó hữu ích cho ai đó phải đối mặt với vấn đề tương tự với Sublime.


53
2018-02-21 17:15



Tốt đẹp! Cảm ơn Anmol, tôi đã gặp vấn đề đó khi nó được cam kết trên một thông điệp trống rỗng. - sircapsalot
Tại sao bạn muốn sử dụng tuyệt vời cho cam kết git? - Adam F
Bất kỳ trình soạn thảo nào cho git commit sẽ chủ yếu được sử dụng để thêm nhiều dòng chú thích và Sublime là một sự lựa chọn lập trình vì nhiều lý do khác nhau cho nhiều nhà phát triển. Mọi người thường có khuynh hướng sử dụng một trình soạn thảo cho hầu hết mã hóa của họ và các tác phẩm khác. Sublime chỉ là một sự lựa chọn cá nhân, nó có thể là bất kỳ trình soạn thảo nào. - Anmol Saraf
Chỉ cần phát hiện ra rằng các dấu nháy đơn là bắt buộc. Nó không hoạt động với dấu ngoặc kép ". - dotnetCarpenter
Thay vì chỉnh sửa gitconfig theo cách thủ công, bạn có thể sử dụng lệnh này git config --global core.editor "'C:/Program Files/Sublime Text 3/subl.exe' --wait" - KayakinKoder


Trong Windows 7, hãy thiết lập trình soạn thảo thành Notepad ++

  • Mở bất kỳ trình soạn thảo văn bản nào.
  • Mở tệp này: C:\Users\YOUR_USERNAME\.gitconfig
  • Thêm phần này vào cuối:

[core]
    editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' 
  • Lưu và đóng tập tin.
  • Khi bạn cam kết với git, chỉ cần viết git commit và hãy nhấn Enter. Nó sẽ bật mở Notepad ++.
  • Viết thông điệp cam kết của bạn ở đầu tệp và lưu và đóng tệp. Làm xong!

47
2018-03-07 00:08



cuối cùng ai đó biết cách viết nó đơn giản! Cảm ơn. Nhưng bạn nên đề cập, rằng trong đường dẫn đến notepad phải được sử dụng '/' hoặc double backslash '\\', nếu không git sẽ phàn nàn ... - icl7126
Bạn có thể cần phải thêm ít nhất -multiInst như một tham số cho notepad ++ và có thể -notabbar. Làm điều này nếu git dường như không biết khi bạn đã hoàn thành chỉnh sửa các tập tin và chờ đợi mãi mãi hoặc không phải ở tất cả. - ErikE
Chỉ là những gì tôi muốn. Tương phản sử dụng \ và / - Henry
để đặt cấu hình trên dòng lệnh, tôi cần dấu ngoặc kép bên trong dấu nháy đơn như >git config --global core.editor '"C:/Program Files (x86)/Notepad++/notepad++.exe"' - Josef
Để thêm các thông số Notepadd ++, tôi phải thực hiện điều này: editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar- đó là, các tham số bên ngoài dấu nháy đơn đơn lẻ - cropredy


Và nếu bạn đang làm việc với các nhà thiết kế sử dụng dòng lệnh thì Pico, và không biết cắt ngắn;)

git config --global core.editor "pico"

Hoặc là

export VISUAL=pico
export EDITOR=pico

21
2018-06-27 13:56





Đặt Sublime Text 2 là Git commit editor trong Mac OSX 10

Chạy lệnh này:

$ git config --global core.editor "/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl"

Hoặc chỉ:

$ git config --global core.editor "subl -w"

15
2018-03-01 01:19



tôi khá chắc chắn rằng tuyệt vời có một tập tin thực thi như mate.. - code ninja
Bằng cách nào đó nó không cung cấp văn bản cho git. Tôi đã 'hủy bỏ cam kết do thông điệp cam kết trống rỗng'. lỗi. - mahe madhi
Tôi đã sử dụng lệnh đầu tiên để thiết lập SL. cmd + S rồi cmd + W để đóng trình chỉnh sửa - mahe madhi
Visual Studio Code cũng hỗ trợ -w tham số. Ví dụ. $ git config --global core.editor "code -w". Neat stuff - Automatico
Câu trả lời thay thế ở đây: stackoverflow.com/a/48212377/4561887, với ví dụ về Linux. - Gabriel Staples