特定于gvim的命令

时间:2013-10-18 03:56:41

标签: vim

我试图通过删除gui特定设置来清理我的.vimrc,以便它与终端一起运行良好(即,当我在ssh上启动vim时。是否有地方可以找到我应该移动的vim命令列表{ {1}}阻止。

2 个答案:

答案 0 :(得分:4)

不,只有常识会帮助你。如果你想清理你的~/.vimrc,那一定意味着你已经发现了一些问题,不是吗?

一般来说,只有少数事情是特定于GUI的:

  • guifont及相关选项,
  • 只能在GUI中使用的colorscheme,
  • 使用guioptions
  • 删除菜单或滚动条
  • 任何以gui开头的选项,实际上是
  • 仅在GUI中起作用的映射...

阅读您设置的每个选项的文档。

但如果那真的是你的 ~/.vimrc那么它应该不会太难,因为你确切地知道一切都做了什么,怎么做,为什么,对吧?

举个例子,这就是我所拥有的:

let os=substitute(system('uname'), '\n', '', '')

if has('gui_running')
  colorscheme sorcerer

  set guioptions-=T

  set lines=40
  set columns=140

  if os == 'Darwin'
    set guifont=Inconsolata-g:h13
    set fuoptions=maxvert,maxhorz
    set clipboard^=unnamed

  elseif os == 'Linux'
    set guifont=Inconsolata-g\ Medium\ 11
    set guioptions-=m
    set clipboard^=unnamedplus

  endif

else
  if &t_Co >= 256
    colorscheme sorcerer

  elseif &t_Co < 256
    colorscheme sorcerer_16

  endif

  if os == 'Darwin'
    set clipboard^=unnamed

  elseif os == 'Linux'
    set clipboard^=unnamedplus

  endif

  nnoremap <Esc>A <up>
  nnoremap <Esc>B <down>
  nnoremap <Esc>C <right>
  nnoremap <Esc>D <left>
  inoremap <Esc>A <up>
  inoremap <Esc>B <down>
  inoremap <Esc>C <right>
  inoremap <Esc>D <left>

endif

我不在远程计算机上使用此~/.vimrc,因此clipboard设置对我来说是安全的,但如果您打算通过SSH工作,则可能需要将其置于条件中。

答案 1 :(得分:1)

这可能不是您想要的,但这应该为您提供一个起点。

Vim GUI Documentation