Высокое использование процессора Vim при открытии JS-файлов

Vim и особенно Gvim перестают отвечать и используют 100% процессора при открытии больших файлов .js (1000+ строк). Нажатие Ctrl c останавливает процесс. Независимо от того, какой Vim пытается открыть файл, он отображает содержимое файла – все сворачивается в одну складку – и каждый ввод символов в режиме вставки занимает минуты, чтобы отображать на экране. Затем я должен перезапустить Vim, чтобы иметь возможность редактировать файлы.

Это происходит не каждый раз, даже для тех же файлов, но происходит 3-5 раз в день.

Используя strace -p PID я вижу, что следующие сообщения повторяются непрерывно

 poll([{fd=7, events=POLLIN}, {fd=6, events=POLLIN}, {fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8, events=POLLIN}], 5, 0) = 0 (Timeout) read(7, 0x7fffc4477280, 16) = -1 EAGAIN (Resource temporarily unavailable) recvfrom(6, 0x21848f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=7, events=POLLIN}, {fd=6, events=POLLIN}, {fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8, events=POLLIN}], 5, 0) = 0 (Timeout) read(7, 0x7fffc4477280, 16) = -1 EAGAIN (Resource temporarily unavailable) recvfrom(6, 0x21848f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=7, events=POLLIN}, {fd=6, events=POLLIN}, {fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8, events=POLLIN}], 5, 0) = 0 (Timeout) read(7, 0x7fffc4477280, 16) = -1 EAGAIN (Resource temporarily unavailable) recvfrom(6, 0x21848f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) ... 

Я пробовал с vim --noplugin , но та же проблема возникает. Я нахожусь на Ubuntu 12.04.1 x64, работающем самостоятельно скомпилированным Vim. vim :version дает следующую информацию:

 VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Aug 15 2012 17:16:57) Included patches: 1-631 Huge version with GTK2 GUI. Features included (+) or not (-): +arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments +conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con_gui +diff +digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path +float +folding -footer +fork() +gettext -hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap -lua +menu +mksession +modify_fname +mouse +mouseshape +mouse_dec -mouse_gpm -mouse_jsbterm +mouse_netterm -mouse_sysmouse +mouse_xterm +mouse_urxvt +multi_byte +multi_lang -mzscheme +netbeans_intg +path_extra -perl +persistent_undo +postscript +printer +profile +python -python3 +quickfix +reltime +rightleft +ruby +scrollbind +signs +smartindent -sniff +startuptime +statusline -sun_workshop +syntax +tag_binary +tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title +toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup +X11 -xfontset +xim +xsmp_interact +xterm_clipboard -xterm_save system vimrc file: "$VIM/vimrc" user vimrc file: "$HOME/.vimrc" user exrc file: "$HOME/.exrc" system gvimrc file: "$VIM/gvimrc" user gvimrc file: "$HOME/.gvimrc" system menu file: "$VIMRUNTIME/menu.vim" fall-back for $VIM: "/usr/local/share/vim" Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I /usr/include/libpng12 -I/usr/local/include -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 Linking: gcc -L. -rdynamic -Wl,-export-dynamic -L/usr/local/lib -Wl,--as-needed -o vim -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0 -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo -lnsl -ldl -L/usr/lib/python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -lruby-1.9.1 -lpthread -lrt -ldl -lcrypt -lm -L/usr/lib 

Что-то не так с моей настройкой? В чем может быть проблема?

  • Cron создает vim-процесс, но не отображает vim
  • В нижнем регистре все, кроме первой (верхняя) буква из UPPERCASE в кириллице
  • Vim, как удалить из позиции курсора CURRENT, до конца строки и следующих N строк?
  • привязка ключа режима vi только в обычном режиме
  • как сфокусировать различные «регионы» (Ctrl-a S) с помощью мыши в `screen`?
  • vi для добавления пустой строки?
  • Как сделать vim apply / var / log / messages подсветкой синтаксиса для любого файла, называемого «сообщениями» или «сообщениями»?
  • vim / gvim не удается разместить буфер обмена X11 в регистре «+» или «*»?
  • One Solution collect form web for “Высокое использование процессора Vim при открытии JS-файлов”

    Попробуйте удалить любые дополнительные плагины или файлы синтаксиса для редактирования файлов JS. Плохо написанный файл vimscript или синтаксиса (в основном пучок регулярных выражений) может заставить Vim мгновенно перекусить все циклы процессора.

    Interesting Posts

    Debian, нет X, нет Интернета, как скомпилировать драйвер беспроводной сети?

    Может использовать аутентификацию паролей с помощью SFTP, хотя «PasswordAuthentication no» в / etc / ssh / sshd_config

    Невозможно установить жесткий диск USB. Файловая система не распознана?

    Кошка в фило не бежит через баш

    Разрешения с записью раздела NTFS из Windows

    Как вы блокируете определенный процесс (например, vim) от доступа к установленному диску?

    i3 и vmware: как определить изменение разрешения и установить текущее разрешение на новое изменение смены?

    returncode команды в pipline

    Как установить постоянный ubuntu 12.04 на USB-накопитель?

    Определить переменные с именем переменной

    Как установить cron для запуска на фоне?

    Найти строку между пробелами

    У кого есть другой конец этого гнездового гнезда unix?

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

    Авария Eclipse с Fedora 19

    Linux и Unix - лучшая ОС в мире.