Ada*_*das 30 vim keyboard-shortcuts
我CtrlW用来在VIM拆分窗口之间导航.有没有不同的方法来做到这一点?
例如,如果我有5个分割窗口打开并想要导航到左上角窗口,CtrlW则非常不舒服,因为它需要很多击键.
Roo*_*ook 42
为什么不设置这样的东西?
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
Run Code Online (Sandbox Code Playgroud)
更快......
ske*_*ept 18
您可以使用<number><c-w>w切换到特定窗口.所以1<c-w>w第一个窗口(左上角)
11<c-w>w移动到最后一个窗口(这里我假设你有少于11个分割).
我还发现以下映射很方便,并将它们放在我的.vimrc中
nnoremap <tab> <c-w>
nnoremap <tab><tab> <c-w><c-w>
Run Code Online (Sandbox Code Playgroud)
我用于窗口拼接(出于某种原因,如果我没有定义第二个映射,如果我按Tab键两次,我得到一条消息"光标下没有标识符)
阅读CTRL-W帮助页面,甚至还有一个更便捷的方式比
1<c-w>w与11<c-w>w去第一和最后一个窗口:
<c-w>t去上面的窗口,并<c-w>b进入到下面的窗口.
您可以使用 nnoremap在 vimrc 中命令来使用自定义键绑定。
的语法nnoremap是这样的:
nnoremap new_keybinding keystrokes
Run Code Online (Sandbox Code Playgroud)
nnoremap 命令分配一个新的键绑定,当你在正常模式下按下它时,分配给这个命令的按键序列会回显到 Vim。
编辑:还有nmap命令。两者之间的区别在于
在这个答案中解释了它们之间的区别。nmap允许覆盖您当前的键绑定,而nnoremap不允许。
例如,我将这些行放在我的.vimrc:
"Better window navigation
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-h> <C-w>h
nnoremap <C-l> <C-w>l
Run Code Online (Sandbox Code Playgroud)
这允许我使用Ctrl+j, Ctrl+k, Ctrl+h,Ctrl+l而不是Ctrl+W j, Ctrl+W k, Ctrl+W h,Ctrl+W l进行窗口导航,同时保留旧的键绑定。
您也可以查找:help key-mappings更多信息。