关于Gvim中textwidth被自动设置成78造成输入时自动换行的问题

在gvim中textwidth默认被设置成为78,如要一行输入超过78个字,输入空格时会造成自动换行。

:set textwidth=0 可以解决。但是在配置文件_vimrc中写入set textwidth=0还是不行。

因为Gvim启动时加载.vim是有顺序的。可以用如下方法查看vim加载文件的顺序:

在Gvim末行模式输入下列命令,会将vim加载文件顺序存入到e:\tempfile中。

:redir > e:\tempfile
:scriptnames
:redir END

内容如下:

  1: C:\Program Files (x86)\Vim\_vimrc
  2: C:\Program Files (x86)\Vim\vim80\colors\murphy.vim
  3: C:\Program Files (x86)\Vim\vim80\vimrc_example.vim
  4: C:\Program Files (x86)\Vim\vim80\defaults.vim
  5: C:\Program Files (x86)\Vim\vim80\syntax\syntax.vim
  6: C:\Program Files (x86)\Vim\vim80\syntax\synload.vim
  7: C:\Program Files (x86)\Vim\vim80\syntax\syncolor.vim
  8: C:\Program Files (x86)\Vim\vim80\filetype.vim
  9: C:\Program Files (x86)\Vim\vim80\menu.vim
 10: C:\Program Files (x86)\Vim\vim80\lang\menu_zh_cn.utf-8.vim
 11: C:\Program Files (x86)\Vim\vim80\autoload\paste.vim
 12: C:\Program Files (x86)\Vim\vim80\ftplugin.vim
 13: C:\Program Files (x86)\Vim\vim80\indent.vim
 14: C:\Program Files (x86)\Vim\vim80\pack\dist\opt\matchit\plugin\matchit.vim
 15: C:\Program Files (x86)\Vim\vim80\mswin.vim
 16: C:\Program Files (x86)\Vim\vim80\plugin\getscriptPlugin.vim
 17: C:\Program Files (x86)\Vim\vim80\plugin\gzip.vim
 18: C:\Program Files (x86)\Vim\vim80\plugin\logiPat.vim
 19: C:\Program Files (x86)\Vim\vim80\plugin\manpager.vim
 20: C:\Program Files (x86)\Vim\vim80\plugin\matchparen.vim
 21: C:\Program Files (x86)\Vim\vim80\plugin\netrwPlugin.vim
 22: C:\Program Files (x86)\Vim\vim80\plugin\rrhelper.vim
 23: C:\Program Files (x86)\Vim\vim80\plugin\spellfile.vim
 24: C:\Program Files (x86)\Vim\vim80\plugin\tarPlugin.vim
 25: C:\Program Files (x86)\Vim\vim80\plugin\tohtml.vim
 26: C:\Program Files (x86)\Vim\vim80\plugin\vimballPlugin.vim
 27: C:\Program Files (x86)\Vim\vim80\plugin\zipPlugin.vim
 28: C:\Program Files (x86)\Vim\vim80\scripts.vim
 29: C:\Program Files (x86)\Vim\vim80\ftplugin\text.vim

在vimrc_example.vim这个文件中搜索textwidth,可以找到如下一行:

autocmd FileType text setlocal textwidth=78

然后,将textwidth的值改为0,或者将这一行注释掉,都可以解决自动换行问题。

 

引用:http://swofford.is-programmer.com/posts/42446.html

转载于:https://www.cnblogs.com/luniverseg/p/8929888.html

<think>我们正在解决用户关于gvim自动换行问题。根据用户提供的引用,特别是引用[3]和引用[5]中提到了与换行相关的设置。引用[3]中提到:setnowrap(表示禁用自动换行)引用[5]中虽然没有直接提到换行,但提到了很多设置,我们可以推断自动换行的设置是wrap选项。在gvim中,控制自动换行的选项有两个:1.wrap:控制长行是否自动换行显示(即视觉上的换行,不改变实际文本)2.textwidth(tw):设置一行最多多少个字符,超过则自动换行(实际插入换行符)用户的问题是关于自动换行,但没有明确是视觉换行还是自动插入换行符。因此我们需要分别说明。根据用户引用[3]中的设置:setnowrap表示禁用视觉换行(即长行不换行显示,而是需要横向滚动查看)而用户引用[3]中还有一行:setlinespace=4这是设置行间距,与换行无关。另外,用户引用[5]中并没有直接提到wrap设置,但提到了setnowrap(在引用[3]中出现)。因此,我们推断用户可能想了解如何设置或禁用自动换行(视觉换行)以及如何设置自动折行(插入换行符)。回答要点:1.禁用视觉换行(即长行不换行显示):使用setnowrap2.启用视觉换行:使用setwrap3.设置自动折行(按指定字符数插入换行符):使用settextwidth=宽度值,例如settextwidth=80注意:textwidth设置为0表示禁用自动折行(即不会因为字符数而自动插入换行符)。但视觉换行(wrap)是独立设置的。另外,用户引用[3]中还有一行设置::settw=43:setfo+=w:g/^\a/s/$//gggqG这实际上是进行格式化操作,其中tw=43设置文本宽度为43,然后执行一系列命令来重新格式化文本。因此,我们可以总结:用户问题:如何设置或禁用gvim自动换行?我们需要分两种情况回答:情况一:视觉换行(wrap)情况二:自动折行(textwidth)同,用户可能还想知道如何永久设置(写入配置文件)。根据引用[4]和[5],配置可以写入gvim的配置文件(Windows下是_vimrc,Linux下是.gvimrc或vimrc)。步骤:1.临设置(当前会话):启用视觉换行::setwrap禁用视觉换行::setnowrap启用自动折行(按宽度插入换行符)::settextwidth=80禁用自动折行::settextwidth=0(或者settw=0)2.永久设置:将上述命令(去掉冒号)写入配置文件。注意:自动折行(textwidth)通常需要与格式选项(formatoptions)一起使用,比如设置自动折行的触发条件(例如在插入模式下到达指定宽度是否自动换行)。但用户没有提到,我们可以简单说明。另外,引用[5]中提到了setlinespace,这个设置行间距,与换行无关,但用户可能会混淆,所以不用提。因此,我们给出以下回答:</think>### gvim自动换行设置方法 #### 1. **禁用视觉换行(不改变文件内容)** 当需要查看长代码行而不自动换行: ```vim " 禁用视觉换行(默认启用) :set nowrap ``` - **效果**:长文本行显示为单行,需用水平滚动条查看 - **临生效**:在命令模式直接执行 - **永久生效**:将命令添加到`~/.vimrc`(Linux)或`_vimrc`(Windows) #### 2. **启用视觉换行(不改变文件内容)** 恢复默认换行显示: ```vim " 启用视觉换行 :set wrap ``` #### 3. **自动折行(插入换行符)** 当需要在特定宽度自动插入换行: ```vim " 设置最大行宽为80字符(超宽自动插入换行符) :set textwidth=80 :set formatoptions+=t " 启用自动格式化 ``` - **格式化现有文本**:执行 `gggqG` 全文件重排 - **禁用折行**:`:set textwidth=0` #### 4. **配置建议(.vimrc)** ```vim " 永久设置示例: set nowrap " 禁用视觉换行 " set wrap " 启用视觉换行(二选一) set textwidth=0 " 禁用自动折行 " set textwidth=80 " 启用自动折行(需取消注释) ``` > **注意事项**: > - `nowrap`/`wrap` 仅影响显示,不修改文件内容 > - `textwidth` 会在编辑插入物理换行符 > - 使用 `:set wrap?` 可查看当前状态[^3][^5]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值