Linux vi/vim教程

所有的 Unix Like 系统都会内建 vi 文本编辑器,其他的文本编辑器则不一定会存在。
但是目前我们使用比较多的是 vim 编辑器。
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
** 什么是 vim?**
Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
vi/vim 的使用
vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:
命令模式:可以进行删除、复制、粘贴等快捷操作。
输入模式:又称编辑模式,可以编辑文本内容
底线命令模式:又称末行模式,可以通过命令操作文件,比如搜索、保存、退出等

1、命令行模式

打开文件后就进入了命令行模式,打开方式有三种:

  1. 如果文件存在,则直接打开;如果文件不存在,则新建一个文件
Vim 文件路径/文件名
  1. 打开文件时,将光标移动到指定行
Vim +行数 文件路径/文件名
  1. 打开文件时,「高亮」显示关键字
Vim /关键字 文件路径/文件名

进入命令模式后,可以进行光标移动、复制粘贴、搜索替换等操作。
注意:命令模式中,敲击的键盘会被识别为命令,而不是输入内容。
移动光标指令

指令作用
h 或 左方向键(←)光标向左移动一个字符
l 或 右方向键(→)光标向右移动一个字符
k 或 上方向键(↑)光标向上移动一个字符
j 或 下方向键(↓)光标向下移动一个字符
0 或 Ctrl+6 或 home键光标移动到行首
Ctrl+4 或 end键光标移动到行尾
Ctrl + f 或 pg up键【屏幕】向下移动一页
Ctrl + b 或 pg dn键【屏幕】向上移动一页
gg移动到文件的第一行
G移动到文件的最后一行
nG移动到文件的第n行

搜索替换指令

指令作用
/字符串 + 回车向下搜索指定字符串
n继续向下搜索下一个字符串
?字符串 + 回车向上搜索指定字符串
N继续向上搜索下一个字符串
:%s/word1/word2/g将文件中的word1替换为word2
:%s/word1/word2/gc将文件中的word1替换为word2,但替换前需要用户确认!
:1,10s/word1/word2/g将第1行到第10行的word1替换为word2

复制粘贴删除

指令作用
x删除后一个字符
X删除前一个字符
dd剪切一行
数字dd剪切多行
yy复制一行
数字yy复制多行
p粘贴到下一行
P粘贴到上一行
u v撤回操作
Ctrl + r撤回刚才的撤回操作

提示:vim中的「数字键」代表重复次数,可以配合其他指令简化操作,比如:

  • 10↓或10j 可一次向下移动10行。
  • 2p 可以一次粘贴2行
  • 2dd 可以一次剪切2行

2、输入模式

在命令模式下按下i就进入了输入模式。

指令作用
i进入输入模式,在光标的前方插入,进入后显示 – INSTER–
a进入输入模式,在光标的后方插入,进入后显示 – INSTER–
o进入输入模式,在光标下一行插入新行,进入后显示 – INSTER –
R进入取代模式,输入的值会取代光标所在的内容,进入后显示 – REPLACE –
esc键退出编辑模式(输入模式)

进入输入模式后,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

提示:

  • 屏幕左下角出现 –INSTER– 或 –REPLACE–字样,表示进入了编辑模式,这时才可以输入内容。
  • 按下esc键,确认下右下角–INSTER–或 –REPLACE–字样消失后,再进行其他操作,以免误操。
  • 想要「撤回」编辑模式下的操作,需要先退出编辑模式,再按 u 键

3、 底线命令模式(末行模式)

在命令模式下按下:(英文冒号)就进入了底线命令模式,左下角出现 :。

指令作用
:w保存
:q退出
:wq保存后退出
:q!不保存,强制退出
:set nu显示行号
:set nonu取消 显示行号
:w [文件名]将编辑后的内容保存到另一个文件中(另存为)
:2,5 w [文件名]将第2到5行的内容保存到另一个文件中(指定行另存为)
:r [文件名]输入另一个文件的内容,到光标的下一行

按ESC键可随时退出底线命令模式。

为了方便记忆,这三个模式之间的转换关系如下图:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pit_man

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值