vi/vim 命令使用详解

1、Linux下创建文件

vi test.txt  或者 vim test.txt 或者 touch test.txt

2、vi/vim 使用

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)。

(1)命令模式

x,X                          x为向后删除一个字符,X为先前删除一个字符
nx(n代表数字)                 向后删除n个字符
dd                           删除当前行
D                            删除当前行所有字符,试成为空行
ndd(n代表数字)                删除光标所在行的向下n列
d1G                          删除光标所在行到第一行的所有数据
dG                           删除光标所在行到最后一行的所有数据
yy                           复制光标所在行
y1G                          复制光标所在行到第一行的所有数据
yG                           复制光标所在行到最后一行的所有数据
ynj(n代表数字)                复制光标所在行向下n+1行
dnj(n代表数字)                删除光标所在行向下n+1行
p,P                          p为复制的数据粘贴在光标的下一行,P为复制的数据粘贴在光标的上一行
J                            将光标所在行与下一行的数据结合成一行
u                            恢复前一个动作(undo)
h                            光标向左移一个字符
j                            光标向下移一个字符
k                            光标向上移一个字符
l                            光标向右移一个字符
Ctrl+f                       屏幕向下翻一页
Ctrl+b                       屏幕向上翻一页
Ctrl+d                       屏幕向下翻半页
Ctrl+u                       屏幕向上翻半页
+                            光标移动到下一行的第一个非空字符
-                            光标移动到当前行的第一个非空字符
n空格(n代表数字)               光标向当前行向右移动n个字符
0(数字0)                      光标移动到当前行的第一个字符(可以为空字符,注意与-区分)
$                            光标移动到当前行的最后一个字符(可以为空字符,注意与-区分)
H                            光标移动到当前屏幕最上方的那一行的第一个非空字符
M                            光标移动到当前屏幕最中间那一行的第一个非空字符
L                            光标移动到当前屏幕最下方的那一行的第一个非空字符
G                            光标移动到该文章最后一行的第一个非空字符
nG(n代表数字)                 光标移动到该文章第n行的第一个非空字符
n                            光标从当前行向下移动n行的第一个非空字符

(2)输入模式

i,I                          i为在当前光标所在处插入输入的文字,I为在光标所在行第一个非空字符插入输入的文字
a,A                          a为在当前光标所在处下一个字符插入输入的文字,A为在光标所在行最后一个字符的下一个字符处插入输入的文字
o,O                          o为在光标所在行的下一行行首开始插入字符,O为在光标所在行的上一行行首开始插入字符
r,R                          r为替换光标所在那一个字符,R为一直替换光标所指的文字,直到退出
Esc                          退出,回到命令模式

(3)底线命令模式

/word                        在光标之后查找word字符串
?word                        在光标之前查找word字符串
:s/word1/word2/g             在光标当前行查找word1,并替换成word2
:n1,n2s/word1/word2/g      在第n1行与第n2行之间查找word1,并替换成word2
:%s/word1/word2/g           整个文章查找word1,并替换成word2
:w                           将编辑的数据保存到硬盘文件中
:w [filename]                将编辑后的数据保存到硬盘的另一个文件中
:r [filename]                在编辑数据时,读入另一个文件中的数据,即将filename文件中的内容加到光标所在行下一行
:wq或:x                      保存并退出
:q                           退出,适用于未修改的文件
:q!                          强制退出,适用于修改文件后不保存退出
:set nu                      显示行号
:set nonu                    取消行号
:n1,n2 w [filename]          将n1到n2行的内容保存到名为filename的文件中

下面是vi/vim的工作模式图示:

vi/vim 键盘图:

原文地址:https://www.cnblogs.com/Jimc/p/10213914.html

时间: 01-03

vi/vim 命令使用详解的相关文章

Pip 命令使用详解

Pip 命令使用详解 2015-01-06 21:44 3033人阅读 评论(0) 收藏 举报  分类: debian(3)  redis(1)  python 1.pip下载安装1.1 pip下载 1 # wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate 1.2 pip安装 1

linux wget 命令用法详解(附实例说明)

Linux wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器.如果我们使用虚拟主机,处理这样的事务我们只能先从远程服务器下载到我们电脑磁盘,然后再用ftp工具上传到服务器.这样既浪费时间又浪费精力,那不没办法的事.而到了Linux VPS,它则可以直接下载到服务器而不用经过上传这一步.wget工具体积小但功能完善,它支持断点下载功能,同时支持FTP和HTTP下载方式,支持代理服务器和设置起来

linux nc命令使用详解(转)

linux nc命令使用详解 功能说明:功能强大的网络工具 语 法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...] 参 数: -g<网关> 设置路由器跃程通信网关,最丢哦可设置8个. -G<指向器数目> 设置来源路由指向器,其数值为4的

【转】 wget 命令用法详解

wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能和特点:(1)支持断点下传功能:这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了:(2)同时支持FTP和HTTP下载方式:尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件:(3)支持代理服务器:对安全强度很高的系统而言,一般不会将自己的系统直接暴

Mysql导入导出工具Mysqldump和Source命令用法详解

mysqldump -u 用户名 -p [--opt] DATABASENAME [Table] >导出SQL文件名 例子: mysqldump -h host -u user -p --opt databasename [table] > /home/user/databasename.sql 使用Mysqldump导出数据表结构 mysqldump -u root -p --no-data mysql user >D:\PHPWeb\sqlbackup\mysql_user.sql

mount命令使用详解

一.挂载(mount)初识 1.什么是挂载 将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录作为其它文件访问入口的行为. 2.常用的文件系统类型 光盘或光盘镜像:iso9660 DOS fat16文件系统:msdos Windows 9x fat32文件系统:vfat Windows NT ntfs文件系统:ntfs Mount Windows文件网络共享:smbfs UNIX(LINUX) 文件网络共享:nfs 3.挂载点 文件系统的入口,挂载点下原有文件在挂载完成后会被临

sed命令应用详解

sed应用详解 sed是文本处理处理工具"三大剑客"之一,它 是一种流编辑器,sed一次只处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.sed不会修改原文件内容,除非你使用重定向存储输出.sed主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等. 用法:sed [OPTION]

linux下find(文件查找)命令的详解

文件查找命令locate和find详解 locate 配合数据库缓存,快速查看文件位置,非实时查找( 数据库查找) find 实际搜寻硬盘查询文件名称 ,实时查找 locate简介 locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息.Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件.为了避免这种情况,可以在

Linux操作系统基础知识vi/vim命令

之前介绍了nano编辑器,vi/vim在功能上更加强大,所以一般都使用vi/vim编辑器编写脚本.vim在vi基础上添加了更加友好的编辑界面,也更容易发现错误. 也可以称为模式化编辑器:编辑模式(命令模式).末行模式.插入模式(输入模式).替换模式.可视化模式,通过良好的结合各种模式进行脚本编辑. 一.vi/vim的打开方式: vi/vim:打开vi/vim的界面: vim file:file存在,则打开并将光标默认放置在第一行第一个字符: file不存在,则以新文件的方式打开,若保存,则文件被

PING命令入门详解(转载)

本文转自http://www.linkwan.com/gb/tech/htm/928.htm 1.Ping的基础知识 ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下. Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping 是一个十分好用的TCP/IP工具.它主要的功能是用来检测网络的连通情况和分析网络速度. Ping有好