title: Is there any tip or trick to easily select the first word of (g)Vim's omni completion pop up?
body: <p>For instance, if I write <code>&lt;?ph</code></p>
  
  <p>The following words may pop up (and php is highlighted in the menu but not displayed in the code): </p>
  
  <pre><code>php
  phrase
  phrases
  </code></pre>
  
  <p>If I hit <kbd>Tab</kbd> or <kbd>CTRL</kbd> + <kbd>N</kbd> it just goes <code>"Back at original."</code></p>
  
  <p>If I press <kbd>Shift</kbd> + <kbd>Tab</kbd> or <kbd>CTRL</kbd> + <kbd>P</kbd> it goes to <code>phrase</code>.</p>
  
  <p>While php is highlighted in the menu, If I press enter <code>ph</code> doesn't get completed.</p>
  
  <p>I'm not sure if this is a normal behaviour in Vim or something wrong with my .vimrc:</p>
  
  <pre><code>" SHORTCUTS
  
  nnoremap &lt;F4&gt; :set filetype=html&lt;CR&gt;
  nnoremap &lt;F5&gt; :set filetype=php&lt;CR&gt;
  
  nnoremap &lt;F3&gt; :TlistToggle&lt;CR&gt;
  
  " press space to turn off highlighting and clear any message already displayed.
  nnoremap &lt;silent&gt; &lt;Space&gt; :nohlsearch&lt;Bar&gt;:echo&lt;CR&gt;
  
  " set buffers commands
  nnoremap &lt;silent&gt; &lt;M-F8&gt; :BufExplorer&lt;CR&gt;
  nnoremap &lt;silent&gt; &lt;F8&gt; :bn&lt;CR&gt;
  nnoremap &lt;silent&gt; &lt;S-F8&gt; :bp&lt;CR&gt;
  
  " open NERDTree with start directory: D:\wamp\www
  nnoremap &lt;F9&gt; :NERDTree /home/alex/www&lt;CR&gt;
  
  " open MRU
  nnoremap &lt;F10&gt; :MRU&lt;CR&gt;
  
  " open current file (silently)
  nnoremap &lt;silent&gt; &lt;F11&gt; :let old_reg=@"&lt;CR&gt;:let @"=substitute(expand("%:p"), "/", "\\", "g")&lt;CR&gt;:silent!!cmd /cstart &lt;C-R&gt;&lt;C-R&gt;"&lt;CR&gt;&lt;CR&gt;:let @"=old_reg&lt;CR&gt;
  
  " open current file in localhost (default browser)
  nnoremap &lt;F12&gt; :! start "http://localhost" file:///"%:p""&lt;CR&gt;
  
  " open Vim's default Explorer
  nnoremap &lt;silent&gt; &lt;F2&gt; :Explore&lt;CR&gt;
  
  nnoremap &lt;C-F2&gt; :%s/\.html/.php/g&lt;CR&gt;
  
  "
  set completeopt=menu,preview,longest
  
  " REMAPPING
  " map leader to ,
  let mapleader = ","
  
  " remap ` to '
  nnoremap ' `
  nnoremap ` '
  
  " remap increment numbers
  nnoremap &lt;C-kPlus&gt; &lt;C-A&gt;
  
  " COMPRESSION
  
  function Js_css_compress ()
    let cwd = expand('&lt;afile&gt;:p:h')
    let nam = expand('&lt;afile&gt;:t:r')
    let ext = expand('&lt;afile&gt;:e')
    if -1 == match(nam, "[\._]src$")
      let minfname = nam.".min.".ext
    else
      let minfname = substitute(nam, "[\._]src$", "", "g").".".ext
    endif
    if ext == 'less'
      if executable('lessc')
        cal system( 'lessc '.cwd.'/'.nam.'.'.ext.' &amp;')
      endif
    else
      if filewritable(cwd.'/'.minfname)
        if ext == 'js' &amp;&amp; executable('closure-compiler')
          cal system( 'closure-compiler --js '.cwd.'/'.nam.'.'.ext.' &gt; '.cwd.'/'.minfname.' &amp;')
        elseif executable('yuicompressor')
          cal system( 'yuicompressor '.cwd.'/'.nam.'.'.ext.' &gt; '.cwd.'/'.minfname.' &amp;')
        endif
      endif
    endif
  endfunction
  autocmd FileWritePost,BufWritePost *.js :call Js_css_compress()
  autocmd FileWritePost,BufWritePost *.css :call Js_css_compress()
  autocmd FileWritePost,BufWritePost *.less :call Js_css_compress()
  
  " GUI
  " taglist right side
  let Tlist_Use_Right_Window = 1
  
  " hide tool bar
  set guioptions-=T
  
  "remove scroll bars
  set guioptions+=LlRrb
  set guioptions-=LlRrb
  
  " set the initial size of window
  set lines=46 columns=180
  
  " set default font
  set guifont=Monospace
  " set guifont=Monospace\ 10
  
  " show line number
  set number
  
  " set default theme
  colorscheme ir_dark
  
  " encoding
  set encoding=utf-8
  setglobal fileencoding=utf-8 bomb
  set fileencodings=ucs-bom,utf-8,latin1
  
  " SCSS syntax highlight
  au BufRead,BufNewFile *.scss set filetype=scss
  
  " LESS syntax highlight
  syntax on
  au BufNewFile,BufRead *.less set filetype=less
  
  " Haml syntax highlight
  "au! BufRead,BufNewFile *.haml
  "setfiletype haml
  
  " Sass syntax highlight
  "au! BufRead,BufNewFile *.sass
  "setfiletype sass
  
  " set filetype indent
  filetype indent on
  
  " for snipMate to work
  filetype plugin on
  
  " show breaks
  set showbreak=-----&gt;
  
  " coding format
  set tabstop=4
  set shiftwidth=4
  set linespace=1
  
  " CONFIG
  
  " keep the buffer around when left
  set hidden
  
  " enable matchit plugin
  source $VIMRUNTIME/macros/matchit.vim
  
  " folding
  set foldmethod=marker
  set foldmarker={,}
  let g:FoldMethod = 0
  map &lt;leader&gt;ff :call ToggleFold()&lt;cr&gt;
  fun! ToggleFold()
      if g:FoldMethod == 0
          exe 'set foldmethod=indent'
          let g:FoldMethod = 1
      else
          exe 'set foldmethod=marker'
          let g:FoldMethod = 0
      endif
  endfun
  
  " save and restore folds when a file is closed and re-opened
  "au BufWrite ?* mkview
  "au BufRead ?* silent loadview
  
  " auto-open NERDTree everytime Vim is invoked
  au VimEnter * NERDTree /home/alex/www
  
  " set omnicomplete
  autocmd FileType python set omnifunc=pythoncomplete#Complete
  autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
  autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
  autocmd FileType css set omnifunc=csscomplete#CompleteCSS
  autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
  autocmd FileType php set omnifunc=phpcomplete#CompletePHP
  autocmd FileType c set omnifunc=ccomplete#Complete
  
  " Improve completion popup menu
  inoremap &lt;expr&gt; &lt;Esc&gt;      pumvisible() ? "\&lt;C-e&gt;" : "\&lt;Esc&gt;"
  inoremap &lt;expr&gt; &lt;CR&gt;       pumvisible() ? "\&lt;C-y&gt;" : "\&lt;CR&gt;"
  inoremap &lt;expr&gt; &lt;Down&gt;     pumvisible() ? "\&lt;C-n&gt;" : "\&lt;Down&gt;"
  inoremap &lt;expr&gt; &lt;Up&gt;       pumvisible() ? "\&lt;C-p&gt;" : "\&lt;Up&gt;"
  inoremap &lt;expr&gt; &lt;PageDown&gt; pumvisible() ? "\&lt;PageDown&gt;\&lt;C-p&gt;\&lt;C-n&gt;" : "\&lt;PageDown&gt;"
  inoremap &lt;expr&gt; &lt;PageUp&gt;   pumvisible() ? "\&lt;PageUp&gt;\&lt;C-p&gt;\&lt;C-n&gt;" : "\&lt;PageUp&gt;"
  
  " Remove trailing white-space once the file is saved
  au BufWritePre * silent g/\s\+$/s///
  
  " Use CTRL-S for saving, also in Insert mode
  noremap &lt;C-S&gt; :update!&lt;CR&gt;
  vnoremap &lt;C-S&gt; &lt;C-C&gt;:update!&lt;CR&gt;
  inoremap &lt;C-S&gt; &lt;C-O&gt;:update!&lt;CR&gt;
  
  " DEFAULT
  set nocompatible
  source $VIMRUNTIME/vimrc_example.vim
  "source $VIMRUNTIME/mswin.vim
  "behave mswin
  
  " disable creation of swap files
  set noswapfile
  
  " no back ups wwhile editing
  set nowritebackup
  
  " disable creation of backups
  set nobackup
  
  " no file change pop up warning
  autocmd FileChangedShell * echohl WarningMsg | echo "File changed shell." | echohl None
  
  set diffexpr=MyDiff()
  function MyDiff()
    let opt = '-a --binary '
    if &amp;diffopt =~ 'icase' | let opt = opt . '-i ' | endif
    if &amp;diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
    let arg1 = v:fname_in
    if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
    let arg2 = v:fname_new
    if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
    let arg3 = v:fname_out
    if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
    let eq = ''
    if $VIMRUNTIME =~ ' '
      if &amp;sh =~ '\&lt;cmd'
        let cmd = '""' . $VIMRUNTIME . '\diff"'
        let eq = '"'
      else
        let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
      endif
    else
      let cmd = $VIMRUNTIME . '\diff'
    endif
    silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' &gt; ' . arg3 . eq
  endfunction
  </code></pre>
  
  <p>Is there a way to choose the first word immediately?</p>
  
  <p><strong>EDIT:</strong></p>
  
  <pre><code>:map &lt;c-y&gt; says:
  
  n  &lt;C-Y&gt;A        &lt;Plug&gt;ZenCodingAnchorizeSummary
  n  &lt;C-Y&gt;a        &lt;Plug&gt;ZenCodingAnchorizeURL
  n  &lt;C-Y&gt;k        &lt;Plug&gt;ZenCodingRemoveTag
  n  &lt;C-Y&gt;j        &lt;Plug&gt;ZenCodingSplitJoinTagNormal
  n  &lt;C-Y&gt;/        &lt;Plug&gt;ZenCodingToggleComment
  n  &lt;C-Y&gt;i        &lt;Plug&gt;ZenCodingImageSize
  n  &lt;C-Y&gt;N        &lt;Plug&gt;ZenCodingPrev
  n  &lt;C-Y&gt;n        &lt;Plug&gt;ZenCodingNext
  v  &lt;C-Y&gt;D        &lt;Plug&gt;ZenCodingBalanceTagOutwardVisual
  n  &lt;C-Y&gt;D        &lt;Plug&gt;ZenCodingBalanceTagOutwardNormal
  v  &lt;C-Y&gt;d        &lt;Plug&gt;ZenCodingBalanceTagInwardVisual
  n  &lt;C-Y&gt;d        &lt;Plug&gt;ZenCodingBalanceTagInwardNormal
  n  &lt;C-Y&gt;;        &lt;Plug&gt;ZenCodingExpandWord
  n  &lt;C-Y&gt;,        &lt;Plug&gt;ZenCodingExpandNormal
  v  &lt;C-Y&gt;,        &lt;Plug&gt;ZenCodingExpandVisual          
  </code></pre>