title: Why is Vim so slow?
body: <p>I am a beginning vim user and I am a little confused. It looks like Vim is slower than Geany. And it is a very noticeable difference. When I hold any key in Geany it prints it without any lag (llllllll for example). In Vim it is slow and jumping. Autocomplete in vim is horrible in comparison to Geany. I thought Vim is as fast as light. It looks like it isn't. Is there any advice to change that, make vim faster?</p>
  
  <p>This is my _vimrc file:</p>
  
  <pre><code>" This must be first, because it changes other options as side effect
  set nocompatible
  
  " Use pathogen to easily modify the runtime path to include all
  " plugins under the ~/.vim/bundle directory
  call pathogen#helptags()
  call pathogen#infect()
  
  " change the mapleader from \ to ,
  let mapleader=","
  
  " Quickly edit/reload the vimrc file
  nmap &lt;silent&gt; &lt;leader&gt;ev :e $MYVIMRC&lt;CR&gt;
  nmap &lt;silent&gt; &lt;leader&gt;sv :so $MYVIMRC&lt;CR&gt;
  
  set hidden
  set nowrap        " don't wrap lines
  set tabstop=4     " a tab is four spaces
  set backspace=indent,eol,start
                  " allow backspacing over everything in insert mode
  set autoindent    " always set autoindenting on
  set copyindent    " copy the previous indentation on autoindenting
  set number        " always show line numbers
  set shiftwidth=4  " number of spaces to use for autoindenting
  set shiftround    " use multiple of shiftwidth when indenting with '&lt;' and '&gt;'
  set showmatch     " set show matching parenthesis
  set ignorecase    " ignore case when searching
  set smartcase     " ignore case if search pattern is all lowercase,
                  "    case-sensitive otherwise
  set smarttab      " insert tabs on the start of a line according to
                  "    shiftwidth, not tabstop
  set hlsearch      " highlight search terms
  set incsearch     " show search matches as you type
  
  set history=1000         " remember more commands and search history
  set undolevels=1000      " use many muchos levels of undo
  set wildignore=*.swp,*.bak,*.pyc,*.class
  set title                " change the terminal's title
  set visualbell           " don't beep
  set noerrorbells         " don't beep
  
  set nobackup
  set noswapfile
  
  filetype plugin indent on
  
  autocmd filetype python set expandtab
  
  if &amp;t_Co &gt;= 256 || has("gui_running")
      colorscheme badwolf
  endif
  
  if &amp;t_Co &gt; 2 || has("gui_running")
      " switch syntax highlighting on, when the terminal has colors
      syntax on
  endif
  
  " Vim can highlight whitespaces for you in a convenient way:
  set list
  set listchars=tab:&gt;.,trail:.,extends:#,nbsp:.
  
  set pastetoggle=&lt;F2&gt;
  
  set mouse=a " Enable mouse
  
  set encoding=utf-8
  set langmenu=en_US
  let $LANG = 'en_US'
  source $VIMRUNTIME/delmenu.vim
  source $VIMRUNTIME/menu.vim
  
  set autochdir " working directory is always the same as the file you are       editing 
  noremap &lt;F5&gt; :w !python %&lt;CR&gt;
  inoremap &lt;F5&gt; &lt;ESC&gt;:w !python %&lt;CR&gt;
  
  nmap &lt;leader&gt;t :NERDTree&lt;CR&gt;
  autocmd bufenter * if (winnr("$") == 1 &amp;&amp; exists("b:NERDTreeType") &amp;&amp;     b:NERDTreeType == "primary") | q | endif
  
  set guifont=Hack:h10:cDEFAULT
  let g:Powerline_symbols = 'fancy'
  set laststatus=2
  
  python from powerline.vim import setup as powerline_setup
  python powerline_setup()
  python del powerline_setup
  
  filetype plugin on
  set omnifunc=syntaxcomplete#Complete
  au CompleteDone * pclose
  set completeopt=longest,menuone,preview
  
  set guioptions-=T
  set nofoldenable    " disable folding
  
  nmap &lt;silent&gt; ,/ :nohlsearch&lt;CR&gt;
  </code></pre>