且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何制作在Vim窗口之间移动的快捷方式?

更新时间:2023-01-31 10:48:48

有一个简单得多的解决方案,它比使用鼠标或固定设置的移动映射要好.如果窗口编号与您对于3x3矩阵所想到的不同,或者如果您决定使用少于9个窗口,则它们将中断.方法如下:

在您的 .vimrc 中包括以下内容:

 让i = 1而我< = 9执行'nnoremap< Leader>'.一世 .':'.一世 .'wincmd w< CR>'让我=我+ 1最后 

现在,您只需按< Leader>< number> ,然后转到所需的窗口编号.我不建议超过9,因为IMO(具有多个视口的实用程序)遵循在评论中询问我的状态行,所以这里是:

 "状态栏StatusLine term = bold cterm = bold ctermfg = White ctermbg = 235您好StatusHostname term = bold cterm = bold ctermfg = 107 ctermbg = 235 guifg =#799d6a嗨StatusGitBranch条款=粗体cterm =粗体ctermfg = 215 ctermbg = 235 guifg =#ffb964功能!MyGitBranchStyle()让分支= GitBranch()如果分支==''让branchStyle =''别的让branchStyle ='git:'.分支结尾返回branchStyle终端功能功能!WindowNumber()让str = tabpagewinnr(tabpagenr())返回str终端功能设置laststatus = 2设置statusline =%#StatusLine#%F%h%m%r \%h%w%y \ col:%c \ lin:%l \,%L \ buf:%n \ win:%{WindowNumber()}\ reg:%{v:register} \%#StatusGitBranch#%{MyGitBranchStyle()} \ \%=%#StatusLine#%{strftime(\%d/%m/%Y-%H:%M \")} \%#StatusHostname#%{hostname()} 

最后一行应该是一行(请注意,如果您的设置自动将其分成多行).我知道有一些方法可以在每个步骤中使用增量字符串连接来组织它,但是我懒得更改它.:) GitBranch()函数(具有其他git功能)由提供git.vim插件.如此处所述,其中有一个错误,我使用了解决方案