gpt4 book ai didi

windows - windows版vim的默认vimrc文件说明

转载 作者:可可西里 更新时间:2023-11-01 12:36:58 25 4
gpt4 key购买 nike

我刚刚下载了适用于 windows 的 vim7.4,我想知道它附带的默认 vimrc 文件在做什么。只是对每个项目的简要说明会很高兴知道。在这里。

set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin

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 arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let eq = ''
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
let cmd = '""' . $VIMRUNTIME . '\diff"'
let eq = '"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction

最佳答案

set nocompatible

默认情况下,Vim 的行为与其祖先 vi 相似。对于快速编辑而言,这并不是真正的问题,但如果您打算使用它超过 10 分钟,它就会非常糟糕。 set nocompatible使 Vim 比 Vi 更像 Vim。

参见 :help nocompatible .

source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim

来源这两个文件。 vimrc_example.vim包含示例设置。看看它可能是个好主意:它可能包含对您有用的东西。

behave mswin

mswin.vim包含一系列设置和映射,旨在使 Vim 或多或少像典型的 Windows 编辑器一样工作,例如 <C-v>粘贴。这个命令“激活”了那个愚蠢的行为。

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 arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let eq = ''
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
let cmd = '""' . $VIMRUNTIME . '\diff"'
let eq = '"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction

这个函数定义了 Vim 用于区分两个或多个缓冲区时的行为。对我来说,它看起来更像是黑客攻击。它似乎正在检查您的 Windows 环境是否能够自行执行差异,如果不能,请使用内置差异。

如果你打算认真使用/学习 Vim,以上都不应进入你的 $HOME\_vimrc .甚至不是自 nocompatible 以来的第一行如果 Vim 找到 $HOME\_vimrc 会自动为你设置.

我对 Windows 不是很熟悉,所以 diff 部分可能有用,但您可以安全地放弃其余部分。

当您看到 set something , 做 :help 'something (用单引号)。

关于windows - windows版vim的默认vimrc文件说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19373831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com