[vim] Vim 하이라이트 라인이 밑줄이되지 않도록 어떻게 변경합니까?

일부 colorchemes에서는 현재 선 강조 표시가 배경을 변경하고 Desert와 같은 다른 선에서는 현재 선에 밑줄이 표시됩니다.

밑줄 대신 다른 배경색을 사용하도록 Desert에서 현재 선 강조 표시를 변경하고 싶습니다. 어떻게 할 수 있습니까?

.vimrc:

set cursorline
highlight Cursorline cterm=bold

업데이트 : .vimrc문제 해결

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



답변

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

desert당신의 colorscheme입니다. (먼저 와야합니다)
그것을 당신의~/.vimrc


답변

이것은 나를 위해 (모든 터미널에서) 더 잘 작동합니다.

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

터미널 색상 설정 : 배경색 -ctermbg , 텍스트 색상 -ctermfg . 그래픽 창에서 사용하려면 매개 변수 추가guibg=darkred guifg=white

다음 명령을 사용하여 해당 열을 강조 표시 할 수도 있습니다.

:set cursorcolumn

편집기에서 하나의 키를 눌러 강조 표시를 켜고 끄는 것이 유용합니다. vimrc에 다음 행을 추가하십시오 .

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

‘H’를 입력 하면 강조 표시를 켜고 끌 수 있습니다 (원하는 경우 다른 키에 매핑).

기사에서 더 많은 정보를 찾을 수 있습니다 :
http://vim.wikia.com/wiki/Highlight_current_line


답변

터미널의 gvim에서 얻은 것과 유사한 스타일을 위해 구문 강조 표시를 유지합니다.

" 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


답변

밑줄을 켜려면 다음 중 하나를 사용하십시오.

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

그렇지 않으면 다음 중 하나를 사용하십시오.

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


답변

커서 라인 강조 표시를 설정하는 데 비슷한 문제가 있었지만 vim 종료 중에 세션 정보를 저장하는 데 사용했던 mksession 명령 때문이었습니다. 이 세션은 파일 인수없이 실행되는 경우 프로그램 시작 중에 자동으로 복원됩니다.

이와 같은 .vimrc 설정이있는 사람은 .vimrc에 다음을 추가하여 커서 라인 강조 표시를 올바르게 설정할 수 있습니다.

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

이것이 작동하는 이유에 대한 약간의 설명. 다양한 버퍼 및 창 정보와 함께 mksession은 현재 colorscheme 이름을 저장합니다. 이것은 세션 복원을 통해 프로그램 시작 중에 복원됩니다. 그러나 세션 복원은 일반적으로 .vimrc가 실행 된 후에 수행되기 때문에 (일반적으로 ‘autocmd VimEnter *’를 통해 호출되는 함수 사용), .vimrc의 커서 라인 강조 표시 설정은 복원 된 colorscheme에 대해 기본값으로 재설정됩니다.

autocmd를 통해 호출되는 위의 함수는 모든 초기화가 완료된 후에 실행되므로 커서 라인 강조 표시를 성공적으로 설정합니다.

HTH.


답변

끝줄을 추가해야합니다 .vimrc.

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


답변