【问题标题】:VIM :set list! as a toggle in .vimrcVIM:设置列表!作为 .vimrc 中的切换
【发布时间】:2012-09-14 02:23:24
【问题描述】:

我的 .vimrc 文件中是否有任何方法可以将命令 set list!F3 之类的键绑定一起使用,因此它的功能类似于粘贴切换 set pastetoggle=<F2>

【问题讨论】:

  • 查看此问题以获得可能的答案:stackoverflow.com/questions/1773722/…
  • pastetoggle 只是一个选项,因为它的特殊用例。它定义了一个在所有映射都被禁用时存在的映射。请参阅上面的答案,了解如何创建地图以切换正常选项。
  • 我总是只做:se list! 然后@: 来切换

标签: vim


【解决方案1】:

您可以将其放入您的.vimrc 文件中:

" F3: Toggle list (display unprintable characters).
nnoremap <F3> :set list!<CR>

【讨论】:

  • 只要我不在插入模式下,它就可以很好地工作,但在插入模式下,它会以任何方式打印“”来解决这个问题。如果没有,因为它对我来说仍然是一个巨大的帮助,谢谢:)
  • 虽然切换'list' 设置是非常明显的,如果你在切换其他设置时说,'spell' 可能要少得多。您可以通过将list? 添加到set 命令来改进此映射。这将打印出'list' 设置的当前值。所以完整的应该是nnoremap &lt;f3&gt; :set list! list?&lt;cr&gt;
【解决方案2】:

这是普通模式、视觉+选择模式和操作符挂起模式的映射(例如,在键入 d 之后):

noremap <F3> :set list!<CR>

功能键(相对于&lt;Leader&gt;)的好处是它们也可以在插入模式下映射:

inoremap <F3> <C-o>:set list!<CR>

为了完整,您还可以为命令行模式创建地图:

cnoremap <F3> <C-c>:set list!<CR>

:help map-modes了解更多关于各种映射模式的信息

【讨论】:

    【解决方案3】:

    我找到了一个关于如何在 vim 中切换set number 的答案,https://stackoverflow.com/a/762633/1086911

    所以可以尝试同样的方法,将以下行放入您的 vimrc 文件中

    map <F3> :set list! list? <CR>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-01
      相关资源
      最近更新 更多