《构建高可用Linux服务器 第3版》—— 3.1 Vim的基础用法及进阶心得

3.1 Vim的基础用法及进阶心得

vi作为开源系统的默认编辑器,现在为越来越多的人了解和熟悉,而Vim作为vi的升级版本,在功能上又有明显提高。由于它方便实用,现在越来越多的开发人员喜欢将其作为代码编辑工具。vi更符合UNIX传统,它通过管道机制和系统内的各种积木工具打交道,它讲究的是和系统内的工具程序协作来完成用户的任务。Vim是vi最受欢迎的变种之一,它除了继承了vi迅捷的编辑方式外,在功能方面也已经比原始的vi强大很多。它现在是CentOS 5.8及FreeBSD 8.1下首选的强大编辑器之一。Vim的基础功能如表3-1所示。



另外,FreeBSD 8.1中默认的Vim并不太好用,推荐大家采用Vim模板的形式编辑当前用户的.vimrc文件,让Vim可以更方便地为我们工作,模板文件如下:

set nobackup

set noswapfile

set nohlsearch

set nonumber

set cindent

set autoindent

set shiftwidth=2

set tabstop=2

set softtabstop=2

set expandtab

set ruler

set mouse=v

syntax on
1.常用设定

下面是一些Vim中常用的设定及其具体含义:

set nobackup:不要备份文件,使用backup备份文件(原文件加后缀~)。

set noswapfile:不生成.swap文件。我在编辑文件之前总有个习惯,一般会将其原文件进行.bak备份,然后才很放心地在相关文件上进行修改。如果操作谨慎的朋友建议不要此项。

set number:显示行号。

set cindent:设定C风格缩进,可使用nocindent取消设置。

set autoindent:设定自动缩进,每行缩进与上一行相等,可使用noautoindent取消设置。

set shiftwidth=2:设定缩进为两个空格。

set tabstop=2:设定制表符为两个空格。

set softtabstop=2:设定软制表符为两个空格。

set expandtab:缩进和(软)制表符使用空格替代,可用noexpandtab取消设置。

set ruler:显示光标所在行列号。

set mouse=v:如果我们用set mouse=a启动所有模式,屏蔽了鼠标的右键功能,那么可以用此语法让其在Vim可视化模式下也能使用鼠标右键复制功能。

syntax on:启动语法高亮。

下面是其中涉及的名词术语的相关解释:

cindent

使用C语言的缩进方式,根据特殊字符如“{”、“}”、“:”和语句是否结束等信息自动调整缩进。在编辑C/C++等类型文件时自动设定。

softtabstop

软制表符宽度,设置为非零数值后使用Tab键和Backspace键时光标移动的格数等于该数值,但实际插入的字符仍受tabstop和expandtab控制。

我们在按照如上模板文件配置了Vim后应该会发现Vim比以前好用多了。我目前将其模板文件应用于线上FreeBSD、CentOS及Debian系统中。当然了,这些也只是Vim的基础配置,朋友们可以根据自身的习惯配置更个性化的Vim。

2.日常系统维护工作中的Vim使用心得

1)FreeBSD 8.1下的Vim与CentOS 5.8下的Vim是不一样的,建议优化各用户下的.vimrc文件。我现在的习惯做法就是随身带.vimrc配置模板,哪台机器上有我的账户,我就直接导入到那台机器的/home/andrewy的账户下,这样用起来就得心应手了。

2)以上用法仅仅满足System Administrator的基础工作,如果是开发人员,强烈建议继续深入研究Vim的高级语法及插件。特别是PHP或Java开发人员,用Vim的基本功能配合插件编辑程序代码会是件很轻松的事情。

3)如果习惯图形界面使用MS的朋友,可以下载一个gVim来学习及工作。

4)在加深Vim学习的同时,也建议加强对Sed的理解和学习,尽量用Vim+Sed的方式来完成日常中的编辑工作,例如Shell、Python和Perl脚本,以及和系统相关的配置文件。

5)尽量用h、j、k、l来进行左下上右操作,这远远比你用键盘的方向键更有效率,但这是大家很容易忽视的一个问题,有的UNIX机器不支持方向键。

6)Vim不仅仅是一个编辑器,你完全可以用它来查看服务器的配置文件.conf、.php、.jsp文件及.sh等程序文件。如果用得很熟练,也可以查看日志文件,注意最后不保存退出即可。

7)这里只介绍两个有用的插件taglist和ctags(事实上我也基本只用这两个)。用过Eclipse的人可能会对按住Ctrl键点击程序中的函数、变量等可自动跳转到其定义处的功能赞叹不已,其实,这个功能Vim也可以实现,用的就是ctags。Vim的插件功能非常强大,有兴趣的朋友可以深入了解一下。

8)我现在利用gVim辅助Excel等系统处理数据时,主要利用了正则替换、列模式等功能。比如把“2006-6-30”替换为“2006.6.30”或“2006.06.30”。

9)我现在用得较多的gVim主要用来编辑Shell文件和处理文本文档(比如我自己的电子文档),感觉效果非常理想。

10)C文件也是可以用Vim来编辑的,当然,用Vim和gVim来编辑Python、Java和PHP代码也是完全可行的。

时间: 2024-08-01 07:50:22

《构建高可用Linux服务器 第3版》—— 3.1 Vim的基础用法及进阶心得的相关文章

《构建高可用Linux服务器 第3版》—— 3.3 基础正则表达式

3.3 基础正则表达式 首先要记住的是:正则表达式与通配符不一样,它们表示的含义并不相同! 正则表达式只是一种表示法,只要工具支持这种表示法,该工具就可以处理正则表达式的字符串.Vim.grep.Awk.Sed都支持正则表达式,也正是因为它们支持正则表达式,所以才显得很强大.我学习正则表达式的方法是先学习实例,掌握基础实例后理论基本也就到位了.所以这里我会举一些关于grep配合正则表达式的实例来说明正则表达式的强大之处.先来看看grep工具. 以前介绍过,grep工具格式如下: grep -[a

《构建高可用Linux服务器 第3版》—— 导读

前言 我的系统架构师之路 2004年我初识UNIX开源系统.那会儿我正在一家大型国有企业做系统管理员,负责值守公司的Windows Server 2000服务器.当时"震荡波"和"冲击波"这两种病毒很猖狂,虽然我们在防毒方面投入了大量的精力和金钱(当时购买的都是正版Windows 2000系统和正版瑞星杀毒软件),但新上线的机器,偶尔也有遗漏的时候,没有打补丁的机器无一幸免,所以对这个问题比较头疼.有一次去朋友的公司(某省太平洋寿险下面的一个分支机构)参观,我发现他

《构建高可用Linux服务器 第3版》—— 第1章 Linux服务器的构建基础

第1章 Linux服务器的构建基础 在从事目前的系统架构师工作之前,很长一段时间我从事的是系统管理员/高级系统管理员工作.在企业日常运营中,我的工作涉及的内容主要有电子商务网站的运维.内网开发环境的部署.公司外包项目的实施等.在这些工作中,我用到的系统绝大多数是免费开源的CentOS 5.8 x86_64系统,它的稳定和高效令我印象深刻.本章将以CentOS 5.8 x86_64的生产服务器为平台,逐步介绍它的Kickstart无人值守安装.网络配置.日志分析.性能状态监控,以及它的最小化优化等

《构建高可用Linux服务器 第3版》—— 1.5 Linux服务器的优化

1.5 Linux服务器的优化 服务器的优化是我们最小化安装系统时应该做的事情.其实,在做这项工作之前,我们就应该根据实际应用需求来选购Linux服务器,然后有所偏重地选择硬件,比如我们应该根据服务器的应用来确定是需要RAID 5,还是单块硬盘等. 1.5.1 如何根据服务器应用来选购服务器 无论是租用还是托管都要面临一个问题,那就是选择服务器的硬件配置,前面也说了,选购硬件配置时要根据我们的服务器应用需求而定.因为你无法通过一台服务器来满足所有的需求,解决所有的问题.在项目实施或网站架构之前,

《构建高可用Linux服务器 第3版》—— 1.6 用开源工具Nagios监控Linux服务器

1.6 用开源工具Nagios监控Linux服务器 1.6.1 CentOS 5.8下的监控工具 在开源系统CentOS 5.8下有许多监控工具,比如实时监控系统状态的Nagios,还有监控网络流量的Cacti和MRTG,以及我个人比较喜欢的NTOP和Iptraf:另外,在CentOS 5.8下也有许多强大的命令行可用于监控系统状态,大家可以在Google上搜索以了解其具体用法. 1.6.2 Nagios应该监控的服务器基础选项 经过工作实践,我们认为Nagios应该监控服务器的参数有如下几个方

《构建高可用Linux服务器 第3版》—— 第3章 生产环境下的Shell脚本

第3章 生产环境下的Shell脚本 虽然Shell脚本只是一个简单的解释型语言,不会受到开发人员的重视,但对于我们系统管理员来说它有着举足轻重的作用,它可以帮助我们简化日常的工作并减少工作量,成为系统管理员的瑞士军刀.我们在系统维护工作中用Shell脚本常常能比用C语言编写的程序更快地解决相同的问题.此外,Shell脚本具有很好的可移植性,有时跨越UNIX与POSIX兼容的系统,仅需略作修改,甚至不必修改即可使用Shell脚本. 在日常工作中Shell脚本能帮助我们做什么呢? 1)配合Cront

《构建高可用Linux服务器 第3版》—— 1.4 Linux服务器的日志管理

1.4 Linux服务器的日志管理 从安全的角度来说,Linux服务器的日志非常重要,它记录了系统每天所发生的各种各样的事情,如果服务器受到攻击,就可以根据它来进行分析.同时,它更是很重要的排障依据,可以通过它来检查错误发生的原因,所以我们必须了解和熟悉其运作机制. 1.4.1 系统日志syslog.conf的配置详解 目前,Linux依旧使用syslog作为日志监控进程,对其进行必要的配置能减少很多麻烦,并且可更有效地从系统日志监控到系统的状态.理解并完善一个syslog的配置,对于系统管理员

《构建高可用Linux服务器 第3版》—— 1.7 小结

1.7 小结 本章以CentOS 5.8 x86_64下的Kickstart无人值守安装.网络配置.日志分析.性能及状态监控.优化等方面对Linux系统进行了全方位说明,这些都是构建高性能及高可用的Linux系统的基础,希望大家能够掌握此章内容.理解了本章内容,我们以后的工作会更加得心应手.

《构建高可用Linux服务器 第3版》—— 1.2 全面了解Linux服务器

1.3 Linux服务器的网络配置 Linux服务器的系统安装好后,就要在机房或公司内网环境中配置它的IP了,这是最重要的一个环节,下面我就以CentOS 5.8 x86_64服务器为例来说明如何通过命令或图形来配置Linux服务器的IP.网关.DNS,以及如何用命令查看Linux的进程或网络连接等. 1.3.1 配置Linux服务器的网络 1.手动修改配置网卡文件 手动配置网卡是最直接的方式,熟练的系统管理员在平时维护系统的时候更喜欢使用这种方式,因为手工配置有很多优点: 熟悉命令之后,手工配