2015-01-20 16 views
7

tất cả như được mô tả trong How do I use vim as 'git log' editor? không hoạt động cho chương trình git. tôi sử dụng thường xuyênLàm cách nào để sử dụng vim làm trình chỉnh sửa 'git show'?

git show HEAD 

ctrl+z 

ps 

    PID TTY   TIME CMD 
7083 pts/8 00:00:06 bash 
31758 pts/8 00:00:00 git 
31759 pts/8 00:00:00 less 
31762 pts/8 00:00:00 ps 

Cập nhật Tôi tìm thấy giải pháp:

git config --global pager.color false 
git config --global pager.show 'vim -R -' 

'

Trả lời

7

Bạn có thể sử dụng lệnh sau:

PAGER='vim -' git -c color.ui=false show 
+0

là giải pháp của tôi! –

+0

@ Sérgio, nếu đây là giải pháp bạn đã chọn, bạn nên đánh dấu nó là câu trả lời được chấp nhận của bạn – redbmk

+0

Tôi đoán anh ấy đã chọn cập nhật bài đăng của riêng mình làm câu trả lời được chấp nhận – Santi

4

Đây là một Twitter bài để giải quyết vấn đề đó.

https://twitter.com/oliviergay/status/179692941063888896

Sử dụng git show với vim và làm nổi bật cú pháp: vimgitshow() { git show "$1" | vim - "+set filetype=${1##*.}"; }

+4

nơi tôi đặt mã hòa bình đó? –

+0

cũng là một hàm bash giống như một bí danh, không giải quyết được vấn đề ban đầu mà chỉ giải quyết nó. –

+1

@ Sérgio bạn đặt nó vào '~/.bashrc' để nó sẽ được định nghĩa bất cứ khi nào bạn mở một thiết bị đầu cuối mới. sau đó bạn có thể sử dụng 'vimgitshow' thay vì' git show' – lucidbrot

1

này đã làm việc cho tôi:

git config --global pager.show "vim -c '%sm/\\e.\\{-}m//g' -c 'set ft=diff' +1 -" 

điên args vim tìm thấy ở đây: https://stackoverflow.com/a/17015531/610634

+1

Tôi thấy 'Lỗi được phát hiện trong khi xử lý dòng lệnh: E486: Không tìm thấy mẫu: \ e. \ {-} m' –

+0

Bạn có thể chặn cảnh báo đó bằng cờ'/e'. – henrebotha

0

Bạn cũng có thể muốn sử dụng một diff tốt hơn so với chỉ vá nổi bật cú pháp. Nó cho phép bạn sử dụng git show và xem sự khác biệt cho mỗi tệp trong vimdiff. Xem trang này answer.

Các vấn đề liên quan