Làm cách nào để khiến Git sử dụng trình soạn thảo mà tôi chọn để xác nhận?


2549

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

Làm cách nào để định 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.


202
"Làm thế nào để có được git để đi đến vim cho nhận xét cam kết từ git-go?"
Michael Burr

Câu trả lời:


3488

Nếu bạn muốn thiết lập các biên tập viên chỉ cho Git, làm một trong hai (bạn không cần phải cả hai):

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

Nếu bạn muốn đặt trình chỉnh sửa cho Git và các chương trình khác , hãy đặt các biến môi trường VISUALvà tiêu chuẩn hóa EDITOR*:

export VISUAL=vim
export EDITOR="$VISUAL"

* Cài đặt 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 VISUALso vớiEDITOR .


Đối với văn bản cao siêu : Thêm phần này vào .gitconfig. Điều --waitnày rất quan trọng (nó cho phép nhập văn bản cao siêu và sẽ chờ sự kiện lưu / đóng.)

[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.


96
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

16
Lưu ý rằng git config --globalsẽ ghi vào tệp cấu hình git cá nhân (mỗi người dùng) của bạn. Trên Unices là nó ~/.gitconfig. Vì vậy, điều này sẽ cấu hình nó cho tất cả các kho lưu trữ của bạn.
Jakub Narębski

42
bạn có thể kiểm tra bạn đã thay đổi thành công bằng cách cố gắng sửa đổi thông báo cam kết cuối cùng. git commit --amend
Marco M.

11
Nếu bạn đang thực hiện tùy chọn số 1 trong Windows và có khoảng trắng trong đường dẫn đến trình chỉnh sửa (giả sử, nếu đó là trong Tệp chương trình) thì hãy bỏ dấu ngoặc đơn trong dấu ngoặc kép của bạn. ví dụ: "'C: / Tệp chương trình (x86) /Whthing/App.exe'" - rõ ràng với một số người nhưng nó không phải với tôi!
Pablissimo

5
@ Abramodj -wlà 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 nhầm lẫn nó với -f, mà 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 soạn thảo bạn chỉ định nên mvim -fthay vì mvim.
Rory O'Kane

618

Sao chép dán này:

git config --global core.editor "vim"

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

MÔI TRƯỜNG VÀ BIẾN ĐỔI MÔI TRƯỜNG

Trình chỉnh sửa được sử dụng để chỉnh sửa thông điệp nhật ký cam kết sẽ được chọn từ GIT_EDITORbiến môi trường, core.editorbiến cấu hình, VISUALbiến môi trường hoặc EDITORbiến môi trường (theo thứ tự đó).


4
Btw, những điều trên là đúng với CVS và SVN, và tôi đoán các điều khiển phiên bản khác.
armandino

6
@armandino: Có, những người khác có thể sử dụng VISUALhoặc EDITOR, nhưng họ chắc chắn không sử dụng GIT_EDITORhoặc core.editor.
Đánh dấu Rushakoff

8
Yep - svnbook.red-bean.com/en/1.1/ch07.html#svn-ch-7-sect-1.3.2 Vì vậy, theo lý thuyết, nếu tôi sử dụng cả svn và git, hãy đặt $ VISUAL hoặc $ EDITOR là giải pháp tốt nhất để bao gồm cả hai theo mặc định!
Brasskazoo

12
Để hoàn thiện, core.editor có nghĩa là trình biên tập [core] = ... trong tệp
JRG

2
Không trả lời câu hỏi "Làm cách nào để định cấu hình git ..."
Ant6n

193

Trên Ubuntu và cả Debian (cảm ơn @MichielB) cũng có thể thay đổi trình chỉnh sửa mặc định bằng cách chạy:

sudo update-alternatives --config editor

Điều này 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: 

8
Trên Debian cái này cũng hoạt động, cảm ơn! Nó mặc định là pico - argh.
MichielB

2
Tất nhiên nó hoạt động trên Debian; đó 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ỉ kế thừa. alternativesHệ thống của Debian là cách dễ dàng hơn nhiều để quản lý mặc định cho các loại chương trình được hỗ trợ. Để tham khảo: debian-adftime.org/article/91/ Mạnh
underscore_d

Nó hoạt động, trong khi GIT_EDITOREDITOR không hoạt động
Ninja

Không có lựa chọn cho Emacs? Nếu đúng thì thật là xấu hổ!
haziz

2
@haziz update-alternativessẽ hiển thị bất kỳ trình soạn thảo nào đã được cài đặt. Koen không cài đặt Emacs.
Thiếu tá

59

Trong windows 7, trong khi thêm trình chỉnh sửa "Sublime", nó vẫn báo lỗi:

Hủy bỏ cam kết do tin nhắn cam kết trống.

Sublime đã không thể giữ sự tập trung.

Để 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 với 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.


Đẹp! Cảm ơn Anmol, tôi đã gặp vấn đề đó khi nó đang cam kết với một tin nhắn trống.
ddavison

Tại sao bạn muốn sử dụng thăng hoa cho các cam kết git?
Adam F

13
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 bình luận và Sublime là một lựa chọn lập trình viên vì nhiều lý do cho nhiều nhà phát triển. Mọi người thường có xu hướng sử dụng một trình soạn thảo cho hầu hết các công việc mã hóa và các công việc khác của họ. Sublime chỉ là một lựa chọn cá nhân, nó có thể là bất kỳ biên tập viên nào.
Anmol Saraf

4
Chỉ cần phát hiện ra rằng các trích dẫn duy nhất là bắt buộc. Nó không hoạt động với dấu ngoặc kép ".
dotnetCarpenter

1
Thay vì chỉnh sửa thủ công gitconfig, bạn có thể sử dụng lệnh nàygit config --global core.editor "'C:/Program Files/Sublime Text 3/subl.exe' --wait"
kayinKoder

53

Trong Windows 7, cài đặt trình chỉnh sửa thành Notepad ++

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

[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 commitvà nhấn Enter. Nó sẽ bật Notepad ++.
  • Viết thông điệp cam kết của bạn ở đầu tệp, lưu và đóng tệp. Làm xong!

cuối cùng cũng có người biết viết đơn giản! Cảm ơn. Nhưng bạn nên đề cập rằng, trong đường dẫn tới notepad phải được sử dụng '/' hoặc dấu gạch chéo kép '\\', nếu không git sẽ phàn nàn ...
icl7126

10
Bạn có thể cần thêm ít nhất -multiInstlà 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 nào bạn hoàn thành chỉnh sửa tệp và chờ đợi mãi mãi hay không.
ErikE

1
Chỉ cần những gì tôi muốn. Tương phản việc sử dụng \ và /
Henry

4
để đặt cấu hình trên dòng lệnh, tôi cần hai dấu ngoặc kép bên trong các dấu ngoặc đơn như>git config --global core.editor '"C:/Program Files (x86)/Notepad++/notepad++.exe"'
Josef

2
Để thêm các thông số Notepadd ++, tôi đã phải làm điều này: editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar- nghĩa là, các thông số bên ngoài các trích dẫn đơn phân định
cropredy

30

Để tạo Visual Studio Code (vscode) trình chỉnh sửa git mặc định của bạn

git config --global core.editor "code --wait"

24

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

git config --global core.editor "pico"

Hoặc là

export VISUAL=pico
export EDITOR=pico

18

Atom là biên tập viên git của bạn

git config --global core.editor "atom --wait"

Nguyên tử cần được cấu hình để chạy từ dòng lệnh để hoạt động ở trên:

OS X : cài đặt các lệnh shell từ Atom: thanh menu> Atom> Cài đặt các lệnh Shell

Windows : không cần hành động - nguyên tử được cấu hình để chạy từ dòng lệnh theo mặc định


17

Đặt Sublime Text 2 làm trình chỉnh sửa cam kết Git 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"

Bằng cách nào đó nó không cung cấp văn bản cho git. Tôi nhận được 'Hủy bỏ cam kết do thông báo cam kết trống.' lỗi.
Mahendran

Tôi đã sử dụng lệnh đầu tiên để thiết lập SL. cmd + S sau đó cmd + W để đóng trình chỉnh sửa
Mahendran

2
Visual Studio Code cũng hỗ trợ -wtham số. Ví dụ. $ git config --global core.editor "code -w". Nội dung gọn gàng
Automatico

Câu trả lời thay thế ở đây: stackoverflow.com/a/48212377/4561887 , với ví dụ về Linux.
Gabriel Staples

13

Windows: đặt notepad làm trình chỉnh sửa thông báo cam kết mặc định

git config --global core.editor notepad.exe

Nhấn Ctrl+ Sđể lưu tin nhắn cam kết của bạn. Để loại bỏ, chỉ cần đóng cửa sổ notepad mà không lưu.

Trong trường hợp bạn nhấn phím tắt để lưu, sau đó quyết định hủy bỏ, hãy đi tới Tệp-> Lưu dưới dạng và trong hộp thoại mở ra, thay đổi "Lưu dưới dạng" thành "Tất cả tệp (*. *)". Bạn sẽ thấy một tập tin có tên "COMMIT_EDITMSG". Xóa nó và đóng cửa sổ notepad.

Chỉnh sửa: Cách khác, và dễ dàng hơn, xóa tất cả nội dung khỏi cửa sổ notepad đang mở và nhấn lưu. (cảm ơn mwfearnley đã bình luận!)

Tôi nghĩ rằng đối với các bài viết nhỏ như tin nhắn cam kết notepad phục vụ tốt nhất, bởi vì nó đơn giản, có cửa sổ, mở ra ngay lập tức. Ngay cả sự siêu phàm của bạn cũng có thể mất một hoặc hai giây để bị đuổi việc khi bạn có vô số plugin và công cụ.


2
Thay vì đi đến Tệp-> Lưu dưới dạng, bạn có thể để trống tệp (hoặc nhận xét bất kỳ dòng nào không trống), và sau đó Git sẽ hủy bỏ do thông báo cam kết trống.
mwfearnley

@Stepan Bạn đang sửa đổi cam kết? Nếu vậy, thì tôi đoán nó phải làm với \r\n(dòng mới trong Windows) và \n(dòng mới trong linux, cũng mặc định cho Git).
Sнаđошƒаӽ

tốt hơn là bạn thêm dòng như thế này core.editor = 'notepad' .git/COMMIT_EDITMSG --waitđể nó mở và lưu thông báo chỉnh sửa mặc định và bạn không cần "lưu dưới dạng"
Radon8472

12

Điều này cung cấp câu trả lời cho những người đến Câu hỏi này có thể muốn liên kết một biên tập viên khác ngoài vim.

Tài nguyên được liên kết, bởi Github , có thể sẽ được cập nhật, khi các biên tập viên được cập nhật, ngay cả khi câu trả lời trên SO (bao gồm cả cái này) thì không.

Liên kết Trình chỉnh sửa văn bản với git

Bài đăng của Github hiển thị chính xác những gì cần nhập vào dòng lệnh của bạn cho các trình soạn thảo khác nhau, bao gồm các tùy chọn / cờ cụ thể cho từng trình soạn thảo để nó hoạt động tốt nhất với git.

Notepad ++:
git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

Văn bản cao siêu:
git config --global core.editor "'c:/Program Files/sublime text 3/subl.exe' -w"

Nguyên tử:
git config --global core.editor "atom --wait"

Các lệnh trên giả sử trình soạn thảo của bạn đã được cài đặt trong thư mục mặc định cho máy windows.

Các lệnh về cơ bản thêm văn bản giữa dấu ngoặc kép .gitconfigvào thư mục chính của bạn.
Trên một máy chủ windows có khả năng là C:\Users\your-user-name, nơi tên người dùng của bạn là tên đăng nhập của bạn.
Từ dòng lệnh, bạn có thể đến thư mục này bằng cách nhập vào cd ~.

ví dụ, một lệnh ở trên sẽ được thêm dòng sau vào [core]phần như sau:
[core] editor = 'C:/Program Files/sublime text 3/subl.exe' -w

Nếu bạn có một trình soạn thảo khác, chỉ cần thay thế bằng đường dẫn đến trình soạn thảo của bạn, sử dụng một trong hai phương pháp trên. (và hy vọng không có cờ nào là cần thiết để sử dụng tối ưu.)


Cảm ơn, tôi đã vật lộn với thực tế là chỉ "vim" đã khởi chạy phiên bản vim "nội bộ" cho Git (không có tùy chọn của tôi, v.v.). Cung cấp đường dẫn đầy đủ đến ví dụ của tôi đã giải quyết vấn đề!
benichka

10

Dành cho người dùng emacs

.emacs:

(server-start)

shellrc:

export EDITOR=emacsclient

6
Dưới đây là cách đặt emacs ở chế độ đầu cuối khi kết nốigit config --global core.editor "emacs -nw"
kuk Bán đảo

Tôi sử dụng git config --global core.editor "emacs -nw -q", nơi -qbỏ qua các tập tin khởi tạo.
Miguelmorin

8

Cài đặt tốt nhất cho Sublime Text 3 làm trình chỉnh sửa Git của bạn (hướng dẫn Windows & Linux):

Để làm theo các hướng dẫn này trong Windows, hãy đảm bảo bạn đã cài đặt Git cho Windows . Trong Windows, tôi thích sử dụng Git Bash để nó có cảm giác giống Linux hơn.

Đầu tiên, chúng tôi muốn tạo một dự án Sublime Text đặc biệt để chúng tôi có thể chỉ định cài đặt dự án đặc biệt mà chúng tôi muốn đặt bất cứ khi nào Git gọi trình chỉnh sửa, để giúp mọi việc dễ dàng hơn khi chỉnh sửa trong Git. Ví dụ, tôi thường đặt thước kẻ của mình thành 120 ký tự trong hầu hết các dự án, nhưng đối với các thông báo cam kết Git, tôi muốn nó có 72 ký tự để nó phù hợp độc đáo trong một thiết bị đầu cuối khi bạn gọi git loghoặc git lg.


1. Tạo dự án Văn bản cao siêu với các cài đặt chúng tôi muốn sử dụng để chỉnh sửa tin nhắn cam kết Git

Mở Sublime Text và vào menu "File""New Window" để tạo một dự án ẩn danh mới. Vào menu "Project""Save Project As ..." và chọn một nơi để lưu nó. Trong Linux tôi đã lưu nó trong thư mục nhà Linux của tôi với tên tệp .gitconfig.sublime-project. Do đó, đường dẫn của nó là : ~/.gitconfig.sublime-project. Trong Windows cũng lưu nó trong thư mục chính của bạn, ví dụ: C:\Users\MY_USER_NAME\.gitconfig.sublime-project Bây giờ, hãy chuyển đến trình đơn "Dự án""Chỉnh sửa dự án" để chỉnh sửa cài đặt dự án. Dán như sau và lưu các cài đặt. Thực hiện bất kỳ chỉnh sửa nào thêm cho cài đặt dự án của bạn nếu muốn.

{
    // For folder settings help see here: https://www.sublimetext.com/docs/3/projects.html

    "folders":
    [

    ],

    "settings":
    {

        // Disables horizontal scrolling if enabled.
        // May be set to true, false, or "auto", where it will be disabled for
        // source code, and otherwise enabled.
        "word_wrap": false,

        // Set to a value other than 0 to force wrapping at that column rather than the
        // window width
        "wrap_width": 0,

        // Columns in which to display vertical rulers
        "rulers": [72, 50], //72 is recommended by git for commit message content, and 50 for commit titles

        // The number of spaces a tab is considered equal to
        "tab_size": 4,

        // Set to true to insert spaces when tab is pressed
        "translate_tabs_to_spaces": true,
    },

    "build_systems":
    [

    ]

}

2. Đặt trình chỉnh sửa được Git sử dụng

Bây giờ chúng ta cần thiết lập trình chỉnh sửa được Git sử dụng, bằng cách chỉnh sửa .gitconfigtệp.

Đối với Linux:

Bản sao người dùng của bạn sẽ được đặt trong ~/.gitconfig. Mở tệp này và thêm các dòng sau. Hãy chắc chắn sử dụng tên đường dẫn thích hợp cho dự án Git mà bạn vừa tạo ở trên! Tôi đang sử dụng ~/.gitconfig.sublime-project.

[core]
    editor = subl --project ~/.gitconfig.sublime-project --wait

Điều --waitnày rất quan trọng, vì nó buộc Git phải đợi cho đến khi bạn đóng tệp trước khi tiếp tục. Các --projectdòng là quan trọng muốn nói chữ Sublime mà dự án bạn muốn mở bất cứ khi nào Git mở chữ Sublime.

Câu trả lời của Per @ Digitaldreamer ở ​​trên ( https://stackoverflow.com/a/2596835/4561887 ), " sublcó thể được thay thế bằng đường dẫn đầy đủ của tệp thực thi nhưng [bí danh subl] thường có sẵn khi [Sublime được cài đặt chính xác."

Cho cửa sổ:

Đối với Windows, trước tiên hãy đọc hướng dẫn Linux để biết thông tin cơ bản. Bây giờ chúng tôi sẽ làm một cái gì đó gần như giống hệt nhau.

(TÙY CHỌN: tạo sublbí danh để sử dụng trong Git Bash):

Mở trình soạn thảo văn bản (ví dụ: Notepad, Notepad ++, Sublime Text, Geany , v.v.) và tạo một tệp có tên ".bash_profile" trong thư mục chính của bạn. Do đó, đường dẫn của nó sẽ là : C:\Users\MY_USER_NAME\.bash_profile. Lưu những điều sau vào nó:

alias subl="/c/Program\ Files/Sublime\ Text\ 3/subl.exe"

Điều này tạo ra một bí danh Git Bash được gọi là sublbây giờ chúng ta có thể sử dụng trong Git Bash cho Windows, để dễ dàng mở Sublime Text. Bước này không bắt buộc, nhưng nó hữu ích cho việc sử dụng Git Bash chung. Bây giờ, bạn có thể gọi subl ., trong Git Bash để mở một dự án Sublime Text mới trong thư mục hiện tại của bạn.

(BẮT BUỘC):

Chỉnh sửa .gitconfigtập tin tìm thấy trong thư mục nhà của bạn:C:\Users\MY_USER_NAME\.gitconfig , bằng cách thêm vào sau đây. Lưu ý những thay đổi tinh tế từ các hướng dẫn Linux ở trên:

[core]
  editor = 'C:/Program Files/Sublime Text 3/subl.exe' --project ~/.gitconfig.sublime-project --wait
  • Lưu ý rằng bạn phải chỉ định đường dẫn đầy đủ đến tệp thực thi Sublime Text. Lưu ý hướng của dấu gạch chéo! Sử dụng /KHÔNG\ để phân tách các thư mục trong tên đường dẫn! (Cảm ơn VonC đã giúp tôi thấy điều này ).
  • Chúng tôi sublalias chúng tôi thực hiện cho Git Bash trên không làm việc ở đây, vì vậy bạn không thể sử dụng nó như chúng tôi đã làm trong ví dụ Linux, thay vào đó bạn phải ghi rõ toàn bộ đường dẫn như trình bày ở trên.
  • Các ~biểu tượng, tuy nhiên, hiện vẫn còn làm việc ở đây để có được vào thư mục chính của Windows.

2.5. (Tùy chọn) Cài đặt gói "Git" vào Văn bản tuyệt vời 3.

Điều này cung cấp cho bạn cú pháp tô sáng cho git commitcác tin nhắn, cũng như truy cập vào các lệnh Git khác, chẳng hạn như git blame(mà tôi sử dụng thường xuyên trong Văn bản cao siêu) hoặcgit commit (mà tôi không sử dụng trong Văn bản tuyệt vời vì tôi thích dòng lệnh cho Git chung dòng chảy, như tôi đã đề cập trong các bình luận của tôi bên dưới câu trả lời này).

Để cài đặt gói: Trước tiên, hãy đảm bảo Gói điều khiển Gói được cài đặt. Tiếp theo, nhấn Ctrl+ Shift+ P(giống như Công cụ → Bảng màu lệnh) và nhập tất cả hoặc một phần của Điều khiển gói Gói: Cài đặt Gói Gói, sau đó nhấn Enter. Trong hộp tìm kiếm xuất hiện, tìm kiếm gói "Git" và nhấn Entervào nó, hoặc bấm vào nó, để tự động cài đặt nó.

Sau khi cài đặt, Ctrl+ Shift+ Psau đó tìm kiếm "git" sẽ hiển thị các lệnh Git mà bạn có thể sử dụng bên trong Sublime Text ngay bây giờ, chẳng hạn như git blame.


3. Sử dụng nó

Bây giờ, khi bạn gọi git commit, như bình thường từ dòng lệnh, Sublime Text sẽ mở ra trong phần .gitconfig.sublime-projectchúng tôi đã tạo ở trên, với các cài đặt của dự án đó! Khi bạn nhập một đoạn, bạn sẽ nhận thấy nó kéo dài qua thước kẻ mà chúng ta đã đặt do tính năng ngắt từ mềm. Để buộc bọc cứng thông qua trả lại cứng tự động chèn vào cuối mỗi dòng, đặt con trỏ của bạn trên dòng dài bạn muốn tự động bọc và nhấn Alt+ Q. Bây giờ nó sẽ cứng / gấp cứng ở 72 ký tự, đó là những gì chúng ta đặt trong tham số "thước kẻ" của cài đặt dự án ở trên.

Bây giờ, lưu thông điệp cam kết của bạn bằng Ctrl+ Svà thoát (để hoàn thành git commit) với Ctrl+ Shift+W .

Làm xong!

Liên quan:

  1. Git mergetool với Meld trên Windows
  2. https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles

1
Điều đó có vẻ khá chi tiết. +1
VonC

Trong Sublime Text 3, giờ đây có một Git Commitkiểu cú pháp. Bây giờ bạn có thể bỏ qua bước "dự án văn bản cao siêu" tùy chỉnh.
yegeniy

Tôi không đồng ý: chỉ làm nổi bật cú pháp. Dự án tùy chỉnh của tôi không chạm vào cú pháp higlighting: nó đặt thước kẻ và đưa ra bối cảnh cho git của bạn cam kết mở ra để chúng không mở trong bất kỳ dự án nào bạn có hoặc cuối cùng đã mở. Hai người không liên quan; làm cả hai
Gabriel Staples

Tôi vừa thêm bước 2.5, NHƯNG (bit "nhưng" ở đây): Tôi không luôn sử dụng Sublime Text 3 làm trình soạn thảo của mình (đôi khi tôi sử dụng Eclipse vì nó có tính năng theo dõi và lập chỉ mục biểu tượng vượt trội hơn so với Sublime mặc dù đó là trình soạn thảo nhảm nhí so với Sublime) và tôi thực sự thích sử dụng Git từ dòng lệnh, vì vậy tôi chắc chắn không khuyên bạn bỏ qua Bước 1 ngay cả khi bạn cài đặt gói "Git" vào Sublime như tôi đã mô tả trong Bước 2.5 vừa rồi. Có, bạn có thể thực hiện Git Commits trực tiếp từ Sublime nhưng tôi thích dòng lệnh hơn.
Gabriel Staples

MIPO: Nếu bạn sử dụng sublimecùng gitvà cũng sử dụng, trim_trailing_white_space_on_savebạn muốn thêm một bí danh để thêm bản vá vì việc xóa dấu cách khoảng trắng sẽ phá vỡ các bản chỉnh sửa trong đó rất có ý nghĩa. Điều này có thể đạt được với một cái gì đó như thế này:git config --global alias.patch "-c core.editor=vim add --patch"
Timo

3

Mvim là biên tập viên git của bạn

Giống như tất cả các ứng dụng GUI khác, bạn phải khởi chạy mvim với cờ chờ.

git config --global core.editor "mvim --remote-wait"

--remote-wait-silentđể tránh thông báo lỗi xấu xí :)
Shinigami

2

Đối với người dùng Windows muốn sử dụng neovim với Hệ thống con Windows cho Linux:

git config core.editor "C:/Windows/system32/bash.exe --login -c 'nvim .git/COMMIT_EDITMSG'"

Đây không phải là một giải pháp chống lừa vì nó không xử lý việc khởi động lại tương tác (ví dụ). Cải tiến rất đáng hoan nghênh!


1

Cứ thử đi EDITOR=vim git commit.

Hoặc bạn có thể đặt EDITOR của mình thành vim bằng export EDITOR=vimbashrc.


1

Đối với người dùng TextWrangler từ cửa hàng ứng dụng Mac:

git config --global core.editor "open -n -W -a TextWrangler"

Ngoài ra, hãy đảm bảo "TextWrangler> Tùy chọn> Ứng dụng> Khi TextWrangler hoạt động:" cài đặt được đặt thành "Không làm gì"

Điều này hoạt động với tôi trên OS X 10.11.4 với TextWrangler 5.0.2 từ cửa hàng ứng dụng Mac.

Giải trình:

Các -n phương tiện mở trong một trường hợp mới.

các -W phương tiện để chờ cho đến khi thoát khỏi ứng dụng trước khi sử dụng các nội dung của tập tin đã chỉnh sửa như các cam kết thông báo.

Các TextWrangler -a phương tiện sử dụng ứng dụng TextWrangler để mở tập tin.

Xem man opentrong ứng dụng Mac Terminal của bạn để biết thêm chi tiết.


Nếu TextWrangler đã mở, giải pháp của bạn sẽ mở một phiên bản khác với cùng tập tin của tệp đầu tiên. Điều này có vẻ nguy hiểm.
Klaas

Tôi đã cài đặt các công cụ dòng lệnh TextWrangler ( barebones.com/support/textwrangler/cmd-line-tools.html ) và sau đó được sử dụng git config --global core.editor "edit -w". Điều này sẽ mở thông báo cam kết trong trường hợp hiện tại và ngay khi bạn chỉ đóng tài liệu thông báo cam kết này, cam kết sẽ tiếp tục.
Klaas


1

Đối với Mac OS X, sử dụng TextEdit hoặc trình chỉnh sửa môi trường tự nhiên cho văn bản:

git config --global core.editor "open -W -n"

1

Chỉ vì tôi đến đây để tìm giải pháp một lần (trong trường hợp của tôi, tôi thường sử dụng vimnhưng lần này tôi muốn sử dụng Mã VS) cho một lệnh duy nhất và những người khác cũng có thể muốn biết:

GIT_EDITOR='code -w' git rebase -i 

Đây là git/ hubphiên bản của tôi chỉ dành cho ngữ cảnh:

git version 2.24.2 (Apple Git-127)
hub version 2.14.1

1

Để làm cho vim trình chỉnh sửa mặc định cho git trên ubfox 20:04, hãy chạy lệnh sau:

git config --global core.editor vim

0

Dành cho người dùng IntelliJ

Khi tôi đang cố git rebase, tôi đã gặp phải lỗi sau: 'gợi ý: Đang chờ trình soạn thảo của bạn đóng tệp ... code -n -w: code: lệnh không tìm thấy lỗi: Có vấn đề với mã của trình soạn thảo -n -w '.'

Lỗi tương tự xuất hiện khi tôi đang cố liên kết IntelliJ với Git: nhập mô tả hình ảnh ở đây

Vấn đề là tôi không có lệnh được thêm vào trong biến PATH môi trường của mình. Và tôi không muốn sử dụng Visual Studio Code từ thiết bị đầu cuối của mình. Vì vậy, đó là lý do tại sao nó nhắc "lệnh không tìm thấy". Tôi đã giải quyết điều này bằng cách xóa

biên tập viên = mã -n -w

từ phần cốt lõi trong tệp .gitconfig của tôi. Git làm việc đúng cách một lần nữa.


-1

Dành cho người dùng Textmate

Điều này sẽ mở trình soạn thảo Textmate khi bạn muốn chỉnh sửa các cam kết của mình. Yêu cầu các công cụ dòng lệnh textmate được cài đặt.

git config --global core.editor "mate -w"


@givanse có nghĩa là gì?
Matej

2
Tôi đoán anh ta có nghĩa là nó tầm thường bằng cách tương tự với câu trả lời vim?
Rupi

hmm không, nhưng nếu bạn sử dụng thứ gì khác ngoài vim (chẳng hạn như bạn cùng văn bản).
Matej

textmate cũng có tùy chọn "chờ", vì vậy đối với tôi, đây là: git config --global core.editor "/usr/local/bin/mate -w"
trung tính

-1

Dành cho người dùng Windows muốn sử dụng Trình soạn thảo văn bản Kinesics

Tạo một tệp có tên 'k.sh', thêm văn bản sau và đặt vào thư mục chính của bạn (~):

winpty "C:\Program Files (x86)\Kinesics Text Editor\x64\k.exe" $1

Tại dấu nhắc git:

git config --global core.editor ~/k.sh
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.