重新点亮linux 命令树————文本查看vi和vim[五]
前言
简单整理一下vi和vim,主要介绍一下四种模式。
正文
四种模式分别是:
正常模式(normal-mode)
插入模式(insert-mode)
命令模式(command-mode)
可视模式(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 树

结
下一节文件权限。
重新点亮linux 命令树————文本查看vi和vim[五]的更多相关文章
- 重新点亮linux 命令树————帮助命令[一]
前言 重新整理一下linux的命令. 正文 这里首先介绍帮助命令. 帮助命令常用的有三个: man help info 那么就来看下这三个. man 第一个man,man不是男人的意思,而是manua ...
- linux命令之文本查看
vi掌握练习: 英文文档,相同的单词复制粘贴光标移动编辑等操作: cat:显示文件所有内容,小文件查看时使用. 缺点:文件大时不方便查看,文件很大时,会抢占系统资源,会出现命令崩溃. [zyj@loc ...
- Linux 常用命令:文本查看篇
前言 Linux常用命令中,除了cat还有很多其他用于文本查看的命令.本文将简单介绍一下这些文本查看的命令. 全文本显示--cat cat可能是常用的一个文本查看命令了,使用方法也很简单: cat f ...
- Linux命令lsb_release:查看当前系统的发行版信息
Linux里的lsb_release命令用来查看当前系统的发行版信 息(prints certain LSB (Linux Standard Base) and Distribution inform ...
- Linux命令 — 设置或查看网络配置命令ifconfig
ifconfig命令用于设置或查看网络配置,包括IP地址.网络掩码.广播地址等.它是linux系统中,使用频率最高的关于网络方面的命令. 1. 命令介绍 命令格式: ifconfig [interfa ...
- Linux命令之lsb_release - 查看当前系统的发行版信息
用途说明 lsb_release命令用来查看当前系统的发行版信息(prints certain LSB (Linux Standard Base) and Distribution informati ...
- Linux命令之必杀绝技Vi文本编辑的使用
vi 文本编辑器 语法:vi [参数] 文件 进入vi全屏幕编辑画面 按字母i进入[输入模式],按[ESC]转到命令行, 输入 :q可不保存退出vi :wq存盘退出vi :q!不存盘强制退出 :w ...
- Linux 笔记 - 第七章 Vi 和 Vim 编辑器
博客地址:http://www.moonxy.com 一.前言 Vi 与 Vim 都是多模式编辑器,是 Linux 中必不可少的工具.不同的是 Vim 是 Vi 的升级版本,它不仅兼容 Vi 的所有命 ...
- Linux命令-文件文本操作grep
文件文本操作 grep 在文件中查找符合正则表达式条件的文本行 cut 截取文件中的特定字段 paste 附加字段 tr 字符转换或压缩 sort 调整文本行的顺序,使其符合特定准则 uniq 找出重 ...
- 【linux 命令】:查看系统开机,关机时间【转载】
转载原文:http://www.cnblogs.com/kerrycode/p/3759395.html 看Linux开机关机时间的方法(非常全面) 1: who 命令查看 who -b 查看最后一次 ...
随机推荐
- C语言趣味编程之三天打鱼两天晒网
include <stdio.h> typedef struct date {//定义一个日期结构体date,三个成员变量year\month\day,使得年月日作为一个整体,相互联系. ...
- 如何使用疯狂URL获取抖音推流码地址(抖音推流码地址获取教程)
本节所用到的工具:疯狂URL.OBS推流工具 什么是推流地址? 平时我们如果是下载直播,叫拉流.但如果是你自己要直播,属于上传直播流数据,叫推流,即:把直播流数据推送到视频服务器,然后别人才能看到直播 ...
- .vscode/extensions.json 是项目用到的 插件 推荐列表,项目应该将此配置 写入用到的插件
.vscode/extensions.json 是项目用到的 插件 推荐列表,项目应该将此配置 写入用到的插件 .vscode/extensions.json { "recommendati ...
- SourceTree 合并DEV分支到master
SourceTree 合并DEV分支到master 1 切换到master分支 2 右键dev分支,选择 合并dev至当前分支 3 提交代码
- MFC自定义CStatusBar文字的颜色
MFC里面的CStatusBar是没法自定义文字颜色的,需要我们自己绘制.这篇文章是在 Display colored text on Status Bar 代码的基础上进行改进的,使用起来更方便. ...
- 光感红外接近传感器AP3426调试总结
一 概念 AP3426是一个高度集成了红外,光感和接近角的传感器.该传感器凭借着高灵敏度广泛应用在可穿戴领域.笔者在一个产品上用了这个传感器.花了一些时间来调试和熟悉这个传感器,这里就做一个总结吧. ...
- 使用ConnectivityManager.bindProcessToNetwork绑定特殊网络
最近测试那边提了一个bug,经过排查后发现其原因:是因为连接的Wi-Fi无法上网,因此在Android系统的多网络策略中,可以上网的SIM移动网络被设置为系统默认网络,投屏组件docker传输与反控模 ...
- RTMP录屏直播屏幕数据获取与MediaCodec编码
目录 前言 RTMP直播实现流程 视频采集--MediaProjection 编码--MediaCodec 音频采集--AudioRecord RTMP音频包数据 RTMP视频数据 前言 本文介绍的是 ...
- YAML语法入门
Ansible是一个系列文章,我会尽量以通俗易懂.诙谐幽默的总结方式给大家呈现这些枯燥的知识点,让学习变的有趣一些. Ansible系列博文直达链接:Ansible入门系列 前言 在学习playboo ...
- 3D渲染速度慢,花重金买显卡还是用云渲染更划算
3D渲染对建筑师和设计师来说并不陌生,3D渲染的过程中出现渲染卡顿.特殊材质难以渲染,或者本地配置不足.本地渲染资源不够时,常常会影响工作效率.本文比较了3D渲染时,为提高工作效率,买显卡还是用云渲染 ...