zl程序教程

您现在的位置是:首页 >  系统

当前栏目

重新点亮linux 命令树————文本查看vi和vim[五]

LinuxVim命令 查看 文本 重新 vi 点亮
2023-09-14 08:59:23 时间

前言

简单整理一下vi和vim,主要介绍一下四种模式。

正文

四种模式分别是:

  1. 正常模式(normal-mode)

  2. 插入模式(insert-mode)

  3. 命令模式(command-mode)

  4. 可视模式(visual-model)

输入vi,可以看到

上面写道vim是vi的升级版。

正常模式

什么是正常模式呢?

利用vim text 这样就是进入了正常模式。

那么进入后,如何进行光标移动呢?

hzkl进行移动。h是左移动j是向下k是向上l是向右移动。

那么我们键盘不是有上下左右吗?这些不能移动吗?一般情况下是可以移动的,但是到了一些字符情况下,可能出现乱码。

那么如何进行复制呢?

使用yy就进行当前行的复制了。

这里就对第一行进行复制。

然后使用p进行贴贴。

那么如果我们要复制3行呢?

可以先输入3,然后输入yy进行复制。

左下角会出现复制3行的信息。

那么我在最后一行进行贴贴,按p:

那么如果我需要复制当前光标到光标结尾的信息。

比如说:

我需要复制4到6呢。可以使用y$,这样的字符。

然后我进行p贴贴,可以看到多了4到后面的信息。

那么下面来看一下剪贴命令吧。

dd 就是将当前进行剪切,d$就是剪切当前位置到行末尾的字符。同样要剪切多行的话,可以使用先输入一个数字,然后使用dd进行剪切。

这里就不演示了,可以自我尝试。

那么下面有一个非常关键的命令,可以使用u来撤销,如果撤销多步,那么可以使用多次u。

那么又有一个问题啊,当我们本来要撤销异步,但是不小心按了两个u,那么这个怎么破呢?

可以使用ctrl+r进行撤回刚才的撤销。

那么如何删除单个字符呢,按x,其实x不是删除是剪切。

那么要替换当前字符呢?可以使用r,然后再次输入字符进行替换。

如果我们要移动到指定的行呢?可以使用数字+G。

可以使用命令模式set nu查看行数:

如何想到达第一行呢?直接输入gg。

如果想到最后一行呢?可以使用G,可以直接到最后一行。

那么如何到一行的开头呢?可以^,如果到达该行的末尾呢?可以使用$。

插入模式

那么正常模式如何插入呢?

一般我输入i 键,然后会进入插入模式。insert 是进入替换模式。

会在当前光标的位置进行插入。

当使用shift+i的时候也就是大写的I的时候,那么光标会回到该行的最头部。

同样可以使用a进入插入模式,但是光标是在当前光标的下一位。

还可以使用A进入插入模式,那么光标就在改行的最后一位。

还可以使用o进入插入模式,那么光标会在下一行的头部,并另外创建一行。

还可以使用O进入插入模式,那么光标会在当前行创建一行。

命令模式

如果使用:,那么可以进入命令模式。

:/w 进行保存。:/q进行离开。:/q!强制离开。:x 如果修改了保存退出,如果没有修改直接退出。:X 为帮文件进行密码加密。

还有前文说的:set nu这样就显示了文件的行信息,如果不需要显示行信息可以使用:set nonu这样子就可以。

这里面还有一个非常强大的功能,可以使用:!这样可以使用我们的shell命令,比如说:!ifconfig.

命令模式如何查找呢?

可以使用:/进行查找,比如说:/123,那么就是查找123。

那么如果我们查找到多个,如果查看下一个呢?可以使用n。那么又想上一个呢?可以使用shift+n。

那么如何进行替换呢?可以使用:/s,比如:/s/123/456,这样就是将123替换成456了。那么这样只会当前行的第一个进行替换,而不是全部行的第一个进行替换。

如果需要全部行的第一个进行替换,可以使用:%s/123/456这样。

那么如果想要全部进行替换呢?可以使用%s/123/456/g,加了一个/g。

如果只想再某几行之间进行替换呢?比如说3到5行进行替换呢? 可以使用:/3,5s/123/456/g,这样。

:数字 (移动到指定的行)

可视模式

在普通模式下按v,就可以进入可视模式,这时候是字符为单位选择的。

进入可视模式后,可以按上下左右进行选择。

如果我们按shift+v,这个时候是行为单位选择模式。

如果我们按ctrl+v的模式,那么就是块为单位选择模式。

块选择比较常见。

比如说希望在选择的块前面进行插入123。

可以按shift+i,然后进行输入123,然后按shift。

同样可以选择指定的块进行删除。

比如说希望删除选择的块,可以按d键进行删除。

linux 树

下一节文件权限。