VIM编辑器

[TOC]

VIM基础

在Linux系统上最常用的就是VIM编辑器,它除支持Linux外还支持Mac和Windows。VIM分为三种使用模式,分别为:

  • 输入模式:在命令模式下输入(i,a,A等),可以进入输入模式
  • 命令模式 (默认):任何输入都会作为编辑命令,而不会出现屏幕上,若输入错误则有声音提示
  • 特殊模式:以“:”或者“/”为前导指令,出现屏幕的最下一行,任何输入当作命令执行。

命令模式

命令 输入方法
进入输入的方法
a 在光标后面输入文本
A 在当行的末尾输入文本
i 在光标后输入文本
I 在当前行输入文本
o 在当前行输入新一行
O 在当前行前输入新一行
光标移动的方法
b 移动到当前单词开始
e 移动到当前单词尾开始
w 向前移动一个单词
h 向前移动一个字符
j 向上移动一行
k 向下移动一行
l 向后移动一个字符
删除操作
x 删除光标所在的字符
dw 删除光标所在的单词
d$ 删除光标至行尾所有字符
dd 删除当前行
改变与替换操作
r 替换光标所在字符
R 替换字符序列
cw 替换一个单词
cb 替换光标所在的前一个字符
c$ 替换自光标位置至尾行的所有字符
拷贝粘贴命令
yw 将光标所在的单词拷贝到剪贴板
y$ 将光标至尾的字符拷贝如剪贴板
yy 将当前行拷贝到剪贴板
p 将剪贴板的内容粘贴到光标后
P 将剪贴板的内容粘贴到光标前

特殊模式

命令 输入方法
:q 不保存退出
:q! 不保存强制退出
:w 保存编辑
:w filename 存入文件filename中
:w! filename 强制存入文件filename中
其他命令
:set nu 显示行号
:nG 跳至第n行
:u 撤销
. 重做
:nyy 拷贝第n行
:e filename 创建新文件
:n filename 加载新文件
:vnew filename 同时打开新文件

VIM案例

批量给文件增加注释。

1
:1,10s/^/#/g

批量删除文件注释。

1
:1,10s/^#//g

批量替换关键字root为admin。

1
:%s/root/admin/gc 

VIMRC文件的配置

编辑宿主目录中的“ vim ~/.vimrc ”文件 ,增加以下内容。 执行 “ source .vimrc ”命令,用于加载此文件并立即生效。

1
2
3
4
5
6
7
8
set number
set shiftwidth=4
set softtabstop=4
set autoindent
set fileencodings=utf-8,gb2312,gbk,gb18030,big5
set fenc=utf-8
set enc=utf-8
set background=dark
命令 解释
set number 设置行号
set tabstop=4 tabstop选项设置 tab 字符的显示宽度为多少个空格,默认值是 8
set autoindent 设置自动缩进
set fileencodings=utf-8,gb2312,gbk,gb18030,big5 文件编码
set fenc=utf-8 fencs,是用来在打开文件的时候进行解码的猜测列表
set enc=utf-8 enc,其作用是显示, 不管最后的文件是什么编码的,VIM都会将其转换为当前系统编码来进行处理
set background 设置背景颜色

本章小结

本章主要介绍Linux下最常用的编辑器VIM的基本使用,关于它的三种模式,以及在命令模式和特殊模式下的快捷键。最后还介绍了VIM配置文件的使用方便我们将常用的方法规划到配置文件中。下一章我们将会介绍系统管理,介绍那些系统运维工程师经常会用的系统文件。

习题

1.复制 /etc/passwd 文件到 /tmp 目录,并修改passwd文件中的关键字,将关键字root替换为administrator。
2.复制 /etc/passwd 文件到 /tmp 目录,将“#”批量替换第一列。