vi和vim编辑器
VI
vi是一种计算机文本编辑器,由美国计算机科学家比尔·乔伊(Bill Joy)完成编写,并于1976年以BSD协议授权发布。
VIM
Vim是从vi发展出来的一个文本编辑器。其代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。Vim的第一个版本由布莱姆·米勒在1991年发布。最初的简称是Vi IMitation,随着功能的不断增加,正式名称改成了Vi IMproved。现在是在开放源代码方式下发行的自由软件。
用法:
vim [options] [file ..]
选项:
- +#:打开文件时直接跳到第#行
- +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首
- -b:二进制方式打开文件
- :%!xxd:扩展命令模式下,利用xxd命令转换为可读的十六进制
- :%!xxd –r:扩展命令模式下,利用xxd命令转换回二进制
- -d file1 file2…:打开多个文件比较,==vimdiff
- -m:以只读方式打开文件
- -e:打开文件时直接进入ex模式,或者使用ex file
vim的模式:命令模式,插入模式,扩展命令模式
在任意模式下用esc可以返回命令模式
一、命令模式(command mode)
命令模式下有些快捷指令不会显示,需要执行完全部命令才可以看到更改
命令模式-->插入模式:
- i:在光标所在处变成插入模式
- I:在行首变成插入模式
- a:在光标下一个字符起变成插入模式
- A:在行尾变成插入模式
- o:在下一行另起一新行进入插入模式
- O:在上一行另起一新行进入插入模式
在命令模式下的快捷操作
- ZZ:保存退出
- ZQ:不保存退出
- .(点):重复上一个操作
光标跳转:
^
k Hint: h键在左边并向左移动
< h l > l键在右边并向右移动。 j j键看起来像一个向下的箭头。
v
- w:下一个单词的词首
- e:当前或下一单词的词尾
- b:当前或前一个单词的词首
- H:跳到当前页的页首
- M:跳到当前页的页中
- L:跳到当前页的页底
- ^:跳到行首的第一个非空白字符
- 0:跳到行首,==HOME键
- $:跳到行尾,==END键
- G:跳到文件最后一行
- gg:跳到文件第一行
- ():句间跳转
- {}:段落跳转
- Ctrl+f:向下翻一屏
- Ctrl+b:向上翻一屏
- Ctrl+d:向下翻半屏
- Ctrl+u:向上翻半屏
- n|N:搜索关键字间跳转下一个|上一个
字符操作:
- x:剪切光标处的一个字符
- ~:转换大小写
- J:删除当前行后的换行符
- r:替换光标处的单个字符
- R:进入REPLACE模式,替换光标所在字符,按esc回到命令模式
- d:删除
- dd 删除整行
- d$ 删除从光标所在处到行尾
- d^ 删除从光标所在处到非空行首
- d0 删除从光标所在处到行首
- dw 删除一个单词到下一个单词的首部
- de 删除一个单词到这个单词的尾部
- #dd 删除#行
- D 从当前光标位置一直删除到行尾,留空行,等同于d$
- y:复制
- y$,y0,y^,yw,ye,#yy 类似于d命令的操作
- Y 复制整行
- p|P:整行,粘贴在行的下方|上方;非整行,粘贴在光标的后面|前面
- c:删除后变成插入模式,修改命令
- c$,c0,c^,cw,ce
- cc 删除当前行并变成插入模式,== S
- C 删除当前光标到行尾,并切换成插入模式
- # i STRING [esc]:将STRING粘贴#次
- 0gU$|0gu$:将整行替换成大小|小写
撤销和撤销撤销:
u:撤销刚才更改
U:撤消光标落在这行后所有此行的更改
Ctrl - r:撤销最后的“撤消”更改
二:扩展模式(extended command mode)
:(冒号):命令模式-->扩展模式
w [FiLE]:保存和另存为
q:退出
x:保存并退出
!:强制执行,直接加命令可以执行系统上的命令,!r可以将命令的结果读入文件
r:读入文件
地址定界::start_pos,end_pos
- #:具体指定#行
- #,#:从#行到#行
- #,+#:从#行往下#行
- 0:表示第一行
- .:表示当前行
- $:表示最后一行
- %:表示全文
- /PATTERN1/,/PATTERN2/:表示从第一次被模式匹配到的行到第二次被模式匹配到的行
- 后跟一个编辑命令,d,y,w,r等来操作指定范围的内容
查找替换
s:操作范围s/要查找的内容/替换为的内容/修饰符(g 全局;c 提示是否替换;i 忽略大小写)
/:分隔符也可用逗号,@等
三:查找模式
/
四:可视化模式
v:对字符操作
V:对行操作
Ctrl+v:对块操作
选择所操作的内容再使用d,y,p等命令操作文本
五:多文件模式
vim FILE1 FILE2 ...
- :next 下一个
- :prev 前一个
- :first 第一个
- :last 最后一个
- :wall 保存所有
- :qall 退出所有
- :wqall
六:多窗口模式
多文件分割
vim -o|-O FILE1 FILE2 ...:水平|垂直分割俩个文件及多个文件窗口
单文件分割
在命令模式下 Ctrl+w,s|v :水平|垂直分割窗口
Ctrl+h|j|k|l:窗口间切换光标
Ctrl+w,q|o:取消相邻窗口|全部窗口
:wqall:退出全部文件和窗口
vim的寄存器
有26个命名寄存器和1个无命名寄存器,常存放不同的剪贴版内容,可以不同会话间共享;
寄存器名称a,b,…,z,格式:“寄存器 放在数字和命令之间;
未指定,将使用无命名寄存器;
有10个数字寄存器,用0,1,…,9表示,0存放最近复制内容,1存放最近删除内容。当新的文本变更和删除时,1转存到2,2转存到3,以此类推。数字寄存器不能在不同会话间共享。
vim的配置
全局配置文件:/etc/vimrc
用户配置文件:~/.vimrc
set:在扩展模式下执行或者写到配置文件中
- nu 显示行号
- ic 忽略字符大小写
- ai 自动缩进
- si 智能缩进
- ts=# tab键的长度
- hlsearch 高亮搜索
- list 显示Tab和换行符 ^I 和$
- ff=dos|unix 启用Unix格式|Windows格式
- textwidth=# 设置文本宽度
- cursorline 设置光标所在行的标识线
- paste 复制保留原格式
set all 或者 help option-list 获取set的帮助
syntax on|off 语法高亮
vimtutor命令
vim自带的官方学习及练习文档
vim常用技巧
1)批量编辑:
1.ctrl + v 批量块选中每行的第一个字符
2.按I(大写i)进入编辑模式
3.编辑第一行
4.编辑完成后按俩次esc
欢迎大家一起学习交流~
vi和vim编辑器的更多相关文章
- Linux系统vi或者vim编辑器中如何显示行号
设置行号很简单 我们要到vi或者vim编辑器的命令模式下,输入set number :set number 按下回车就显示行号了 那么怎么关闭行号呢? 很简单,我们只要再到vi或者vim编辑器的命令模 ...
- Linux 入门记录:五、vi、vim 编辑器
一.vi.vim编辑器 vi 是一个命令行界面下的文本编辑工具,最早在 1976 年由 Bill Joy 开发.当时名字叫做 ex.vi 支持绝大多数操作系统(最早在类 Unix 操作系统的 BSD上 ...
- Linux学习之十三-vi和vim编辑器及其快捷键
vi和vim编辑器及其快捷键 1.vi与vim区别 它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面. vim的这些优势主要体现在以下几个方 ...
- vi与vim编辑器与解决vim编辑异常
目录 一:vi与vim编辑器 二:解决vim编辑异常 一:vi与vim编辑器 vim是vi的升级版编辑器,就是vim比vi丰富一些. 1.安装vim 命令 yum install vim -y 2.打 ...
- linux学习笔记--vi与vim编辑器
vi编辑器全名为Visual Interface,即为可视化接口,类似于Windows中的记事本 vim相当于是vi的一个升级版本,包含vi的一切操作命令,vim相对于vi做了哪些提升: 1.vim支 ...
- 五、Vi和Vim编辑器
1. Vim编辑器: 在Linux下一般使用vi编辑器来编辑文件.vi既可以查看文件也可以编辑文件.三种模式: 命令行.插入.底行模式 切换到命令行模式:按Esc键: 切换到插入模式:按 i .o.a ...
- Linux实操篇 vi和vim编辑器
vi和vim的基本介绍 所有的Linux系统都会内建vi文本编辑器. vim具有程序编辑的能力,可以看做是vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计.代码补完.编译及错误跳转等 ...
- linux的vi和vim编辑器操作
vi:linux内部的文本编辑器:vim:vi的增强版,具有程序编辑的能力. vi和vim的三种常见模式: (1)正常模式(一般模式):vim一打开就是这种模式,此模式下可以使用各种快捷键,比如复制粘 ...
- Linux 笔记 - 第七章 Vi 和 Vim 编辑器
博客地址:http://www.moonxy.com 一.前言 Vi 与 Vim 都是多模式编辑器,是 Linux 中必不可少的工具.不同的是 Vim 是 Vi 的升级版本,它不仅兼容 Vi 的所有命 ...
- Vi 和 Vim 编辑器详细使用方法
学习linux的一项必会技能,熟练使用vi/vim编辑器那便最重要的了.不过一堆操作看的也是太头疼了,以下整理了些常用到的命令. 工作模式 vi编辑界面有三种不同的工作模式,分别为命令模式.输入模式. ...
随机推荐
- maven 技术总结
1.版本统一控制 在 properties中配置一个参数,在添加依赖时 通过 version标签 限定版本 <properties> <org.springframework.ver ...
- Vue解析四之注册变量
判断监听的变量,如果undefined可以用$set来注册一个变量. 另外click可以是表达式,不一定必须是一个方法.
- Angular组件——中间人模式
设计一个组件时,组件应该是内聚的,应该不依赖外部已经存在的组件,要实现这种松耦合的组件要使用中间人模式. 一.中间人模式 该组件树中除了组件1以外,每个组件都有一个父组件可以扮演中间人的角色.顶级的中 ...
- gulp和webpack之间的区别
webpack 是一个打包工具 webpack 是用来把你的源文件打包成一个文件的,你做了一系列配置以后,可以用一句 webpack 实现打包的功能. webpack的作用是从若干个文件开始顺藤摸瓜, ...
- 解决Hystrix Dashboard 一直是Loading ...的情况
Hystrix是什么 Hystrix 能使你的系统在出现依赖服务失效的时候,通过隔离系统所依赖的服务,防止服务级联失败,同时提供失败回退机制,更优雅地应对失效,并使你的系统能更快地从异常中恢复. Hy ...
- Python中安装模块的方法
1.*nix系统上有一个地方专门有一个地方来放置安装的Python模块 比如在Mac上,这个目录的路径为: /usr/lib/python2.7 将要安装的文件拷贝到这里即可 2.下载模块包,解压后, ...
- php设计模式七 ---组合模式
1.介绍 组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象.组合模式依据树形结构来组合对象,用来表示部分以及整体层次.这种类型的设计模式属于结 ...
- ASP.NET Core原理概述
ASP.NET Core 是一个控制台应用程序,在其 main 方法中创建一个Web服务器,以下是program.cs中的代码: using Microsoft.AspNetCore; using M ...
- 20162318 实验四 Android程序设计
北京电子科技学院(BESTI) 实 验 报 告 课程:程序设计与数据结构 班级:1623班 姓名:张泰毓 指导老师:娄老师.王老师 实验日期:2017年5月26日 实验密级:非密级 实验器材:带Lin ...
- 冲刺NO.9
Alpha冲刺第九天 站立式会议 项目进展 项目已完成模块的模块测试工作开始进行.如学生基本信息模块和学生信用信息模块. 问题困难 框架的掌握存在一定的问题,导致项目的执行速度变慢.其他课程的作业占据 ...