当前位置: DBARoad > Unix | Shell > 文章正文

VI环境选项

                    作者 :OoNiceDream【转载时请务必以超链接形式标明文章原始出处和作者信息】
                    链接:http://www.dbaroad.me/archives/2009/09/vi_env_option.html

经常用vi修改tnsnames.ora,有时会发现在A机子上显示得好好的连接格式,复制到B机时,全变乱,如果复制的内容多了,那更是乱得一蹋糊涂,而在一些机子上又可以正常复制。

例如,原格式为:

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

使用vi复制进去后变成了:

ORCL =
  (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
          (CONNECT_DATA =
                (SERVER = DEDICATED)
                      (SERVICE_NAME = orcl)
                          )
                            )

为什么一些机子上可以正常复制,一些机子上又会乱掉呢?一开始怀疑跟文本的格式、SecureCRT设置、profile中环境变量有关,一一测试后,发现都不对。最后才发现原来是vi环境选项的问题(以前没这个概念,汗)。
进入vi后,使用:

:set all

来查看所有缺省选项,结果如下:

:set all
autoindent            nomodeline                      noslowopen
autoprint               nonumber                        tabstop=8
noautowrite             nonovice                        taglength=0
nobeautify              nooptimize                  tags=tags /usr/lib/tags
closepunct='".,;)]}     paragraphs=IPLPPPQPP LIpplpipbp backtag
directory=/var/tmp      partialcharacter=-              term=vt100
noedcompatible          prompt                          noterse
noerrorbells            noreadonly                      timeout
noexrc                  redraw                          ttytype=vt100
flash                   remap                           warn
hardtabs=8              report=5                        window=39
noignorecase            scroll=19                       wrapscan
linelimit=1048560       sections=NHSHH HUuhsh+c         wrapmargin=0
nolisp                  shell=/usr/bin/ksh              nowriteany
nolist                  shiftwidth=8                    wraptype=word
magic                   noshowmatch
mesg                    noshowmode

这些选项中,选项autoindent,指的就是“文本的每个新行均与上一行对齐”。改成noautoindent后就可以避免复制时格式乱掉的问题。

要更改这些选项,使用:

:set option

例如将autoindent选项修改为noautoindent:

:set noautoindent

通过set命令设置的选项值是临时的,退出vi后便失效了。要使选项值永久生效,可以在用户主目录下创建.exrc文件,并将值添加进去:

[/app/oracle]$ cd
[/home/oracle]$ cat .exrc
set noautoindent

— The End —

关键字:
喜欢DBARoad的文章,那就通过 RSS Feed 功能订阅阅读吧!

才1个评论

  1. seekpeer 说:

    不错,学习了

    Reply

我要评论

*

* 绝不会泄露


  • 订阅


      抓虾
      google reader
      my yahoo
      bloglines
      鲜果
      有道

站内搜索



返回首页 | 关于我 | 联系我 | 广告合作 | 网站地图 | 友情链接 | 版权声明 |