您的位置:首页 > 运维架构 > Linux

怎样配置vi编辑器

2016-04-05 19:11 453 查看
——先说一下,配置文件在/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是最后执行的,把光标跳到最后一行,方便用户开始编辑文档。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux vim 编辑器