2009-08-06 3 views
4

Я начинающий VIM, и у меня есть странная проблема. Я начал использовать vim в эмуляторе терминала, но сегодня я перешел в gVim. Тогда я понял, что не могу написать запятую в режиме Insert! Я попробовал :map ,, :imap , оба сказали, что никакого сопоставления найдено. THEN Я пробовал :nomap , и :inomap , оба без везения. При написании команд я могу писать запятую, но не в режиме вставки. В чем проблема?Отсутствует запятая VIM в режиме вставки


Некоторых подробности: Я бегу свежа установленной системы Ubuntu 9.04, с английской клавиатурой, но с использованием венгерского макета. Я могу написать запятую в vim при записи в «командную строку» vim после нажатия: в командном режиме.

+0

У вас есть файл 'vimrc'? Это '~/.vimrc' в UNIX или' C: \ Documents and Settings \ (имя пользователя) \ _ vimrc' в Windows. Этот файл может настраивать неправильные сопоставления клавиш для режима графического интерфейса. В противном случае у вас необычная раскладка клавиатуры? –

+0

Да, у меня есть vimrc. В нем нет сопоставлений (и ': map,' будет печатать, не так ли?). И да, у меня необычная раскладка клавиатуры, это венгерская клавиатура. Тем не менее, я все еще могу написать запятую в «командной строке» (после удара :). –

ответ

2

Хорошо, мне удалось решить. Раньше я использовал mkvimrc для создания моего .vimrc. Теперь я удалил все это и создал один вручную. Не уверен, что вызвало это, но теперь он работает так, как ожидалось. Мораль: не ленитесь, напишите свой vimrc самостоятельно. :)

+0

У меня была аналогичная проблема, и похоже, что она была вызвана включенной настройкой. – rsc

+0

Комментарий «remove cindent» ниже решил проблему для меня. –

2

Что произойдет, если вы наберете CTRL-V, а затем запятую в режиме вставки? Вы получаете запятую?

Кроме того, поскольку у вас есть только эта проблема в gvim, а не в vim, попробуйте запустить xev и набрав в нее, чтобы увидеть, выглядят ли события нечетными. (Вы, возможно, потребуется APT-получить установку x11-утилитами для Зев) события, которые я получаю выглядеть следующим образом:

KeyPress event, serial 30, synthetic NO, window 0x4000001, 
    root 0x236, subw 0x0, time 788140933, (138,120), root:(144,139), 
    state 0x10, keycode 59 (keysym 0x2c, comma), same_screen YES, 
    XLookupString gives 1 bytes: (2c) "," 
    XmbLookupString gives 1 bytes: (2c) "," 
    XFilterEvent returns: False 

KeyRelease event, serial 30, synthetic NO, window 0x4000001, 
    root 0x236, subw 0x0, time 788141013, (138,120), root:(144,139), 
    state 0x10, keycode 59 (keysym 0x2c, comma), same_screen YES, 
    XLookupString gives 1 bytes: (2c) "," 
    XFilterEvent returns: False 
+0

В этой системе проблема существует и с vim (я начал изучать vim на моем старом архиве linux, который я недавно изменил на ubuntu, и начал использовать gvim). Это мой выход xev: http://pastie.org/574928 Все выглядит нормально. Режим визуального блока и запятая не работают. –

+0

CTRL-V в режиме вставки содержит стенографическую вставку следующего вводимого вами символа. CTRL-V переходит в режим визуального блока, только если вы были в обычном (не вставном) режиме для начала. –

10

удалите строку «cindent» из вашего .vimrc-файла. работал на меня!

+0

Это решило это для меня. –

1

У вас есть что-то подобное в вашем .vimrc set cinkeys=0{,0},:,0#,!,!^F? Я столкнулся с этой проблемой и решил ее устранить разгромный восклицательный знак set cinkeys=0{,0},:,0#,!^F

Смежные вопросы