Vim vurgu çizgimi alt çizgi olmayacak şekilde nasıl değiştirebilirim?


92

Bazı renk şemalarında, vurgulanan mevcut satır arka planı değiştirirken, Desert gibi diğerlerinde mevcut çizginin altı çizilir.

Desert'ta mevcut satır vurgulamasını, altını çizmek yerine farklı bir arka plan rengi kullanmak için değiştirmek istiyorum. Bunu nasıl yapabilirim?

Benim .vimrc:

set cursorline
highlight Cursorline cterm=bold

Güncelleme: .vimrcsorunu çözen

colorscheme desert
set cursorline
hi CursorLine term=bold cterm=bold guibg=Grey40

7
Muhtemelen sorunun talihsiz ifadesi yüzünden. İfadeyi netleştirmek için yeniden yazma özgürlüğünü aldım ve ayrıca olumsuz oyu etkisiz hale getirdim.
ib.

Yanıtlar:


92
color desert
set cursorline
hi CursorLine term=bold cterm=bold guibg=Grey40

desertsenin ColorScheme olduğunu. (ilk gelmelidir)
koymak senin~/.vimrc


4
Vimrc'de bu satırlardan sonra bir renk şeması yüklüyorsanız, yeni renk şeması işleri temizliyor olabilir. Vimrc'yi koymaya çalışmadan önce Vim komut satırında test edin.
Herbert Sitz

Nasıl düzelteceğimi biliyorum. Kodunuzda alt çizgiyi kalın olarak değiştirmeliyiz!
ashim

3
@Idigas colorkısaltmasıdırcolorscheme
kev

1
Bu, gvim veya vim-gtk'de iyi çalışır. Ancak terminal vim'de yalnızca alt çizgiyi geçerli satırdan kaldırır. Mevcut satırı vurgulamıyor (en azından benim için değil!).
Omid Kamangar

66

Bu benim için (her terminalde) daha iyi çalışıyor.

:hi CursorLine   cterm=NONE ctermbg=darkred ctermfg=white

Terminal için renk ayarıdır: arka plan rengi - ctermbg ve metin rengi - ctermfg . Grafik pencerede kullanmak için parametreler ekleyinguibg=darkred guifg=white

Şu komutu kullanarak ilgili sütunu da vurgulayabilirsiniz:

:set cursorcolumn

Düzenleyicide bir tuşa basarak vurgulamayı açıp kapatmak yararlıdır. Bu satırı vimrc'nize ekleyin :

:nnoremap H :set cursorline! cursorcolumn!<CR>

'H' yazmak , vurgulamayı açıp kapatır (isterseniz başka bir tuşla eşleştirin)

Makalede daha fazla bilgi bulabilirsiniz: http://vim.wikia.com/wiki/Highlight_current_line


9
Ve cterm=NONEnihayetinde imleç çizgisinin alt çizgisini kaldıran ayardır (benim durumumda).
tbloncar

1
Höntanımlı olarak arabelleğin en üstüne gitmek için kullanılır.
quapka

21

terminalde gvim'de elde ettiğinize benzer bir stil için sözdizimi vurgusunu koruyarak:

" first thing is entering vim mode, not plain vi
set nocompatible
" force 256 colors on the terminal
set t_Co=256
" load the color scheme before anything
colorscheme darkblue " or desert... or anything
" the syntax cmd is when the colorscheme gets parsed, i think..
syntax on
" might not be on by default, this enable the cursor line feature
set cursorline

" set the prefered colours, pick one line here only.
" dark grey, better you can get if you don't support 256 colours
hi CursorLine   cterm=NONE ctermbg=8 ctermfg=NONE
" light grey, no 256 colors
hi CursorLine   cterm=NONE ctermbg=7 ctermfg=NONE
" dark redish
hi CursorLine   cterm=NONE ctermbg=52 ctermfg=NONE
" dark bluish
hi CursorLine   cterm=NONE ctermbg=17 ctermfg=NONE
" very light grey
hi CursorLine   cterm=NONE ctermbg=254 ctermfg=NONE
" yelowish
hi CursorLine   cterm=NONE ctermbg=229 ctermfg=NONE
" almost black
hi CursorLine   cterm=NONE ctermbg=234 ctermfg=NONE

Ayrıca export TERM=xterm-256color256 renk için ortam değişkenini de ayarlayabilirsiniz . Tam renk tablosu burada: upload.wikimedia.org/wikipedia/en/1/15/Xterm_256color_chart.svg
apurkrt

1
Bu arada set cursorline.vimrc alıntınızda eksik. Bunu
anlamam

14

Alt çizgiyi açmak istiyorsanız şunlardan birini kullanın:

:hi CursorLine cterm=underline
:hi CursorLine gui=underline

Aksi takdirde şunlardan birini kullanın:

:hi CursorLine cterm=none
:hi CursorLine gui=none

8

İmleç çizgisi vurgusunu ayarlarken benzer bir sorun yaşadım, ancak benimki vim çıkışı sırasında oturum bilgilerini kaydetmek için kullandığım mksession komutundan kaynaklanıyordu. Bu oturum daha sonra herhangi bir dosya argümanı olmadan çalıştırılırsa, program başlatılırken otomatik olarak geri yüklenir.

Herhangi biri böyle bir .vimrc ayarına sahipse, imleç çizgisi vurgusunu doğru bir şekilde ayarlamak için aşağıdakileri .vimrc'ye ekleyebilirsiniz: -

function s:SetCursorLine()
    set cursorline
    hi cursorline cterm=none ctermbg=darkblue ctermfg=white
endfunction
autocmd VimEnter * call s:SetCursorLine()

Bunun neden işe yaradığına dair biraz açıklama. Çeşitli tampon ve pencere bilgilerinin yanı sıra mksession, mevcut renk şeması adını kaydeder. Bu, program başlangıcı sırasında oturum geri yükleme yoluyla geri yüklenir. Ancak, oturum geri yüklemesi tipik olarak .vimrc çalıştırıldıktan sonra yapıldığından (tipik olarak 'autocmd VimEnter *' aracılığıyla çağrılan bir işlev kullanılarak), .vimrc'deki imleç çizgisi vurgu ayarı, geri yüklenen renk şeması için varsayılan olarak sıfırlanır.

Autocmd aracılığıyla çağrılan yukarıdaki işlev, tüm başlatma tamamlandıktan sonra çalıştırılacak ve bu nedenle imleç çizgisi vurgusunu başarıyla ayarlayacaktır.

HTH.


0

.vimrcBitiş satırı eklemelisiniz :

highlight lineNr term=bold cterm=NONE ctermbg=none  ctermfg=none gui=bold

set cursorline

highlight CursorLine term=bold cterm=NONE ctermbg=none  ctermfg=none gui=bold

highlight CursorLineNr term=bold cterm=none ctermbg=none ctermfg=yellow gui=bold
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.