VI编辑器的使用笔记
来源:互联网 发布:错误1920服务数据库 编辑:程序博客网 时间:2024/05/17 22:30
一、简介
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。以下整理一下vi的常用命令:包含vi的基本介绍、使用模式、文件的打开关闭保存、插入文本或新建行、移动光标、删除、恢复字符或行、搜索等等。
官网地址:www.vim.org
官方教材:vimbook
二、使用
vim的工作模式
从图片中,我们可以看到vi有三种模式
命令模式:该模式就是可以通过一些命令来达到事半功倍的效果,比如输入dd可以删除一行。
当直接vi 一个文件的时候默认进入命令模式
从插入模式回到命令模式是按下ESC键,编辑模式直接回车
插入模式:在该模式下就是可插入和编写内容
进入到vi后,直接按下字母i a o的大写或者小写即可进入插入模式。按ESC回到命令模式
编辑模式:该模式就是在底行下面编辑,通常是 :命令 ,比如:wq 保存并退出
命令模式进入编辑模式直接按下冒号:即可
插入模式进入编辑模式需要先按ESC回到命令模式,然后按下冒号:即可进入编辑模式
下面开始使用vim
使用的时候注意大小写的问题
阅读以下内容时注意:
1、注意冒号
2、注意大小写
3、注意是在哪种模式下(熟悉后不用注意就知道了)
插入(命令模式)
a
在当前光标后插入文本
A
在本行行尾插入文本
i
在光标前插入文本
I
在本行行首插入文本
o
在光标下插入新行
O
在光标上插入新行
h
左移一个字符
j
下移一个字符
k
下移一个字符
I
右移一个字符
$
移动至当前行的行尾
0
移动至当前行的行首(数字零)
H
移动屏幕上端
M
移动至屏幕中央
L
移动屏幕下端
Gg
到整个文件的第一行
G
到整个文件的最后一行
nG
到第n行,例如5G 到整个文件的第5行
:n
到第n行
删除(命令模式)x
删除光标所在处字符
nx
删除光标所在处n个字符
dd
删除光标所在行
ndd
删除n行,例如:5dd 删除5行
dG
删除光标所在处到末尾的内容
D
删除从光标所在处到行尾
:n1,n2d
删除指定范围的行,表示删除从n1行开始至n2行。例如:8,20d 表示删除从第8行至第20行的内容
复制和粘贴(命令模式)
yy,Y
复制当前行
nyy,nY
复制当前行以下的n行
dd
剪切当前行(先删除再粘贴)
ndd
剪切当前行以下n行
p
将内容粘贴在当前光标所在行的下一行(小写)
P
将内容粘贴在当前光标所在行的上一行(大写)
D
删除从光标所在处到当前行的行尾
:n1,n2d
删除指定范围的行,表示删除从n1行开始至n2行。例如:8,20d 表示删除从第8行至第20行的内容
替换和取消(命令模式)
r
替换光标所在处的字符
R
从光标所在处开始替换字符,按ESC结束。
例如:this is a test document
假如当前光标在a处,你在命令模式下输入了R。则你开始输入的内容都会把a test document给替换掉
u
取消上一步操作
搜索和替换(命令模式、编辑模式)
/string
/表示从文档从前往后查找string
当按n的时候就会跳转到字符在一个出现的地方,当按N的时候,会向上跳转到上次出现的地方
开启搜索时忽略大小写 :set ic
关闭搜索时忽略大小写 :set noic
n
从前往后查询字符出现的位置
N
从后往前查找字符出现的位置
:%s/old/new/g
全文替换指定字符串,old表示要替换的字符。new表示要替换成的字符
例如,将文档中所有123字符替换为789
:%s/123/789/g
:n1,n2s/old/new/g
在一定范围内替换指定字符串,跟全文类似。只不过在一定范围。n1和n2表示在某一定行内。
例如:将第10行至12行中的789替换成007字符
:10,12s/789/007/g
也可以把:10,12s/789/007/g后面的g改为c字符(:10,12s/789/007/c),会出现确认信息提示你是否要替换(类似Windows中的:你确定要删除吗?)
replace with 007 (y/n/a/q/l/^E/^Y)?
y:替换
n:不替换
a:替换所有
q:取消替换
保存和退出(编辑模式)
:w
只保存不退出
:w a.txt
保存至a.txt文件(另存为)
:q
退出不保存
:q!
强制退出不保存
:wq
退出并保存
:wq!
强行退出并保存(只针对于文件的所有者或者root才能这样做)
ZZ
退出并保存(大写ZZ等同于:wq)
其他技巧
导入文件
:r 文件名
例1:将hello文件的内容导入到当前光标所在处
:r hello
导入命令执行结果
:r !命令
例2:将系统当前时间导入到当前光标所在处
:r !date
在vi中执行命令
:! 命令
例如:正在vi编辑某个文件的时候,想查看/root/test目录下有哪些内容,可以执行如下命令
:! ls /root/test
此时屏幕将会出现test目录中的内容,会提示你按任意键回到vi编辑中
Press ENTER or type command to continue
定义快捷键
:map 快捷键 触发命令
例1:不管光标在当前行的任意位置,当按下ctrl+b的时候。将行首的#注释给删除掉。
命令如下
:map ^b 0x
例2:不管光标在当前行的任意位置,当按下ctr+p的时候。给行首添加#注释
:map ^P I#<ESC>
注意:(^表示是ctrl键)^b是通过ctrl+v+b或者ctrl+v ctrl+b给按出来的。如果是通过ctrl按出来的^的话,显示的是这样
^p是绿色的
取消快捷键
:unmap 快捷键
例如:取消ctrl+b的快捷键
:unmap ^b
连续行注释
:n1,n2s/^/#/g
:n1,n2s/^/#//g
:n1,n2s/^/\/\//g
例1:在5到10行行首添加#
命令如下
:5,10s/^/#/g
^表示回到行首
例2:取消5到10行行首的#
:5,10s/^#//g
例3:在5到10行行首添加//
:5,10s/^/\/\//g
其中\表示转义字符,\/\/不是字母W而是\和/
替换
:ab abc abc@163.com
表示当你输入abc的时候,会自动转换为abc@163.com
例1:如果你在vi中经常输入一串字符,而又不想定义快捷键。可以使用ab的方式。假如,你经常输入abc@163.com。则可以像下面这样
:ab abc@163.com
这条命令会在你在vi中输入abc时,回车或者空格时,abc字符将会变成abc@163.com
三、配置Vi
vi的配置文件在每个用户的home目录下的.vimrc文件
没有这个文件的话,可以新建一个,注意权限问题
例如vi /root/.vimrc文件,输入如下内容
syntax on
set nu
set autoindent
set ic:map ^b 0x
:map ^P I#<ESC>
等等,具体根据你自己的需要配置。
至此,vi的常用命令总结完成。如有问题欢迎留言。
- VI编辑器的使用笔记
- Linux编辑器vi的使用笔记
- VI 编辑器的使用
- vi编辑器的使用
- Vi编辑器的使用
- Vi编辑器的使用
- vi 编辑器的使用
- vi编辑器的使用
- VI编辑器的使用
- VI编辑器的使用
- VI 编辑器的使用
- Vi编辑器的使用
- VI编辑器的使用
- vi编辑器的使用
- Vi编辑器的使用
- vi编辑器的使用
- VI编辑器的使用
- vi 编辑器的使用
- CyclicBarrier介绍
- 【OpenCV】视频读入、播放控制和写入
- hibernate.connection.url和sqljdbc.jar
- TCP/IP详解学习笔记(1)-基本概念
- 汽水瓶
- VI编辑器的使用笔记
- android service 生命周期
- java 继承中的重写父类方法
- appium for windows 环境搭建
- 果博东方开户13168666633
- A+B(字符串a+b问题)
- 二叉树 数据结构
- 果博东方代理开户13168666633
- log4j之个人浅析