【问题标题】:Vim Tab next/previous shortcuts in OSXOSX 中的 Vim Tab 下一个/上一个快捷方式
【发布时间】:2016-03-03 08:49:29
【问题描述】:

我已经开始使用vim with ctags and tabs:

将以下内容添加到我的~/.vimrc

map <C-\> :tab split<CR>:exec("tag ".expand("<cword>"))<CR>

通过点击 Ctrl+\ 在新标签页中打开当前单词的 ctags 定义。

但是,标签切换仍然很痛苦,需要手动使用:tabn:tabp 完成。

我试过following ~/.vimrc shortcuts

nnoremap <C-Left> :tabp<CR>
nnoremap <C-Right> :tabn<CR>

没有运气 - Ctrl+Ctrl+ 什么都不做。

知道如何将 Ctrl+Ctrl+ 映射到 tab-next 和OSX 上 vim 中的制表符?

【问题讨论】:

    标签: macos vim keyboard-shortcuts ctags


    【解决方案1】:

    您正在查看的是gtgT 命令。

    gt  - takes you to next tab
    gT  - takes you to previous tab
    

    他们可以使用count,例如3gt 会将您带到接下来的 3 个标签。

    【讨论】:

    • 问题不在于命令(tabprevioustabp 工作),而在于键映射。
    • 和@romainl siaid 一样,gtgT 已经存在了,为什么还要重新映射呢
    • @romainl - 你是对的,谢谢你的提示。但是,我正在寻找一种方法来映射 CTRL+箭头键,这对我来说更方便。
    • @AdamMatan,这就是 vim 邮件所说的 vim.1045645.n5.nabble.com/… 。我会简单地使用gtgT
    • @dlmeetei 这太令人沮丧了!我的板上没有 PageUp/Down 键。一定有办法在 OSX Vim 中映射它们。
    【解决方案2】:

    如果你还在的话,我相信我知道亚当的意思。我喜欢在不输入和弦的情况下稍微快一点移动 (shift-;)。

    只是为了直接回答简单的问题,以下映射将 ctrl-left 和 ctrl-right 箭头键分别映射到 tabprevtabnext

    nnoremap <C-Left> :tabprevious<CR>
    nnoremap <C-Right> :tabnext<CR>
    

    将这些行添加到您的 vimrc 以使其永久化。这在 MacVim 中对我有用。您可以在这里找到更多信息:https://vim.fandom.com/wiki/Using_tab_pages

    但您也可以考虑以下内容。使用单个选项卡时,使用 ctrl 映射“vim 光标键”(hjkl)以导航水平和垂直拆分/窗口效果很好(C- 表示 ctrl):

    nnoremap <C-h> <C-w>h
    nnoremap <C-j> <C-w>j
    nnoremap <C-k> <C-w>k
    nnoremap <C-l> <C-w>l
    

    但是,如果像我一样,您倾向于始终只使用水平拆分,那么您可以映射 &lt;C-j&gt;&lt;C-k&gt; 以在拆分(上下)之间进行更改并重新映射 &lt;C-h&gt;&lt;C-l&gt;(左和右)用于更改选项卡。当然你可以用方向键做同样的事情,或者两者都做!:

    nnoremap <C-Left> :tabprevious<CR>
    nnoremap <C-Right> :tabnext<CR>
    nnoremap <C-h> :tabprevious<CR>
    nnoremap <C-l> :tabnext<CR>
    nnoremap <C-j> <C-w>j
    nnoremap <C-k> <C-w>k
    

    一些用户可能会发现“vim 光标键”更接近他们的正常手指位置,也更一致和直观。此处提供了一些进一步的建议:https://vim.fandom.com/wiki/Alternative_tab_navigation

    使用:help map-overview 可以更好地理解映射命令。 nnoremap 仅为普通模式安装映射,并且不允许递归定义,因此映射不会再次重新映射。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多