从零开始学习Linux(十四):Vim常用操作命令

本节内容非常繁琐且枯燥,想熟练使用Vim来编辑文本,需要进行大量的练习。

1、Vim简介

Vim是一个功能强大的全屏幕文本编辑器,是Linux系统上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。

Vim没有菜单选项,只有命令。

2、Vim工作模式说明

Vim有三种模式:命令模式、插入模式、编辑模式。
模式之间的关系如下图所示:

从零开始学习Linux(十四):Vim常用操作命令_第1张图片
Vim工作模式
2.1、命令模式

使用命令 vim/vi + 文件名进入命令模式,执行命令:

vim /tmp/song/wangsulong/youdiantian

进入文件编辑界面,如下图所示:

从零开始学习Linux(十四):Vim常用操作命令_第2张图片
2.1.1、定位命令
  • gg 定位到第一行;
  • G 定位到最后一行;
  • :n 定位到第n行(n是数字);
  • $ 定位到当前行的行尾;
  • 0 定位到当前行的行首;
2.1.2、删除命令
  • x 删除光标所在处的字符;
  • nx 删除光标所在处后n个字符;
  • dd 删除光标所在行;
  • ndd 删除光标后n行(1dd表示删除光标所在行);
  • dG 删除光标所在行到文件末尾的内容;
  • D 删除光标所在处到行尾内容;
2.1.3、复制、剪切、粘贴命令
  • yy 复制当前行;
  • nyy 复制当前行及以下总共n行;
  • dd 剪切当前行;
  • ndd 剪切当前行及以下总共n行;
  • p 粘贴在光标所在行的下方;
  • P 粘贴在光标所在行的上方;
2.1.4、替换、取消命令
  • r 替换光标所在处字符;
  • R 从光标所在处开始替换字符,按Esc结束;
  • u 取消上一不操作;
2.1.5、 搜索命令

(1)搜索指定字符串

在文件中搜索ke字符串,输入 /ke后回车,如下图所示:

从零开始学习Linux(十四):Vim常用操作命令_第3张图片

按n键可以切换到搜索到的下一个字符串位置。

(2)搜索指定字符串,忽略字符串大小写

第一步输入命令后回车:

:set ic
从零开始学习Linux(十四):Vim常用操作命令_第4张图片
第一步

第二步输入/ke,回车搜索。结果如下图所示:

从零开始学习Linux(十四):Vim常用操作命令_第5张图片
第二步

(3)搜索指定字符串,不忽略字符串大小写

第一步:输入:set noic,回车;
第二步:输入/ke,回车;(表示搜索ke字符串)

2.1.6、替换命令

(1)全文范围内,不询问直接替换字符串

命令格式: :%s/旧的字符串/新的字符串/g

例如:将文件中的guo全部替换成guo1。如下图所示:

从零开始学习Linux(十四):Vim常用操作命令_第6张图片

替换结果,如下图所示:

从零开始学习Linux(十四):Vim常用操作命令_第7张图片

按n,可以切换替换的每一项。

(2)全文范围内,替换字符串时询问

命令格式: :%s/旧的字符串/新的字符串/g

例如:将文件中的guo全部替换成guo1。如下图所示:

从零开始学习Linux(十四):Vim常用操作命令_第8张图片

回车后会提示是否替换的字样,如下图所示:

从零开始学习Linux(十四):Vim常用操作命令_第9张图片

(3)指定范围内,不询问直接替换字符串

命令格式:

 :n1,n2s/旧的字符串/新的字符串/g

举例说明:

:1,6/guo/guo1/g,表示将第一行到第六行中guo替换成guo1。

(4)指定范围内,替换字符串时候询问

命令格式:

 :n1,n2s/旧的字符串/新的字符串/c
2.2、插入模式

在命令模式下输入插入命令即进入插入模式。
按ESC键即可退出插入模式,重新回到命令模式。

2.2.1、命令说明
  • a:在光标所在字符后插入;
  • A:在光标所在行尾插入;
  • i:在光标所在字符前插入;
  • I:在光标所在行行首插入;
  • o:在光标下插入新行;
  • O:在光标上插入新行;

例如,进入命令模式后,将光标放到第二行的行首。如下图所示:

从零开始学习Linux(十四):Vim常用操作命令_第10张图片

此时输入大写的A命令,查看光标以及其他变化。如下图所示:

从零开始学习Linux(十四):Vim常用操作命令_第11张图片

大写A命令表示在光标所在行尾插入,然后可以在后面编辑要写入的内容。

2.3、编辑模式

在命令模式下按:,即可进入编辑模式。例如:保存、退出、增加行号显示等;

2.3.1、显示行号

输入执行命令:

:set nu
从零开始学习Linux(十四):Vim常用操作命令_第12张图片
输入显示行号命令

回车后,显示结果如下图所示:

从零开始学习Linux(十四):Vim常用操作命令_第13张图片
显示行号
2.3.2、取消显示行号
:set nonu
2.3.3、保存退出命令

如果文件没有修改的话,可以执行:q退出,如果文件已经被修改过了,使用此命令,会提示“已修改但尚未保存(可用!强制执行)”,如下图所示:

从零开始学习Linux(十四):Vim常用操作命令_第14张图片
  • :q 不保存退出;
  • :q! 强制执行,不保存并退出;
  • :w 保存修改内容;
  • :w newfilename 另存为指定文件;
  • :wq 保存修改内容并退出;
  • :wq! 强制执行,保存修改内容并退出;
  • ZZ 保存修改内容并退出;

注意:只有文件所有者以及root可以使用带!的命令,否则会报错。

你可能感兴趣的:(从零开始学习Linux(十四):Vim常用操作命令)