2013-05-16 122 views
5

我制订了方便:VIM拆分窗口:关注新窗口

" this is a ctrl + backslash binding to vsplit 
nmap <C-\> :vsplit<CR> 
" this is a ctrl + hyphen binding to hsplit 
nmap <C-_> :split<CR> 

这是好事,但需要一个更画龙点睛的行为方式我想这是它应该着眼于新创建的窗口,所以我可以使用传统的:e或CtrlP插件立即打开我想要的任何文件。就像现在一样,这样做会从原始窗口导航,这有点迷失方向。

我怎样才能让:split:vsplit自动聚焦新创建的vim窗口?

+0

可能重复(http://stackoverflow.com/questions/15968880/vim-cursor-position-on-new-split-window) –

回答

18

右/默认。你可能不知道的是,新的垂直分割放在左边,新的水平分割放在最上面。

要在屏幕右侧或底部打开新的分割,请在vimrc中添加以下内容。

set splitbelow 
set splitright 
[关于新的分割窗口的Vim光标位置]的
+0

花式。通过使用':[v] split'来计算出来并不容易。 – timss

+0

完美........ –

+0

但是当你做':vnew'时很容易搞清楚。 – romainl

1

我不知道,如果是100%灵活,在任何情况下工作,但你可以用光标移动到另一个窗口的命令结合起来,如CTRL 瓦特瓦特

nnoremap <C-\> <C-w>v<C-w>w 
  • <C-w>v - 像:vsplit
  • <C-w>w - 将光标移动到窗口下方。当我打开新的分割我的光标会自动聚焦在新窗口中的当前一个
+0

这不是一个虽然我相信它不会总是走到正确的窗口,但它不好。该文件似乎并没有表明CTRL-W_W有一个相当于':'命令,这很奇怪 –

+0

@StevenLu是的,这可能是麻烦的,取决于你想如何分割。实际上我对类似的东西有一定的限制,但是'splitbelow'和'splitright'似乎是一个更好的解决方案。 – timss

+0

@StevenLu如果你输入':h split',它上面的两行显示正常模式命令。 – FDinoff