在 vim 分割窗格之间导航的简单方法

我在 vim 上使用 NERDTree,通常用 i打开文件

有什么简单的方法可以在不同的窗格之间切换吗?目前我使用 CTRL+W+W从一个窗格移动到另一个窗格。

36604 次浏览

很久以前,我发现了一个我一直坚持使用的 小费(曾经在 vim.org 上,现在显然是在 wikia 上)。重新映射 ctrl-[hjkl]以导航分割。这对我很有帮助。

" Use ctrl-[hjkl] to select the active split!
nmap <silent> <c-k> :wincmd k<CR>
nmap <silent> <c-j> :wincmd j<CR>
nmap <silent> <c-h> :wincmd h<CR>
nmap <silent> <c-l> :wincmd l<CR>

键映射肯定是要走的路。我使用过度思考提到的映射。我还在 vimrc 中包含以下映射来移动分割本身。

" Move the splits arround!
nmap <silent> <c-s-k> <C-W>k
nmap <silent> <c-s-j> <C-W>j
nmap <silent> <c-s-h> <C-W>h
nmap <silent> <c-s-l> <C-W>l

这使得如果分裂打开在错误的地方(让我们说左边,我想它在右边) ,我去那个分裂,按 <C-S-l>和分裂移动到我想要的地方。

我更喜欢按单键而不是按键和弦。下面的地图窗格移动到箭头键:

" Smart way to move between panes
map <up> <C-w><up>
map <down> <C-w><down>
map <left> <C-w><left>
map <right> <C-w><right>

为了与通过 gT & gT 更改制表符保持一致,我目前正在尝试用 g 映射更改拆分。我倾向于在按 Ctrl 键时按 shift 键,这样可以帮助我避免这个错误,直到我能更好地避免这样做。

nnoremap gh <C-W><C-H>
nnoremap gj <C-W><C-J>
nnoremap gk <C-W><C-K>
nnoremap gl <C-W><C-L>

我知道这是一个老问题,但我有一个完美的方法。使用分裂的数字。

split_number C-w C-w

窗格的编号从 top-leftbottom-right,第一个窗格的编号是 1

例如,去分割号码3做这个 3 C-w C-w,按 Ctrl-w两次。

非常简单的方法实现它。键入这个快捷方式两次,这应该可以工作

ctrl+w ctrl+w