Linux中vim和vi编辑器的使用
vim 和 vi 的关系:
可以将vim视作vi的高级版本,vim可以用颜色或下划线的方式来显示一些特殊信息。vim不止是文本处理软件,而可以说是一个程序开发工具。因为vim里面加入了很多额外功能,例如支持正则表达式的查找,多文件编辑,区块复制等。
vim 和 vi 的三种模式:
- 一般命令模式:打开一个文件后就默认进入一般命令模式,在这里可以使用粘贴,复制,删除等操作。按下(i,o,a)中的任何一个按键都可以进入编辑模式。按下(:,/,?)中的任何一个键都可以进入命令行模式。
- 编辑模式:可以编辑文件内容,按下 【Esc】键退出编辑模式,进入一般命令模式。
- 命令行模式:光标移动到最下面那一行,其中 : 可以保存退出等操作,/ 和 ?则可以查找等操作。

一些常用操作:
1、退出保存(在命令行模式使用)
- :w 保存文件但不退出
- :q 退出编辑器,如果存在没保存的内容会提示
- :wq 保存并退出
- :q! 强制退出不保存
2、粘贴,复制,删除,撤销(在一般命令模式下使用)
- dd 删除(剪切)光标所在的那一整行
- ndd n 为数字。删除(剪切)光标所在的向下 n 行,例如 20dd 则是删除 20 行
- yy 复制光标所在的那一行
- nyy n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行
- p(小写) 粘贴,在光标下一行粘贴
- P(大写) 粘贴,在光标上一行粘贴
- x(小写) 向后删除一个字符,相当于【del】按键
- X(大写) 向前删除一个字符,相当于【Backspace】按键
- u 恢复前一个操作
- 【Ctrl】+r 重做上一个动作
3、查找(在一般命令模式下使用)
- /word 向光标之下寻找一个名称为 word 的字符串。
- ?word 向光标之上寻找一个字符串名称为 word 的字符串。
- n 继续向下查找
- N 继续向上查找
Linux中vim和vi编辑器的使用的更多相关文章
- 设置Centos7中vim与vi编辑器显示行号
设置Centos7中vim与vi编辑器的行号 步骤一: 输入命令设置: 1.vim ~/.vimrc 或者:(vi ~/.vimrc) 步骤二: 输入命令保存: 1.在其中输入 "set n ...
- Linux的vim和vi编辑器
vim和vi的基本介绍 所有的Linux 系统都会内建vi 文本编辑器. Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计. 代码补完.编译及错 ...
- unix/linux中如何在vi编辑器中方便的跳转到首行和末行?
1.跳转到首行,:0/:1 2.跳转到末行,shift +g/G/:$
- 【Linux】Linux中VIM编辑器的使用
vim编辑器是我们在Linux中不可或缺的一部分,我们通常会使用它去自定义编辑文本已达到我们的需求,那么vim文本编辑器具体要怎么使用呢.今天跟大家分享一下vim编辑器的使用: vim编辑器模式介绍 ...
- Linux中vim编辑器常用操作技巧
Normal 0 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-styl ...
- linux vim,vi编辑器的基础
在之前我也不知道为什么要学vim和vi编辑器,仅仅是听过别人说这个对与linux非常重要. 先说一下为什么要学习这个编辑器.个人的看书理解. 系统管理员的重要工作就是參与与设置某些重要软件的配置文件, ...
- Linux中vim编辑器 的 快捷键 --- 常用 的 都比较全
Linux中vim编辑器的功能非常强大,许多常用快捷键用起来非常方便,这里将我学vim入门时学的一些常用的快捷键分享给大家一下,希望可以帮助你们. 这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到 ...
- Linux学习笔记(四) vi编辑器
一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...
- Linux中vim的简单配置
本文主要分享Linux中vim的简单配置 ★配置文件的位置 在目录/etc.下面,有个名为vimrc的文件,这就是系统中公共的vim配置文件,对所有用户都开放.而在每个用户的主目录下,都可以自 ...
随机推荐
- Ali 访问控制 RAM 用户身份
Ali 访问控制 RAM 用户身份 2018/11/13 Chenxin 参考: https://help.aliyun.com/product/28625.html?spm=a2c4g.111866 ...
- 关于在Arduino下STM32编程——RTC函数解析
注意:相关RTC基础知识这里不提! 该库头文件引用: #include <RTClock.h> 该库所在Arduino位置: 初始化RTC相关时钟 Arduino版的库里初始化配置PW ...
- 十ITK读取一张dcm图像然后通过vtk显示
一.功能 通过ITK读取一张图片(dcm格式),然后通过vtk显示出来. 版本:VS2019 itk5.0.1 vtk 8.2.0 二.程序主要思路 1-读取dcm格式图片 2-转换为vtk可以读取的 ...
- Tomcat中的观察者模式
1. 几个重要的类,接口 LifeCycle : 主题接口 LifeCycleBase : 抽象的主题实现 LifeCycleListener : 观察者 2. 具体分析 public interfa ...
- 使用matplotlib.pyplot中scatter()绘制散点图
1.二维散点图 二维散点图的函数原型: matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=Non ...
- router-view 与 动态组件 区别
提问:router-view 可以页面跳转,使用 is特性 也可以进行页面跳转,有什么区别? 参考链接 https://segmentfault.com/q/1010000010750059
- slave_master_info和slave_relay_log_info中的Master_log_pos不一致
最近在研究mysql的主从,发现一个问题,我在主库做任何修改时,在从库中只有slave_relay_log_info中的Master_log_pos在变化,而slave_master_info中的Ma ...
- Selenium(五):CSS选择器(二)
1. CSS选择器 1.1 选择语法联合使用 CSS selector的另一个强大之处在于:选择语法可以联合使用. html代码: <div id='bottom'> <div cl ...
- JavaScript 语法:松软科技前端教程
JavaScript 语法是一套规则,它定义了 JavaScript 的语言结构. var x, y; // 如何声明变量 x = 7; y = 8; // 如何赋值 z = x + y; // 如何 ...
- Angular中使用bootstrap样式
Angular中使用bootstrap样式 Angular中引入bootstrap的方法 方法1:在Angular.json中的styles数组中添加bootstrap路径 如下所示: " ...