Saya bertanya-tanya apakah mungkin untuk mengubah tabsize di git-gui dari 8 karakter menjadi 4. Satu-satunya hal yang saya temukan adalah core.whitespace = tabsize=4
tetapi itu hanya mempengaruhi diff.
Alasan mengapa saya bertanya adalah karena saya secara bertahap menghapus penggunaan tab dan sebagai gantinya menggunakan lekukan 4-ruang. Namun ini dapat memberikan hasil yang membingungkan ketika menonton diff di git-gui, karena ukurannya sekitar 8 karakter.
Saya tahu sederhana :retab
di Vim memecahkan masalah saya, tetapi cukup sering saya harus bekerja pada file besar dengan sejarah jangka panjang yang mungkin memiliki modifikasi di cabang yang terpisah. Jadi saya tidak bisa selalu mengonversi semua tab dengan mudah.
Saya melakukan riset.
Konfigurasi
core.whitespace
tidak ada hubungannya dengan bagaimana tab ditampilkan. Ini hanya digunakan untuk git untuk mengenali kesalahan spasi spasi terkait tab. Sebagai contoh: ketikaindent-with-non-tab
diaktifkan, dancore.whitespace
diatur ketabwidth=4
, dan sebuah baris diindentasikan menggunakan 4 spasi atau lebih, maka git akan melaporkan kesalahan.Untuk git, terlepas dari fitur pendeteksian kesalahan spasi terkait tab, karakter tab adalah karakter seperti karakter lainnya. Itu akan dibandingkan dan akan dibuang ke alat apa pun yang digunakan untuk menampilkan karakter. Itu berarti, untuk mengkonfigurasi lebar tab yang ditampilkan, Anda harus mengkonfigurasi "ujung depan" dari git. Dalam hal
git diff
itu akan menjadi "kurang" (alat unix "kurang"). Dalam halgit gui
itu adalah git-gui itu sendiri.Mengkonfigurasi lebih sedikit itu mudah. Anda dapat mengatur konfigurasi git
core.pager
untuk mengatur kurang untuk menampilkan tab menggunakan 4 spasi (kurang memiliki parameter-xn
untuk mengatur bandwidth ken
).Mengkonfigurasi git-gui ternyata jauh lebih sulit. Git-gui ditulis dalam Tcl / Tk. Saya menemukan opsi Tcl / Tk untuk mengkonfigurasi lebar tab di widget teks. Saya juga menemukan baris di
git-gui.sh
mana sepertinya widget teks sedang diinisialisasi.Ini adalah baris 3346 file
git-gui.sh
di git versi 1.7.5:Saya mengubahnya, menurut manual Tcl / Tk, untuk:
Itu tampaknya tidak berpengaruh. Saya mencoba nilai yang berbeda untuk
-tabs
dan mereka memang memiliki beberapa efek pada lebar tab yang ditampilkan, sehingga tampaknya menjadi garis yang benar untuk dimodifikasi.Sayangnya, Tcl / Tk tampaknya tidak memiliki gagasan tentang lebar tab dalam hal karakter, sebaliknya, lebar tab harus diatur dalam piksel atau sentimeter.
Perhatikan bahwa saya tidak memiliki pengalaman dalam Tcl / TK sama sekali, jadi mungkin saya hanya melihat sesuatu yang sederhana di sini.
Bagaimanapun, sekarang Anda tahu di mana harus mulai menggali. Ingatlah untuk melaporkan kembali ke sini jika Anda memiliki solusi yang berfungsi. Semoga berhasil.
sumber
Saya menguraikan penelitian yang dibuat oleh lesmana .
Garis
disebutkan oleh lesmana harus diganti dengan yang berikut:
Setelah melakukan ini, seseorang dapat mengatur ukuran tab menggunakan opsi "tabsize" di bagian [gui] file konfigurasi git (alias gui.tabsize). Kabar buruk:
Diuji dengan:
sumber