我在 vim 上使用
NERDTree
并且通常使用 i
打开文件
有没有一种简单的方法可以在不同的窗格之间切换?目前我使用
CTRL+W+W
从一个窗格移动到另一个窗格。
很久以前,我发现了一个我一直坚持使用的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>
我知道这是一个老问题,但我有一个完美的方法。使用分割数。
split_number C-w C-w
窗格的编号从
top-left
到 bottom-right
,第一个窗格的编号为 1
。
例如要转到第 3 个分割,请执行此操作
3 C-w C-w
,按 Ctrl-w
两次。
我更喜欢敲击单键而不是敲击关键和弦。以下地图窗格移动到箭头键:
" 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>
按键映射绝对是最佳选择。我使用 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>
,分叉就会移动到我想要的位置。
为了与通过 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>
实现它的方法非常简单。输入此快捷方式两次,应该可以工作
ctrl+w ctrl+w
我已将
ctrl+w ctrl+w
映射到 <tab>
(在正常模式下,正常模式选项卡中没有任何用处),这使我的生活变得更轻松,因为现在我可以通过按 <tab>
轻松在窗格之间切换。
要切换到特定窗格,我可以按
<i> + <tab>
在窗格之间切换,因为分割窗口窗格也有自己的编号,可以代替 i。
例如。我 = 1,2...n。
在浏览器中使用 vim 时
ctrl + w
会出现问题,因为它会导致浏览器选项卡关闭。我有时通过 Apache Guacamole 连接到服务器时使用 vim。
Vim 的
:help wincmd
页面解释了 :wincmd
或其快捷键 :winc
可用于在拆分之间移动:
注意:所有 CTRL-W 命令也可以使用 :wincmd 执行, 对于那些需要正常模式命令的地方 无法使用或不方便。
例如左、下、上、右移动:
:winc h
:winc j
:winc k
:winc l