Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Editing xml files with long lines is really slow in vim. What can I do to fix this?

People also ask

What is the easiest way to edit an XML file?

From the Project menu, select Add New Item. Select XML File from the Templates pane. Enter the filename in the Name field and press Add. The XML file is added to the project and opens in the XML editor.


The problem is that VIM syntax-highlighting is slow for long lines. An easy fix that only slightly degrades functionality is to limit syntax highlighting to the first x columns. Something like this in your .vimrc:

set synmaxcol=120

It is 2014, I am using Vim version 7.4. the syntax highlighting and Long line combination still causes vim to behave unacceptably slow. As this is the first response returned from Google I wanted to drop my "current" solutions.

  • I have found that simply toggling your syntax on and off after loading the offending file allows vim to behave at an acceptable pace. For convenience you can bind it

    :syntax off :syntax on

    or bind it: nnoremap <leader>ts :syntax off<cr>:syntax on<cr>

  • I have also found that sourcing my .vimrc will produce the same result

    :source $MYVIMRC

    and obligatory map: nnoremap <leader>sv :source $MYVIMRC<cr>

EDIt ---- 07/31/14

Further exploration has lead me to limit the syntax with a maximum column. This has worked very well and I haven't had any problems since I've add the below to my vimrc.

set synmaxcol=250

this limits syntax generously to the first 250 columns.


:set nocursorline

should help.


Do you have line wrapping disabled? In my experience line wrapping can slow vim down a bit when working with very long lines.

set nowrap

How about pretty-printing your XML file (if the line length is the real problem)? You could do that e.g. using xmllint which is part of the Gnome libxml2 package (and there is also a version available for Windows).

You can pretty-print in-place by executing

xmllint --format -o xmlFile.xml xmlFile.xml