Vim编辑器入门


我们常说:Linux中一切都是文件。因此使用文本编辑器编辑配置文件参数是一键非常重要的事情,而最为广大用户熟知的文本编辑器非vim莫属;今天我们就来简单了解一下vim文本编辑器的使用。

一、vi与vim

在学习vim的使用之前,我们需要介绍一下vi文本编辑器:
* 所有类UNIX系统都会内置vi文本编辑器;
* 很多软件的编辑接口会调用vi,比如之前介绍过的 crontab

上述两个特点造就了可以成为vi高级版的vim如今地位。vim与vi最大的不同在于其语法高亮功能,该点使其不仅是一个文本编辑器,更是程序开发工具。

二、vi的使用

  1. 让vi或者vim如此受欢迎的主要原因,在于其三种模式:

    • 一般模式
      打开一个文件就进入该模式;该模式中可以移动光标、对文本进行 复制 粘贴 删除 查找 等操作;
    • 编辑模式
      一般模式下,按 a,i,o 键可以进入( a 键 与 i 键分别是在光标后面一位和当前位置切换到编辑模式,而 o 键则是在光标的下面再创建一个空行,此时可敲击 a 键进入编辑模式);该模式中可以对文件文本进行编辑,按 Esc 键回到一般模式;
    • 命令行模式
      一般模式下,输入以 :,/,? 开头的命令进入;该模式中光标在屏幕最下一行,可以输入一些对文件操作的命令,按 Esc 键回到一般模式;

      ps:一般模式和编辑模式、一般模式和命令行模式之间可以互相切换,但是编辑模式和命令行模式之间无法互相切换。
  2. 一般模式和编辑模式常用快捷键

快捷键说明
h光标向左移动一个字符
j光标向下移动一行
k光标向上移动一行
l光标向右移动一个字符
Ctrl+fPageDown向下翻页
Ctrl+bPageUp向上翻页
0Home光标移动到所在行最前字符
$End光标移动到所在行最后字符
G光标移动到该文件最后一行
gg光标移动到该文件第一行
XBackspace删除光标前一个字符
xDel删除光标后一个字符
[rownum]Enter光标向下移动 [rownum]
dd删除(剪切)光标所在行
[rownum]dd删除(剪切)从光标处开始的 [rownum]
yy复制光标所在行
[rownum]yy复制光标处开始的 [rownum]
n显示搜索的下一个字符串
N显示搜索的上一个字符串
u撤销
.Ctrl+r重复上一个操作
p粘贴前剪切或复制的内容

3. 命令行模式常用命令

命令说明
:w保存
:q退出
:q!放弃修改强制退出
:wq!强制保存退出
:set nu显示行号
:set nonu隐藏行号
:[rownum]跳转到 [rownum]
:s/[str1]/[str2]将当前行第一个 [str1] 替换为 [str2]
:s/[str1]/[str2]/g将当前行所有 [str1] 替换为 [str2]
:%s/[str1]/[str2]/g将全文所有 [str1] 替换为 [str2]
?[str]搜索 [str]
/[str]反向搜索 [str]

:set nu 显示行号

三、vim的功能

  1. vim的保存文件、恢复与打开时的警告信息
    当我们在使用vim编辑文件时,vim会把我们进行的操作保存在以编辑文件名加.swp命名的隐藏临时文件中;
    当遇到其他用户在编辑同一个文件或者其他未知的原因导致vim崩溃后,我们可以使用这个临时文件恢复之前进行的操作;

    • 新建一个名为 xdltestvim.json 的文件,使用 Ctrl+z 快捷键使vim在后台运行
vim xdltestvim.json
  • 使用 ls -al 命令查看当前文件夹信息,可以看到名为 .xdltestvim.json.swp 隐藏临时文件

  • 当我们尝试继续编辑 xdltestvim.json 这个文件时,会出现提示:

    并给出5个操作项:

操作项说明
[O]pen Read-Only只读模式打开文件
[E]dit anyway正常模式打开,不使用之前临时保存的操作,会改变之前的操作
[R]ecover恢复之前的操作,完成后需要手动删除隐藏临时文件
[Q]uit退出
[A]bort忽略,类似于 [Q]uit

根据给定的操作快捷键可进行对应的操作。

  1. 块选择
    vim一般模式和编辑模式下可以使用快捷键进行文本的块选择:

    • v 字符选择,选择从按下 v 开始到当前光标位置的字符:

    • V 行选择,选择从按下 V 开始到当前光标位置的行:

    • Ctrl+v 矩形选择,选择从按下 Ctrl+v 开始到当前光标位置所画出矩形框内的字符:

文本选择之后,可以使用之前介绍的 ydp 快捷键进行复制、删除、粘贴。

  1. 多文件编辑
    当我们想要把一个文件中的文本复制到另一个文件中时,就可以使用vim的多文件编辑功能;
命令说明
vim [file1] [file2]同时编辑文件 [file1][file2]
:files查看当前正在编辑的文件
:n切换到编辑下一个文件
:N切换到编辑上一个文件

:files 查看当前正在编辑的文件

  1. 多窗口功能
    在vim命令行模式下使用 :sp [filename] 命令在同时以多个窗口中打开多个文件;

多窗口功能常用快捷键:

快捷键说明
Ctrl+w jCtrl+w ↓切换到下一个窗口
Ctrl+w kCtrl+w ↑切换到上一个窗口
Ctrl+w q关闭下一个窗口,等同于先切换到下一个窗口再使用 :q 关闭

5. vim常用命令示意图

图片转自 deniro_li 的CSDN文章 vim 常用指令操作示意图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值