LINUX.ORG.RU

vim + iminsert

 


0

4

Хочу, чтобы при англ и русс языке разный по цвету был курсорлайн Пытаюсь

imap <silent> <C-^> <ESC>:call ChkIminsert()<CR>

fun! ChkIminsert()
    if &iminsert == 0
        set iminsert=1
        highlight CursorLine ctermbg=red guibg=#121212
    else
        set iminsert=0
        highlight CursorLine ctermbg=233 guibg=#121212
    endif
    startinsert!
endfun

Но что-то оно как-то не работает:)

★★★★

set cursorline-то делал?

imap

inoremap

salsa
()
Ответ на: комментарий от bryak

set cursorline делал или нет?

Как не так работает?

:verbose imap <C-^> что показывает?

imap <silent> <C-^> <С-\><C-o>:call ChkIminsert()<CR>

fun! ChkIminsert()
    if &iminsert == 0
        set iminsert=1
        highlight CursorLine ctermbg=red guibg=#121212
    else
        set iminsert=0
        highlight CursorLine ctermbg=233 guibg=#121212
    endif
    " startinsert!
endfun

habamax ★★★
()

Где проверяешь? в терминале или gui?

Почему спрашиваю, у тебя в гуе цвет задается одинаковый guibg=#121212

habamax ★★★
()
Ответ на: комментарий от habamax

да в консольном запускаю, поэтому цвет гуёв и не трогал. Тут это типа не принципиально

bryak ★★★★
() автор топика
Ответ на: комментарий от bryak

verbose что показывает?

<silent> убери, может у тебя там ошибка замалчивается.

просто highlight CursorLine ctermbg=red guibg=#121212 меняет цвет?

:call ChkIminsert() меняет цвет?

ЗЫ другими словами, что ты сам сделал, чтобы понять причину?

habamax ★★★
()
Последнее исправление: habamax (всего исправлений: 1)
Ответ на: комментарий от habamax
let s:enabled = 0
fun! ChkIminsert()
    if s:enabled
        let s:enabled=0
        set iminsert=0
        highlight CursorLine ctermbg=red
    else
        let s:enabled=1
        set iminsert=1
        highlight CursorLine ctermbg=green
    endif
    :startinsert!
endfun

Но не работает:)

bryak ★★★★
() автор топика

Почему я ввел новую переменную ? Потому что у меня стоит

inoremap <silent> <ESC> <Esc>`^:set iminsert=0<CR>
inoremap <silent> <C-c> <Esc>`^:set iminsert=0<CR>

bryak ★★★★
() автор топика
Ответ на: комментарий от habamax

Просто я переделал под свои реалии функцию(смотри пост выше) и поэтому смысл проверять то, что у тебя и отвечать - не имеет смысла т.к по вышеуказанном выше посте - работать это не будет

bryak ★★★★
() автор топика
Ответ на: комментарий от habamax

т.е тебе не жалко было тратить время, чтобы пофлеймить, но жалко времени, чтобы ответить на вопрос ? Предельно ясно.

bryak ★★★★
() автор топика
Ответ на: комментарий от bryak

слушай, я хотел тебе помочь, однако ты совершенно не хотел, чтобы тебе помогали.

Выше я тебе уже давал код, который работает у меня

fun! ChkIminsert()
    if &iminsert == 0
        set iminsert=1
        highlight CursorLine ctermbg=red guibg=#121212
    else
        set iminsert=0
        highlight CursorLine ctermbg=233 guibg=#121212
    endif
endfun
imap <silent> <C-^> <C-\><C-o>:call ChkIminsert()<CR>



Однако у тебя «как-то не работает». И все.
Жди значит телепатов. А я лучше бы пофлеймил.

habamax ★★★
()
Ответ на: комментарий от habamax

В общем-то лучше открыть вторую тему. А эту поставить статус решена

bryak ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.