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 ...
随机推荐
- [Oracle EBS APIs]import Flow routing and DJ routing using BOM_RTG_PUB.PROCESS_RTG APIs
DJ routing --BOM模块的工艺路线 Flow routing -- Flow Manufacturing 模块使用的工艺路线,导入 Flow routing时先导入Line Operati ...
- Oracle导入SQL脚本执行 scott 用户下的表删除了
执行 .sql 文件时,应在 sqlplus 或 cmd 中执行,速度比plsql 中的command window 中书许多, scott 用户下的表删除了 可以执行如下 @D:\app\Admi ...
- Tomcat - JNDI 配置
1. Create Your JavaBean Class Create the JavaBean class which will be instantiated each time that th ...
- React Native之ViewPagerAndroid跳转页面问题
前言: 网上目前react-native的教程较少,加上许多帖子还是用的ES5(2015年6月已发布ES6标准),有些细节很难找到答案,这里把遇到的问题做一个分享,让学习者尽量少踩坑. 出现问题: 1 ...
- response小结(四)
1.发送http头,控制浏览器定时刷新网页(REFRESH). package com.yyz.response; import java.io.IOException; import javax.s ...
- Android重力感应开发
http://blog.csdn.net/mad1989/article/details/20848181 一.手机中常用的传感器 在Android2.3 gingerbread系统中,google提 ...
- OC3_dealloc
// // Dog.h // OC3_dealloc // // Created by zhangxueming on 15/6/18. // Copyright (c) 2015年 zhangxue ...
- java集合 collection-list-ArrayList 去除ArrayList集合中的重复元素。
import java.util.*; /* 去除ArrayList集合中的重复元素. */ class ArrayListTest { public static void sop(Object o ...
- 坑爹系列:sizeof运算符
C语言里的sizeof关键字用于返回变量的类型宽度(变量所占的字节个数).例如: #include <stdio.h> int main() { int i = 0; int size = ...
- C/C++输入输出总结
*string类: 1.cin>>string时,遇到'\n'或者空格即停止,并且'\n'或空格仍留在输入里,即只读了一个单词或什么都没读,但string类自己处理好了空字符什么的.下一 ...