vi使用教程
Vi有3种模式:
命令模式——命令操作
插入模式——进入vi之后,输入i/a/o,按Esc键,进入命令模式
编辑模式——:set nu, 以回车结束
1、插入
a - 光标后插入
A - 本行末尾插入
i - 光标前插入
I - 本行行首插入
o - 光标下插入新行
O - 光标上插入新行
2、定位
h - 左移
j - 下移
k - 上移
i - 右移
$ - 移至行尾
0 - 移至行首
H - 移至屏幕上端
M - 移至屏幕中央
L - 移至屏幕下端
:set nu 设置行号
:set nonu 取消行号
gg 到第一行
G 到最后一行
nG 到第n行
:n 到第n行
3、删除
x 删除光标所在处字符
nx 删除光标所在处后n字符
dw 删除一单词
dd 删除光标所在行,ndd删除n行
dG 删除光标所在行到文件最后一行的内容
D 删除光标所在处到行尾内容
:n1,n2d 删除n1行到n2行
4、复制&剪切
yy, Y 复制当前行,nyy, nY复制当前行以下的n行
dd 剪切当前行,ndd剪切当前行以下的n行
p, P 粘贴在当前光标所在行下一行或上一行
5、查找&替换
/str 向前搜索,忽略大小写时:set ic
?str 向后搜索
n 搜索指定字符下一个位置
N 搜索指定字符上一个位置
:%s/old/new/g 全文替换
:%s/old/new/c 替换前询问
:n1,n2s/old/new/g 在一定范围内替换
6、保存退出
:wq 保存退出
ZZ 保存退出
:wq! 强行保存退出(对于没有写权限的文件,只有文件所有者或root)
:q! 不保存退出
:w 保存不退出
:w /home/test 另存为
7、屏幕翻滚
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f: 向文件尾翻一屏
Ctrl+b:向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
8、vi使用技巧
:r /etc/issue 导入issue内容
:!date vi中使用命令
:r !date 导入命令执行结果
9、定义快捷键
(1) 行首插入/删除注释
:map ^P I#<ESC> 命令行模式下,按ctrl+p, 实现在行首添加注释
:map ^D 0x 命令行模式下,按ctrl+d,实现删除行首字符
注意:^P(不是上位键,是特殊字符) - ctrl+v, ctrl+p。I#表在行首插入#。<ESC>表示按下ESC键。0x,0表示光标跳到行首,x表示删除光标当前字符。
(2) 连续行注释
:n1,n2s/^/#/g 每行行首加入#注释,^表示行首
:n1,n2s/^#//g 删除每行行首#注释,^表示行首,如果没有^,则替换所有的#为空字符
:n1,n2s/^/\/\//g 每行行首加入//, 因为”//”是特殊字符,需要用转义字符/\/\代表//
(3) 快捷键插入内容
:map ^E itoughhou@126.com 命令行模式下,按ctrl+e,插入邮箱地址
(4) 自动替换输入的内容为指定内容
:ab mymail toughhou@126.com 输入mymail回车或空格后,自动替换成toughhou@126.com
10、vi配置文件
如果不把设置保存的话,退出vi后设置消失,下次进入时需要再重新设置,比较麻烦。此时我们可以通过vi配置文件,在各个用户的home目录下(像如我的用户名是tough,配置文件/home/tough/.vimrc).每次进入vi,:set nu, :map ^P I<ESC>都是可以用的。
:set nu
:map ^P I#<ESC>
vi使用教程的更多相关文章
- vi 使用教程
编辑一个文本文件是经常使用到的计算机操作.我们想做的大多数事情都需要使用某种文件编辑.文本编辑器会方便文件的创建和修改.编辑一个文本文件是经常使用到的计算机操作.我们想做的大多数事情都需要使用某种文件 ...
- Vi 详细教程
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...
- vi简短教程
1.模式 命令行模式:光标的移动.内容删除移动复制操作 插入模式:文字输入,即编辑状态 底行模式:文件保存或退出vi,设置编辑环境 2.基本操作 vi myfile,输入vi 文件名,则进入vi. 3 ...
- Linux上vi(vim)编辑器使用教程
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...
- 【转】Linux上vi(vim)编辑器使用教程
Linux上vi(vim)编辑器使用教程 ------------------------------------------------------------ ikong ------------ ...
- 新手指南:Linux上vi(vim)编辑器使用教程
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...
- windows下gVim(Vi/vim)基本使用
Vim 是一个Linux 平台上功能非常强大的编辑器,他是早年的Vi 编辑器的加强版.这个gVim 是windows 版的,并且有了标准的windows 风格的图形界面,所以叫g(graphical) ...
- vim编辑器详解
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率. vi是“visual interface”的 ...
- 安装linux系统并配置那点事
安装完成后,将看到如下控制台: 输入以上安装信息中所填写的用户名(user),随后输入密码(user),即可登录 Ubuntu. 随时可使用 Ctrl + Alt 快捷键可离开虚拟机. 3 配置 Ub ...
随机推荐
- UVA 539 The Settlers of Catan dfs找最长链
题意:画边求最长链,边不能重复数点可以. 很水,用暴力的dfs即可,因为数据不大. 本来以为可以用floyd进行dp的,后来想想好像不能在有回路上的图跑...于是没去做. #include <c ...
- 引用web service时,出现无法识别的配置节点applicationSettings
ApplicationSetting 节点的内容: <applicationSettings> <MyWeb.Properties.Settings> <setting ...
- 基本STRUTS标签-学习笔记-Bean标签
<bean:include> 和标准的JSP标签<jsp:include>很相似,都可以用来包含其他Web资源的内容,区别在于<bean:include>标签把其它 ...
- Linux 命令 - uniq: 通知或忽略重复行
给定一个已排好序的文件,uniq 会删除重复行并将结果输出到标准输出中.uniq 通常与 sort 结合使用以删除 sort 输出内容中的重复行. 命令格式 uniq [OPTION]... [INP ...
- UML学习-总体概念篇
前言:我们在实施一个项目时,前期的设计是非常重要的,如建筑师在建造一个建筑时,需要事先设计图纸,设计图纸是设计的语言,是不同的工程设计人员.设计人员和生产人员之间进行沟通的语言,在一个现代化的工程里面 ...
- Unity Rigidbody 刚体中的Angular Drag和Freeze Position/Rotation
Rigidbody中 Angular Drag (角阻力):同样指的是空气阻力,只不过是用来阻碍物体旋转的.如果设置成无限的话,物体会立即停止旋转.如果设置成0,物体在上升过程中,会发生侧翻旋转. ...
- 每天一道LeetCode--326. Power of Three
Given an integer, write a function to determine if it is a power of three. Follow up:Could you do it ...
- vs转eclipse之工具快速上手篇
eclipse工具下载 首先说明,本篇内容适用于刚开始学java的同学,老手大牛等可以路过. 不得不说vs确实很强大,常用的都在安装包里集成了,几乎可以一键安装,直接使用,操作起来非常方便. ecli ...
- Linux系统下给VMWare安装Tools
1.进入Linux系统. 2.在VMware的窗口菜单中选VM >> install VMware Tools,虚拟机自动将VMware-tools装入虚拟光驱中. 3.在虚拟光驱里找出V ...
- des算法的C#实现
DES是Data Encryption Standard(数据加密标准)的缩写.它是一种通过56位密钥来加密64位数据的方法. public class EncryptUtility{ #reg ...