怎样配置vi编辑器


——先说一下,配置文件在/usr/share/vim/vim74目录下的vimrc。但是建议大家在自己家目录下创建一个自己的配置文件(如果没有的话),文件名为 .vimrc ,防止自己修改了配置后对其他用户造成影响。

——使用的时候就用Vim打开配置文件,在最后一行后面新建一行,加入下面的命令就好了。为了便于以后查看,建议每两个功能之间留有空行,最好再加上注释。

——*注意:空格不能随便改动,比如写程序的时候我们习惯写成 x = 5;这样,等号左右都空格,但是在这个配置里是不行的,不要加入空格。

用Tab缩进是4个空格 
set ts=4 
set expandtab

显示行号 
set nu

高亮匹配括号 
set showmatch

自动缩进 
set autoindent

C/C++缩进 
set cindent

高亮显示搜索结果 
set hlsearch

快速的搜索 
set incsearch

全部替换 
set gdefault

智能对齐前提(使用只能对齐需要这个) 
filetype pluginindenton

智能对齐 
set smartindent

智能对齐缩进长度 
set shiftwidth=4

自动补齐 
inoremap ( ()i 
inoremap [ []i

设置宽度和长度 
set lines=40 columns=155

统一缩进 
set softtabstop=4 
set shiftwidth=4

搜索忽略大小写 
set ignorecase

——最后介绍一下关于新建文档后自动添加注释的问题,我先把我的配置贴到这里吧,然后逐行讲解。

<code class="hljs avrasm has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">autocmd BufNewFile * exec <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">":call SetTitle()"</span>

    func SetTitle()

        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">call</span> setline(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"/**************************************************************************"</span>)

        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">call</span> setline(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"*  File Name      : "</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.expand</span>(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"%"</span>))

        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">call</span> setline(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"*  Author           : 你的名字"</span>)

        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">call</span> setline(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"*  Mail               : 你的邮箱地址"</span>)

        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">call</span> setline(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"*  Introduction  :  文件介绍"</span>)

        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">call</span> setline(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"*  Created Time : "</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.strftime</span>(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"%Y-%m-%d "</span>))

        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">call</span> setline(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"*  Lase Modfied : "</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.strftime</span>(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"%Y-%m-%d "</span>))

        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">call</span> setline(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">8</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"**************************************************************************/"</span>)

    endfunc

autocmd
BufNewFile * normal G
</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li></ul>

——第一行是自动检测新建的文件,后面的*是文件名,也就是通配符。一个星号的意思是所有文件,可以用 星号.c 表示c后缀的C语言源代码文件,不同的类型用逗号隔开。然后检测到新建的文件符合后面定义的,那就执行SetTitle()这个函数,这个函数在下面定义。

——第二行func SetTitle()就是定义函数了,直到endfuncautocmd那行,中间全都是函数内容。

——函数里call setline(1, “——-“)就是在第1行添加双引号里的内容,每一行都是如此。

——函数的第二行中.expand(“%”)表示新建文件的文件名。后面的.strftime(“%Y-%m-%d”)是创建这个文件的时间。这也是个以外,函数最后一行应该是修改时间的,还没弄完,所以也是文件创建时间,请见谅。

——最后一行BufNewFile * normal G是最后执行的,把光标跳到最后一行,方便用户开始编辑文档。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值