Fandom

Vim Tips Wiki

Use tab key to switch windows and current file path

Redirected from VimTip1226

1,624pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Tip 1226 Printable Monobook Previous Next

created 2006 · complexity basic · author Tianmiao Hu · version 5.7


This tip allows you to use the Tab key to switch windows created by the :sp command. It also sets the current file path to that of the file in the window that gains the focus.

Add the following two entries to your vimrc or gvimrc file:

set autochdir
map <Tab> <C-W>W:cd %:p:h<CR>:<CR>

When you use :sp to create multiple windows, you can press the Tab key to switch between the windows (hit Esc first if in insert mode). If you use :e and hit the Tab key, you will get the files under the same directory as that of the file in the currently focused window.

Explanation:

  • See :help 'autochdir' for the purpose of the first entry.
  • The second entry maps the Tab key to the window switch key, and sets the current file path by ":cd %:p:h", and clears the ":cd %:p:h" at : prompt.

CommentsEdit

The "autochdir" isn't "compiled in" in some some distributions (like Fedora).


Mapping <S-Tab> to wincmd p is useful also.


Here's a function to overload the <Tab>, <c-i> functionality to first go forward in the jump list, and if there is nowhere to go, it will move to the next window:

function! Tab_jump_or_win_move()
  let l = line(".")
  let c = col(".")
  let b = bufnr("%")
  exe "normal! \<Esc>\<Tab>"
  if l == line(".") && c == col(".") && b == bufnr("%")
    call feedkeys( "\<c-w>\<c-w>", "t" )
  endif
endfunction
nnoremap <silent> <Tab> :call Tab_jump_or_win_move()<CR>

Also on Fandom

Random Wiki