有没有发现,如果我们以 vim 软件来搜寻一个档案内部的某个字符串时,这个字符串会被反白,而下次我们再次以 vim 编辑这个档案时,该搜寻的字符串反白情况还是存在呢!甚至于在编辑其他档案时,如果其他档案内也存在这个字符串,哇!竟然还是主动反白耶!真神奇!另外,当我们重复编辑同一个档案时,当第二次进入该档案时,游标竟然就在上次离开的那一行上头呢!真是好方便啊~但是,怎么会这样呢?
这是因为我们的 vim 会主动的将你曾经做过的行为登录下来,好让你下次可以轻松的作业啊!那个记录动作的档案就是: ~/.viminfo !如果你曾经使用过 vim,那你的家目录应该会存在这个档案才对。这个档案是自动产生的,你不必自行建立。而你在 vim 里头所做过的动作,就可以在这个档案内部查询到啰~ ^_^
此外,每个 distributions 对 vim 的预设环境都不太相同,举例来说,某些版本在搜寻到关键词时并不会高亮度反白,有些版本则会主动的帮你进行缩排的行为。但这些其实都可以自行设定的,那就是 vim 的环境设定啰~vim 的环境设定参数有很多,如果你想要知道目前的设定值,可以在一般模式时输入『 :set all 』来查阅,不过.....设定项目实在太多了~所以,鸟哥在这里仅列出一些平时比较常用的一些简单的设定值,提供给你参考啊。
Tips: 所谓的缩排,就是当你按下 Enter 编辑新的一行时,光标不会在行首,而是在与上一行的第一个非空格符处对齐! |
vim 的环境设定参数 | |
:set nu :set nonu | 就是设定与取消行号啊! |
:set hlsearch :set nohlsearch | hlsearch 就是 high light search(高亮度搜寻)。这个就是设定是否将搜寻的字符串反白的设定值。默认值是 hlsearch |
:set autoindent :set noautoindent | 是否自动缩排?autoindent 就是自动缩排。 |
:set backup | 是否自动储存备份档?一般是 nobackup 的,如果设定 backup 的话,那么当你更动任何一个档案时,则源文件会被另存成一个档名为 filename~ 的档案。举例来说,我们编辑 hosts ,设定 :set backup ,那么当更动 hosts 时,在同目录下,就会产生 hosts~ 文件名的档案,记录原始的 hosts 档案内容 |
:set ruler | 还记得我们提到的右下角的一些状态栏说明吗?这个 ruler 就是在显示或不显示该设定值的啦! |
:set showmode | 这个则是,是否要显示 --INSERT-- 之类的字眼在左下角的状态栏。 |
:set backspace=(012) | 一般来说,如果我们按下 i 进入编辑模式后,可以利用退格键 (backspace) 来删除任意字符的。但是,某些 distribution 则不许如此。此时,我们就可以透过 backspace 来设定啰~当 backspace 为 2 时,就是可以删除任意值;0 或 1 时,仅可删除刚刚输入的字符,而无法删除原本就已经存在的文字了! |
:set all | 显示目前所有的环境参数设定值。 |
:set | 显示与系统默认值不同的设定参数,一般来说就是你有自行变动过的设定参数啦! |
:syntax on :syntax off | 是否依据程序相关语法显示不同颜色?举例来说,在编辑一个纯文本档时,如果开头是以 # 开始,那么该行就会变成蓝色。如果你懂得写程序,那么这个 :syntax on 还会主动的帮你除错呢!但是,如果你仅是编写纯文本档案,要避免颜色对你的屏幕产生的干扰,则可以取消这个设定 。 |
:set bg=dark :set bg=light | 可用以显示不同的颜色色调,预设是『 light 』。如果你常常发现批注的字体深蓝色实在很不容易看,那么这里可以设定为 dark 喔!试看看,会有不同的样式呢! |
总之,这些设定值很有用处的啦!但是......我是否每次使用 vim 都要重新设定一次各个参数值?这不太合理吧?没错啊!所以,我们可以透过配置文件来直接规定我们习惯的 vim 操作环境呢!整体 vim 的设定值一般是放置在 /etc/vimrc 这个档案,不过,不建议你修改他!你可以修改 ~/.vimrc 这个档案 (预设不存在,请你自行手动建立!),将你所希望的设定值写入!举例来说,可以是这样的一个档案:
[root@www ~]# vim ~/.vimrc "这个档案的双引号 (") 是批注 set hlsearch "高亮度反白 set backspace=2 "可随时用退格键删除 set autoindent "自动缩排 set ruler "可显示最后一行的状态 set showmode "左下角那一行的状态 set nu "可以在每一行的最前面显示行号啦! set bg=dark "显示不同的底色色调 syntax on "进行语法检验,颜色显示。 |
在这个档案中,使用『 set hlsearch 』或『 :set hlsearch 』,亦即最前面有没有冒号『 : 』效果都是一样的!至于双引号则是批注符号!不要用错批注符号,否则每次使用 vim 时都会发生警告讯息喔!建立好这个档案后,当你下次重新以 vim 编辑某个档案时,该档案的预设环境设定就是上头写的啰~这样,是否很方便你的操作啊!多多利用 vim 的环境设定功能呢!^_^