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

问题描述 投票:0回答:8

我在 vim 上使用

NERDTree
并且通常使用
i

打开文件

有没有一种简单的方法可以在不同的窗格之间切换?目前我使用

CTRL+W+W
从一个窗格移动到另一个窗格。

vim navigation
8个回答
110
投票

很久以前,我发现了一个我一直坚持使用的tip(曾经在 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>

28
投票

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

split_number C-w C-w

窗格的编号从

top-left
bottom-right
,第一个窗格的编号为
1

例如要转到第 3 个分割,请执行此操作

3 C-w C-w
,按
Ctrl-w
两次。


20
投票

我更喜欢敲击单键而不是敲击关键和弦。以下地图窗格移动到箭头键:

" 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>

3
投票

按键映射绝对是最佳选择。我使用 overthink 提到的映射。我还在我的 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>
,分叉就会移动到我想要的位置。


2
投票

为了与通过 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>

2
投票

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

ctrl+w ctrl+w

1
投票

我已将

ctrl+w ctrl+w
映射到
<tab>
(在正常模式下,正常模式选项卡中没有任何用处),这使我的生活变得更轻松,因为现在我可以通过按
<tab>
轻松在窗格之间切换。

要切换到特定窗格,我可以按

<i> + <tab>
在窗格之间切换,因为分割窗口窗格也有自己的编号,可以代替 i。

例如。我 = 1,2...n。


0
投票

在浏览器中使用 vim 时

ctrl + w
会出现问题,因为它会导致浏览器选项卡关闭。我有时通过 Apache Guacamole 连接到服务器时使用 vim。

Vim 的

:help wincmd
页面解释了
:wincmd
或其快捷键
:winc
可用于在拆分之间移动:

注意:所有 CTRL-W 命令也可以使用 :wincmd 执行, 对于那些需要正常模式命令的地方 无法使用或不方便。

例如左、下、上、右移动:

:winc h
:winc j
:winc k
:winc l
© www.soinside.com 2019 - 2024. All rights reserved.