Ha git
háromirányú összevonást végez és ütközik nem tudja feloldani, a fájl ezen területét így jelöli meg:
No unresolvable conflicts here <<<<<<< HEAD xyz ||||||| parent of ... abc ======= 123 >>>>>>> ...
Van-e mód (és ha igen, hogyan) változtatni e 3 “szakasz” háttérszíne:
-
<<<<<<< HEAD
a||||||| parent of ...
előtti vonalon keresztül li> -
||||||| parent of ...
a=======
előtti soron keresztül - A a
>>>>>>> ...
soron keresztül (SZERKESZTÉS: A kérdés körül forog, ha van mód kiemelni bizonyos vonalakat, más sorokat. xyz
általában nem lenne kiemelve, de mivel <<<<<<<
és |||||||
ki lenne emelve.)
Azzal, hogy más konfliktusjelzőket is kezelni tud?
A vim legfrissebb verziójának használata a megjegyzés idején. Tehát mostantól kezdve: 1883. 8.1.
A terminálomban fekete hátteret és 256 színt használok. Arra gondoltam, hogy jó lenne ezeket a szakaszokat a legsötétebb R / G / B / C / M / Y színekkel megadni, ezért nem okoztak nagy problémát a szintaxis kiemelés. (Az ANSI 52, 22, 17., 23., 53. és 58. – nem az 1–6 szín.)
Megjegyzések
Válasz
A Vim konfigurációban a következőket teheti (módosíthatja a színek és stílus tetszés szerint):
function! ConflictsHighlight() abort syn region conflictStart start=/^<<<<<<< .*$/ end=/^\ze\(=======$\||||||||\)/ syn region conflictMiddle start=/^||||||| .*$/ end=/^\ze=======$/ syn region conflictEnd start=/^\(=======$\||||||| |\)/ end=/^>>>>>>> .*$/ highlight conflictStart ctermbg=red ctermfg=black highlight conflictMiddle ctermbg=blue ctermfg=black highlight conflictEnd ctermbg=green cterm=bold ctermfg=black endfunction augroup MyColors autocmd! autocmd BufEnter * call ConflictsHighlight() augroup END
Amely a következőképpen jelenik meg:
Ez az, amire vágyik?
Megjegyzések
- Ez ' abszolút az, amit én ' m követek. Azért <
némi furcsaságom van a vimscript-lel. Ha beírom a példáját, az pontosan úgy néz ki, mint az Ön által közzétett kép. Ha elmentem a példáját, akkor indítsa újra a vim-et az új fájl szerkesztésével, az borzalmasan kiakad. (vim 8.1.1186.) Még furcsább, ha akkor egy létező fájl összes sorát furcsán mutatom, és újból beillesztem a tartalmát, akkor ' még mindig rosszul jelenik meg. i.ibb.co/jvGMH6t/wtfvim.jpg
conflictStart
megfelelően kiemelve; a conflictMiddle
|||||||
része piros színnel, de a sor többi része kékkel, ahogy annak lennie kell; a =======
piros színnel; a >>>>>>> .*
sor sárga színnel (hol jött ebbe a sárga, ott nincs sárga); és a fájl többi része, amelynek ' egyáltalán nem kell zölden szerepelnie a konfliktusnak, még mindig conflictEnd
néven a SynStack()
függvény a stackoverflow.com/questions/30247603 :diffoff
használatával, és csak a ' s fájltípusokat hagyja meg. szintaxis kiemelés. Játszom egy kicsit, hogy kiderüljön az első eseted. Válasz
- konfliktus-marker.vim maguk is kiemelhetik a jelölőket; emellett ugrásokat és megoldási lehetőségeket kínál.
- a saját ConflictDetection plugin felismeri és kiemeli az egész szakaszokat (szintaxis kiemeléssel); egy társ ConflictMotions plugin mozgásokat és parancsokat kínál feloldáshoz.
xyz
példát általában nem emelnénk ki, hanem mivel ' s<<<<<<<
és|||||||
között Szeretném kiemelni.