[20240928]vim设置set paste问题.txt

来源:这里教程网 时间:2026-03-03 20:40:15 作者:

[20240928]vim设置set paste问题.txt --//有时候从windows环境拷贝并粘贴到linux环境,会出现折行现象,要手工执行set paste,再做操作。 --//我发现vim的一些设置失效,比如set ruler设置,简单探究看看问题在哪里,开始并不知道是set paste引起的问题。 $ vim --startuptime aa.txt --//这样aa.txt会记录vim启动读取的脚本。 $ grep "sourcing /" aa.txt  | awk '{print $NF}' /usr/share/vim/vim74/syntax/syncolor.vim /usr/share/vim/vim74/syntax/synload.vim /usr/share/vim/vimfiles/ftdetect/stp.vim /usr/share/vim/vim74/filetype.vim /usr/share/vim/vim74/syntax/syntax.vim /usr/share/vim/vim74/filetype.vim /usr/share/vim/vim74/ftplugin.vim /usr/share/vim/vim74/syntax/syncolor.vim /usr/share/vim/vim74/syntax/syncolor.vim /usr/share/vim/vim74/syntax/syncolor.vim /usr/share/vim/vim74/colors/elflord.vim /etc/vimrc.zws /etc/vimrc /usr/share/vim/vimfiles/plugin/cctree.vim /usr/share/vim/vim74/plugin/bccalc_linux.vim /usr/share/vim/vim74/plugin/gdb.vim /usr/share/vim/vim74/plugin/getscriptPlugin.vim /usr/share/vim/vim74/plugin/gzip.vim /usr/share/vim/vim74/plugin/increment.vim /usr/share/vim/vim74/plugin/matchparen.vim /usr/share/vim/vim74/plugin/netrwPlugin.vim /usr/share/vim/vim74/plugin/rrhelper.vim /usr/share/vim/vim74/plugin/spellfile.vim /usr/share/vim/vim74/plugin/tarPlugin.vim /usr/share/vim/vim74/plugin/tohtml.vim /usr/share/vim/vim74/plugin/vimballPlugin.vim /usr/share/vim/vim74/plugin/zipPlugin.vim $ grep "sourcing /" aa.txt  | awk '{print $NF}' | xargs -IQ grep -i  'noru' Q --//并没有脚本设置执行set noruler。 # cd /usr/share/vim # grep  -r -i "set.*norule" * vim74/autoload/vimball.vim:  set noruler noshowcmd --//尝试修改以上文件包括set ruler showcmd,测试无效。 --//我手工执行set ruler showcmd有效. --//仔细检查我发现最近增加一行set paste,避免拷贝和粘贴时折行。查看vim文档,发现如下内容: When the 'paste' option is switched on (also when it was already on):     - mapping in Insert mode and Command-line mode is disabled     - abbreviations are disabled     - 'autoindent' is reset     - 'expandtab' is reset     - 'formatoptions' is used like it is empty     - 'revins' is reset     - 'ruler' is reset     - 'showmatch' is reset     - 'smartindent' is reset     - 'smarttab' is reset     - 'softtabstop' is set to 0     - 'textwidth' is set to 0     - 'wrapmargin' is set to 0 These options keep their value, but their effect is disabled:     - 'cindent'     - 'indentexpr'     - 'lisp' --//也就是set paste时,自动重置上面的设置,导致失效。 --//开始我想当然以为把set paste放在/etc/vimrc的最前面,问题可以解决。 --//实际上是错误的,这样虽然设置set paste,但是打开了smartindent,smarttab设置,拷贝粘贴依旧会出现折行情况。 --//没有好的解决方法仅仅记住要使用拷贝粘贴是手工设置set paste,不需要时set paste!关闭,关闭后ruler,showcmd自动打开。 --//另外set paste后在插入模式下使用bccalc_linux.vim插件做运行失效。 --//例子,在插入模式下计算公式后快速输入=: 可以获得计算结果。 12+12= 24 --//如果设置set paste,出现这样的情况。 12+12=: --//关于bccalc_linux.vim插件可以寻找我以前写的文章。

相关推荐