【发布时间】:2019-05-31 20:33:59
【问题描述】:
TDLR;我无法使用 _vimrc 文件编辑 gvim
基本上,我想在 vim (gvim) 的 GUI 版本中更改一些默认设置(如背景颜色)。但是,当我对 .vimrc 文件进行更改时,我的 gvim 不会对更改做出反应。
我已经有了
如果有("gui_number") 集数 配色沙漠 结束
在我的 .vimrc 文件中,从我读过的内容来看,应该在我的 GVIM 中进行更改,但事实并非如此。
我什至尝试在 .vimrc 文件中输入一些随机内容,以查看 GVIM 是否会显示错误,但它没有。
所以我认为问题可能是我的 gvim 根本没有读取我的 .vimrc 文件。所以这可能是一个路径问题?
下面是我的 .vimrc 文件
source $VIMRUNTIME/vimrc_example.vim
jhgfjhgjhg (This here was to test for an error)
if has('gui_running')
set number
colorscheme desert
endif
set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg1 = substitute(arg1, '!', '\!', 'g')
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg2 = substitute(arg2, '!', '\!', 'g')
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let arg3 = substitute(arg3, '!', '\!', 'g')
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
if empty(&shellxquote)
let l:shxq_sav = ''
set shellxquote&
endif
let cmd = '"' . $VIMRUNTIME . '\diff"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
let cmd = substitute(cmd, '!', '\!', 'g')
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
if exists('l:shxq_sav')
let &shellxquote=l:shxq_sav
endif
endfunction
Here is my .GVIMRC file
version 6.0
if &cp | set nocp | endif
let s:cpo_save=&cpo
set cpo&vim
map! <S-Insert> *
vmap "*d
map Q gq
vmap [% [%m'gv``
vmap ]% ]%m'gv``
vmap a% [%v]%
vmap gx <Plug>NetrwBrowseXVis
nmap gx <Plug>NetrwBrowseX
vnoremap <silent> <Plug>NetrwBrowseXVis :call netrw#BrowseXVis()
nnoremap <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(expand((exists("g:netrw_gx")? g:netrw_gx : '<cfile>')),netrw#CheckIfRemote())
vmap <C-Del> "*d
vmap <S-Del> "*d
vmap <C-Insert> "*y
vmap <S-Insert> "-d"*P
nmap <S-Insert> "*P
inoremap u
let &cpo=s:cpo_save
unlet s:cpo_save
set backspace=indent,eol,start
set backup
set diffexpr=MyDiff()
set display=truncate
set guioptions=egmrLT
set helplang=En
set history=200
set hlsearch
set incsearch
set langnoremap
set nolangremap
set nrformats=bin,hex
set ruler
set runtimepath=~/vimfiles,C:\\Program\ Files\ (x86)\\Vim/vimfiles,C:\\Program\ Files\ (x86)\\Vim\\vim81,C:\\Program\ Files\ (x86)\\Vim\\vim81\\pack\\dist\\opt\\matchit,C:\\Program\ Files\ (x86)\\Vim/vimfiles/after,~/vimfiles/after
set scrolloff=5
set ttimeout
set ttimeoutlen=100
set undofile
set wildmenu
" vim: set ft=vim :
我希望我的 gvim 会显示线条和不同的背景,但没有任何反应。
编辑:我的 _vimrc 文件应该和我的 gvimrc 完全一样吗?
【问题讨论】:
-
在
gvim中,如果你运行:echo $MYVIMRC,路径显示是否和你的.vimrc一样? -
是的,它是 C:/Program Files (x86)\VIM_vimrc 它们应该是一样的吧? .gvimrc 不应该先使用 .vimrc 吗?
-
确实如此。我使用了您提供的文件,它的行为符合预期(我想,看,顶部是 gvim,左下角是启动 vim 或 gvim 的痕迹,右下角是 vim:imgur.com/a/1EQoURM)
-
但是。我在 Linux 上运行,而不是在 Windows 上。
-
顺便说一句,查看
:help initialization不会有什么坏处。
标签: vim