Linux系统 vi/vim文本编辑器
Linux系统 vi/vim文本编辑器
(一)Vim/Vi简介
(二)Vim/Vi工作模式
(三)Vim/Vi基本使用
(四)Vim/Vi应用技巧
(一)Vim/Vi简介
Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。
vim或者vi文本编辑是Linux下最常用的编辑器。vi 和vim 编辑器的区别是vim是vi的改进版本,在vi 编辑器的基础上上扩展了很多实用的功能。 大多数的linux/unix 发行版本中都使用 vim 代替了原来的 vi 文本编辑器。 如果是centos或者redhat系统,当系统安装完毕后,vi/vim 文本编辑器默认情况下就已经被安装了。如果是debian/ubuntu系统下,默认情况下,vim编辑器是不会被安装的。你需要在ubuntu系统下手动安装vim编辑。
vi/vim文本编辑器是我们在linux系统下工作可以说是必须会使用的一个工具,因为linux系统的设计理念是一切皆文件,也就是说,你在linux里的任何操作都是对文件的操作,所以会经常去操作文件,更改文件,保存文件,退出并保存文件。
(二)Vim/Vi工作模式
三种模式:
命令模式
插入模式
末行模式
三者模式的区别是什么呢?
命令模式:vi/vim 编辑器进入后的默认模式,从命令模式可以切换到插入和末行模式,如果当你进入另外的两种模式后,可以使用“ESC”键退回到命令模式,在命令模式下,可以输入一些文本编辑器特有的命令,比如说你想编辑文件,那么就需要输入“i”,让当前模式变为插入模式或者输入模式,这样你就可以编辑这个文本了。
插入模式:顾名思义就是要对本文做输入的操作,也就是说可以对文件做出更改操作。否则,你在命令模式下,vi/vim 文本编辑器是只读模式,你无法对文本做出更改。
末行模式:是命令模式下输入”:”,当你在输入模式下,对文件做了更改,那么需要先退回到命令命令,再进入末行模式,并输入”wq”后,即可保存并退出 vi/vim 文本编辑器。如果想不保存退出 vi/vim 文本编辑器,那么直接输入”q!”,即可。
(三)Vim/Vi基本使用
(1)进入vi/vim文本编辑器的命令
vi filename:打开或新建文件,并将光标置于第一行行首的位置 vi +n filename: 打开文件,并将光标置于第n行的位置 vi + filename: 打开文件,并将光标置于最后一行的位置 vi +/pattern filename: 打开文件,并将光标置于第一个与pattern匹配的行首 vi -r filename: 在上次征用vim 文本编辑器的时候发生系统奔溃后,恢复filename 文件 vi filename1…filenamen: linux vi/vim 文本编辑器可以通过打开多个文件,依次进行编辑
(2) Linux vi/vim 文本编辑器插入文本类命令
命令 作用 a 在光标后附加文本 A 在本行行末附加文本 i 在光标前插入文本 I 在本行开始插入文本 o 在光标下插入新行 O 在光标上插入新行
(3) linux vi/vim 文本编辑器下移动光标的命令
命令 作用 h 左移一个字符 j 下移一行 k 上移一行 l 下移一个字符 $ 移到行尾 0 移到行首 H 移至屏幕上端 M 移至屏幕中央 L 移至屏幕下端
补充:
:set nu 设置行号
:set nonu 取消行号
gg 到第一行
G 到最后一行
nG 到第n行
:n 到第n行
(4)Linux vi/vim 文本编辑下删除命令
命令 作用 x 删除光标所在处字符 nx 删除光标所在处后n个字符 dd 删除光标所在行 ndd 删除光标往下n行 dG 删除光标所在行末尾的内容 D 删除从光标所在处到行尾 :n1,n2d 删除指定范围的行
(5 Linux vi/vim 文本编辑器搜索及替换命令
命令 作用 /string 向前搜索指定字符串 开启搜索时忽略大小写 :set ic 关闭搜索时忽略大小写 :set noic n 搜索指定字符串的下一个出现位置 :%s/old/new/g 全文替换指定字符串 :n1,n2s/old/new/g 在一定范围内替换指定字符串,后面g意思是在替换时是否确认,c为没有提示 r 取代光标所在处字符 R 从光标所在处开始替换字符,按Esc结束 u 取消上一步操作
(6) Linux vi/vim 文本编辑器拷贝和粘贴命令
命令 作用 yy、Y 复制当前行 nyy、nY 复制当前行以下n行 dd 剪切当前行 ndd 剪切当前行以下n行 p、P 粘贴在当前光标所在行下或行上
(7) Linux vi/vim 编辑器保存和退出命令
命令 作用 :w 保存修改 :w new_filename 另存为指定文件 :wq 保存修改并退出 ZZ 快捷键,保存修改并退出 :q! 不保存修改退出 :wq! 保存修改并退出(文件所有者可忽略文件的只读属性) 注意:对文件可以强行保存退出的只可能是文件所有者或者是root用户
(四)Vim/Vi应用技巧
(1)
在Vi中执行命令:![命令]
我这里执行:!date
我们可以看到在末行模式里,可以执行系统命令,执行完以后也可以继续回到vi/vim编辑器界面
命令格式:
:![命令]
注意:一定要在末行模式才能使用
(2)
导入文件:r 文件名
这个功能就是可以导入别的文本的内容到现在编辑的文本上。
我们现在将/newdir1/newdir1的内容导入到/newdir/newdir中
注意:现在/newdir/newdir为空文本
补充:
刚才我们知道可以在末行模式执行系统命令,然后又回到vi/vim编辑器,如果我们想把执行命令的结果导入到文本中,应该怎么办,既然知道可以导入文本,那也可以导入命令执行的结果。
在Vi中导入执行命令的结果:r !date
(3)
定义快捷键:map 快捷键 触发命令
在linux中使用 ^符号
ctrl+v,后ctrl+[符号]
范例:
:map ^P I#<ESC>
这里我以下面举例, 0是光标移到行首,x是删除光标所在位置的字符
:map ^B 0x
我按一下ctrl+b就删除了第二行的#符
取消快捷键:
:unmap ^p 取消快捷键
(4)
连续行注释
:n1,n2s/^/#/g
:n1,n2s/^#//g
:n1,n2s/^/\/\//g
我们以:n1,n2s/^/#/g来解释,n1到n2行的行首都加上#。
下面是:4,8s/^/#/g
在4到8行行首加上#
(5)
替换快捷键
意思很明显,就是一个字符或字符串替换另一个字符或者字符串。
格式:
ab [被替换的内容] [替换的内容]
例子:
定义ab替换快捷键:ab mymail lili@www.com
取消ab替换的定义:unab mymail
输入mymail后,按空格或者回车即可替换
Linux系统 vi/vim文本编辑器的更多相关文章
- Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令
Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...
- 第十八章 vi/vim文本编辑器介绍
一.vi/vim文本编辑器介绍 1.含义: vi就是一个文本编辑器 2.为什么学习: 系统配置 编写脚本 vim就是vi的升级版 高级版 [root@jindada ~]# [root@jindada ...
- linux/linux学习笔记-vim文本编辑器(mooc)
vim文本编辑器 vim与vi的区别:( vim=vi +IMproved) VIM是一个Unix以及类unix文本编辑器 特点:功能强大,高度可定制 vim编辑器的三种模式:一般模式.编辑模式和命令 ...
- linux vi vim文本编辑器
vim是vi的加强版,建议使用vim. vim拥有三种模式: 命令模式(常规模式) vim启动后,默认进入命令模式,任何模式都可以通过esc键来回到命令模式.命令模式可以通过键入不同的命令来完成选择, ...
- Linux下的Vim文本编辑器(入门)
引言 vim filename:打开名为filename的文件,如果不存在就会创建一个filename文件 Vim的三种使用模式 1. 命令模式 启动Vim时,就进入了命令模式 在该模式下: i:切换 ...
- Vi (Unix及Linux系统下标准的编辑器)VIM (Unix及类Unix系统文本编辑器)
Vi是Unix及Linux系统下标准的编辑器.学会它后,您将在Linux的世界里畅行无阻.基本上vi可以分为三种状态,分别是命令模式.插入模式,和底行模式. vi编辑器是所有Unix及Linux系统下 ...
- 【转】Linux上vi(vim)编辑器使用教程
Linux上vi(vim)编辑器使用教程 ------------------------------------------------------------ ikong ------------ ...
- Linux命令行下的vim文本编辑器
Linux命令行下的vim文本编辑器 下面这个网站的地址讲解的非成分清楚!!!! http://blog.csdn.net/niushuai666/article/details/7275406 学习 ...
- 【Linux】中默认文本编辑器 vim 的入门与进阶
Linux 基本操作 vim 篇 vim 简介 vim 是 Linux 上最基本的文本编辑工具,其地位像是 Windows 自带的记事本工具,还要少数的 Linux 系统自带 leafpad 编辑器, ...
随机推荐
- 使用layer 弹出对话框 子父页面相互参数传递 父页面获取子页面参数实例
一.先看效果: 1.点击三个点的图标弹出了子页面: 2.子页面调用父页面方法,图一调用父页面方法,图二得到父页面var变量. 3.选择之后,关闭弹框,父页面得到子页面单选框选择的v ...
- Jetson tk1 安装 usbtoserials 驱动(重新刷机)
一.tk1驱动包,文件系统和源码下载 截止2016年9月1号,tk1最版本为R21.5. (以下三个文件放在同一个文件夹下) 1.driver package(驱动包,相当于安装程序) https:/ ...
- Dubbo本地存根
在远程调用服务提供者的实现之前,如果需要做一些参数验证.缓存.判断.小功能等等,满足要求再调用服务提供者的远程服务,则我们可以通过编写一个本地存根来实现这种功能. (1).在公共项目中或服务消费者项目 ...
- VMware如何给虚拟机添加新硬盘
在使用虚拟机时,若硬盘空间不足.或需要用到双硬盘或多硬盘环境时,我们可以给虚拟机新增虚拟硬盘
- C++中template的简单用法
模板(Template)指C++程序设计设计语言中采用类型作为参数的程序设计,支持通用程序设计.C++ 的标准库提供许多有用的函数大多结合了模板的观念,如STL以及IO Stream.使用模板可以使用 ...
- java中集合的组成及特点
1:集合 Collection(单列集合) List(有序,可重复) ArrayList 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector 底层数据结构是数组,查询快,增删慢 线程 ...
- mpVue小程序全栈开发
1.微信小程序,mpVue和wepy的对比 2. 3.es6中关于数组的一些方法 <script> let arr = [,,,] // 遍历 arr.forEach(v => { ...
- js闭包实例汇总
本文是通过实例来帮助大家深刻理解js闭包,是篇非常不错的文章,这里推荐给大家,有需要的小伙伴可以参考下 Js闭包 闭包前要了解的知识 1. 函数作用域 (1).Js语言特殊之处在于函数内部可以直接读取 ...
- python3笔记(一)初识Python
基础资料 什么是Python? Python官方网站 安装Python python的优点 完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行. pyth ...
- linux - awk 和kill 批量杀死进程
ps -ef|grep check_os.sh | grep -v grep | awk '{print $2}' | xargs kill -9 $2表示第2列,即进程号PID; grep -v g ...