繁体   English   中英

Gvim:在重新分配vimrc时出现空的底部栏

[英]Gvim: Empty bottom bar appears on re-sourcing vimrc

我最近决定迁移到Gvim,并注意到我的一些特定于GUI的设置很乏味。

我已经定义了一个自动命令,可以在写入$$ VIMRC时重新使用它,并在重新输入时(这在初次启动时不会发生),在底部出现一个空白栏。 我相信这是包含水平滚动条的栏。

当我尝试使用删除滚动条时

:set guioptions-=b

什么都没发生。 但是,如果我先添加然后删除它,

:set guioptions+=b
:set guioptions-=b

它消失了。

我认为这可能与我定义guioptions方式和时间有关。 这是我的.vimrc的相关部分:

set guioptions-=m              " GUI: Disable Menu 
set guioptions-=r              " GUI: Disable right scrollbar
set guioptions-=T              " GUI: Disable Toolbar

我试图把它放在这样的augroup

augroup GuiWidgets
  au!
  set guioptions-=m              " GUI: Disable Menu 
  set guioptions-=r              " GUI: Disable right scrollbar
  set guioptions-=T              " GUI: Disable Toolbar
augroup end

但这没什么区别。

这个问题的根源是什么?


编辑1-添加了.vimrc

let mapleader = ','
inoremap jj <Esc>
set nocompatible


"********************************
" PLUGINS
"********************************

if has('vim_starting')
  set runtimepath+=~/.vim/bundle/neobundle.vim/
endif

call neobundle#begin(expand('~/.vim/bundle/'))

NeoBundleFetch 'Shougo/neobundle.vim'

NeoBundle 'benmills/vimux'
NeoBundle 'scrooloose/nerdcommenter'
NeoBundle 'scrooloose/syntastic'
NeoBundle 'kana/vim-textobj-entire'
NeoBundle 'kana/vim-textobj-user'
NeoBundle 'Raimondi/delimitMate'
NeoBundle 'Lokaltog/vim-easymotion'
NeoBundle 'godlygeek/tabular'
NeoBundle 'surround.vim'
NeoBundle 'christoomey/vim-tmux-navigator'
NeoBundle 'Shougo/vimproc.vim'
NeoBundle 'Shougo/unite.vim'
NeoBundle 'Shougo/vimshell.vim'
NeoBundle 'c.vim'

call neobundle#end()
filetype plugin indent on

NeoBundleCheck


"******************************
" PLUGIN SETTINGS
"******************************

nnoremap <C-p> :Unite file_rec/async:! -silent -start-insert -auto-resize<CR>


"******************************
" PLUGIN MAPPINGS
"******************************

map <Space> <Plug>(easymotion-prefix)

cnoreabbrev bi Unite neobundle/install
cnoreabbrev bu Unite neobundle/update
cnoreabbrev bc NeoBundleClean

nmap <Leader>a= :Tabularize /=<CR>
vmap <Leader>a= :Tabularize /=<CR>
nmap <Leader>a: :Tabularize /:\zs<CR>
vmap <Leader>a: :Tabularize /:\zs<CR>
nmap <Leader>a# :Tabularize /#<CR>
vmap <Leader>a# :Tabularize /#<CR>


"******************************
" GENERAL SETTINGS
"******************************

set t_Co=256                   
let g:molokai_original=0       
colorscheme molokai            
filetype plugin indent on      
syntax on                      

set complete-=t                
set gfn=Source\ Code\ Pro\ 10  
set encoding=utf-8             
set number                     
set lazyredraw                 
set completeopt-=preview       
set ttyfast                    
set backspace=indent,eol,start 

set hidden                     
set showmatch                  
set wildmode=longest:list,full 
set wildmenu                   
set shortmess+=I               
set showcmd                    
set showmode                   
set clipboard=unnamed          

set history=50                 
set nrformats=                 
set autoread                   
set ruler                      
set laststatus=2               
set scrolloff=8                
set visualbell                 
set splitright                 

set smarttab                   
set autoindent                 
set expandtab                  
set tabstop=4                  
set shiftwidth=4               
set softtabstop=4              
set ignorecase smartcase       
set gdefault                   

set incsearch                  
set hlsearch                   
set nobackup                   
set noswapfile                 
set ttimeoutlen=50             
set relativenumber             
set cursorline                 
set cc=80                      

set guioptions-=m             
set guioptions-=r             
set guioptions-=T             
"set guioptions=

match ErrorMsg '\%>80v.\+'


"***************************
" GENERAL MAPPINGS
"***************************

map cn <Esc>:cn<CR>
map cp <Esc>:cp<CR>
nmap <CR> o<Esc>k
inoremap {<CR> {<CR>}<C-o>O
nnoremap <leader>v :e $MYVIMRC<CR>
nnoremap <leader>h  :let @/ = ""<CR>
nnoremap n nzz
nnoremap <silent> <leader>; :call setline('.', getline('.').';')<CR>
nnoremap <leader>q <C-w>q<CR>
nnoremap <leader>w :w<CR>
nnoremap <silent> <leader>d :bp\|bd #<CR>
nnoremap <leader>c :cd %:p:h<CR>
cnoreabbrev ci( %ci(
cnoreabbrev ci) %ci)
cnoreabbrev ci[ %ci[
cnoreabbrev ci[ %ci]
cnoreabbrev ci{ %ci{
cnoreabbrev ci} %ci}


"***************************
" AUTOCOMMANDS
"***************************

" Auto-source .vimrc
augroup Vimrc
    au!
    au bufwritepost .vimrc source $MYVIMRC
augroup end

" Filetype-specific settings
augroup Filetypes
    au!
    "au FileType c nmap <leader>r :SCCompileRun<CR>
    au FileType c nmap <leader>r :make\|!./%:r<CR>
    au FileType c setlocal sw=2 sts=2 
    au FileType ruby nmap <leader>r :call RunByFiletype("ruby")<CR>
augroup end



编辑2-添加图片
(对不起小尺寸)

启动时 启动时

采购.vimrc之后(出现一个空的滚动条容器) 在此处输入图片说明

运行:set guioptions + = b之后(水平滚动条已添加到容器中) 在此处输入图片说明

运行:set guioptions- = b之后(水平容器消失) 在此处输入图片说明

运行:set gfn = Source \\ Code \\ Pro \\ 10后(重新出现该栏) 在此处输入图片说明

最终创建了一个块来初始化我想在启动时设置的特定于GUI的选项,并且不受.vimrc的约束。 我将不再看到更改$ MYVIMRC中的guifont的“即时效果”,但是这将使底部显示的内容不再出现。

if has('gui_running')
    if has('vim_starting') 
        set gfn=Source\ Code\ Pro\ 10
        set guioptions-=m
        set guioptions-=T
        set guioptions-=r
        set guioptions+=c
    endif
endif

这是终端中的Vim

在此处输入图片说明

我将GVim平铺到右上角的另一个示例

在此处输入图片说明

正常边缘尺寸在左侧,而右侧是由于平铺和字体高度而导致的强制边缘尺寸。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM