0

我正在尝试通过删除 gui 特定设置来清理我的 .vimrc ,以便它可以在终端上正常工作(即,当我通过 ssh 启动 vim 时。有没有地方可以找到我应该在if ('gui_running') endif块内移动的 vim 命令列表。

4

2 回答 2

4

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

一般来说,只有几件事是真正特定于 GUI 的:

  • guifont和相关选项,
  • 仅适用于 GUI 的配色方案,
  • 删除菜单或滚动条guioptions
  • gui实际上,任何以 开头的选项
  • 仅在 GUI 中有效的映射……</li>

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

但如果这真的是你的 ~/.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 工作,你可能需要把它放在一个条件中。

于 2013-10-18T05:08:49.743 回答
1

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

Vim 图形用户界面文档

于 2013-10-18T03:58:50.903 回答