[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 | set number |
命令 | 解释 |
---|---|
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 目录,将“#”批量替换第一列。