首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vim中的最大路径长度

Vim中的最大路径长度
EN

Stack Overflow用户
提问于 2014-03-12 16:06:35
回答 4查看 378关注 0票数 1

我在Windows 7上使用Vim7.3。

关于path的文档说

最大长度是有限的。在多大程度上取决于系统,主要是大约256个或1024个字符。

然而,当我执行:echo strlen($path)时,我得到了2533。我很高兴它超过1024。这让我想知道最大长度是否由文档中没有反映的其他设置控制。

这就是我的_vimrc文件中的内容。

代码语言:javascript
复制
set path =.
set path+=../include
set path+=$WORK_DIR/include
set path+=$WORK_DIR
set path+=$WORK_DIR/source/library/cmtabstractmodel
set path+=$WORK_DIR/source/library/cmtacisgeometry
set path+=$WORK_DIR/source/library/cmtapi
set path+=$WORK_DIR/source/library/cmtcad
set path+=$WORK_DIR/source/library/cmtdesignspaceexploration
set path+=$WORK_DIR/source/library/cmtenvironment
set path+=$WORK_DIR/source/library/cmtevent
set path+=$WORK_DIR/source/library/cmtexternaltask
set path+=$WORK_DIR/source/library/cmtfield
set path+=$WORK_DIR/source/library/cmtgeometricutility
set path+=$WORK_DIR/source/library/cmtgeometry
set path+=$WORK_DIR/source/library/cmtgraphics
set path+=$WORK_DIR/source/library/cmtgraphicsutility
set path+=$WORK_DIR/source/library/cmtinertiaspecification
set path+=$WORK_DIR/source/library/cmtkernel
set path+=$WORK_DIR/source/library/cmtlibrary
set path+=$WORK_DIR/source/library/cmtmesh
set path+=$WORK_DIR/source/library/cmtmultibodydynamics
set path+=$WORK_DIR/source/library/cmtnastranutility
set path+=$WORK_DIR/source/library/cmtoptical
set path+=$WORK_DIR/source/library/cmtplugin
set path+=$WORK_DIR/source/library/cmtprocess
set path+=$WORK_DIR/source/library/cmtproject
set path+=$WORK_DIR/source/library/cmtscheme
set path+=$WORK_DIR/source/library/cmtsettings
set path+=$WORK_DIR/source/library/cmtsimulationtask
set path+=$WORK_DIR/source/library/cmtsystemconsole
set path+=$WORK_DIR/source/library/cmtthermal
set path+=$WORK_DIR/source/library/cmttranslator
set path+=$WORK_DIR/source/library/cmtutility
set path+=$WORK_DIR/source/library/cmtvgi
set path+=$WORK_DIR/source/library/cmtxml
set path+=$QT_ROOT/include/QtCore
set path+=$QT_ROOT/include/QtGui
set path+=$QT_ROOT/include/QtXml
set path+=$ACIS_ROOT/include
set path+=$ACIS_ROOT/scm/scm/include
set path+=$ACIS_ROOT/scm/scmext/include
if s:MSWIN
   set path+=C:/Program\ Files/Microsoft\ Visual\ Studio\ .NET\ 2003/Vc7/include
else
   set path+=/usr/include/g++-3
   set path+=/usr/X11R6/include
endif
set path+=$EXTERNAL_ROOT/PTC/proeWildfire-2.0/protoolkit/includes
EN

回答 4

Stack Overflow用户

发布于 2014-07-31 10:55:27

注意,扩展选项的最大长度是有限的。在多大程度上取决于系统,主要是大约256个或1024个字符。

票数 1
EN

Stack Overflow用户

发布于 2014-07-31 13:55:04

根据函数SetEnvironmentVariable的文档

用户定义的环境变量的最大大小是32,767个字符.有关更多信息,请参见环境变量

对于Windows Windows 2003,环境变量似乎没有直接限制,相反,过程环境块(PEB)是:

Windows 2003和Windows:进程的环境块的总大小不得超过32,767个字符。

但是请注意,大多数程序在读取变量环境时都会截断它。因此,我建议您使用这里为在Windows中避免过度填充路径环境变量提出的方法之一。

票数 1
EN

Stack Overflow用户

发布于 2014-08-01 00:08:44

在多大程度上取决于系统,主要是,它大约是256个或1024个字符。

这似乎表明最大长度根据计算机的不同而变化。

实际上,最大长度似乎比文档所提供的估计要大得多,因此不需要太担心这个限制。

理论上,我猜想路径的最大长度取决于Vim可用的内存量,可以编辑:

选项'maxmem‘('mm')用于设置用于一个缓冲区的最大内存(以千字节为单位)。“‘maxmemtot”用于设置用于所有缓冲区的最大内存(以千字节为单位)。默认值取决于所使用的系统。对于Amiga和MS,“maxmemtot”的设置取决于可用内存的数量。

编辑:重新阅读你的文章和评论,并意识到你是在询问理论上的最大限度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22357278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档