vim的三种模式
一、命令模式(不能作任何操作)
(1)设定vim的工作方式
1.在vim程序中:set 调整参数(临时)
示例:
:set nu ## 显示行号
:set nonu ##取消行号
:set cursorline ##设定显示行线
:set mouse=a ##设定鼠标可用
:help 查看帮助 (:q退出)
2.永久设置vim工作方式
在vim程序中设定的vim工作方式是临时的,在vim关闭后会还原,
如果要永久保存vim的工作方式需要编辑vim配置文件: /etc/vimrc
[root@localhost Desktop]# vim /etc/vimrc
在文件最后写入
set nu ##行号
set nonu ##取消行号(set nu与set nonu 可同时出现)
set cursorline
set mouse=a等,并退出保存,设定永久成功。
(2)字符搜索
/关键字
n向下匹配
N向上匹配
(3)字符管理
p | 粘贴 |
2p | 粘贴2次(np复制n次,n为整数) |
u | 撤销 |
ctrl+r | 恢复撤销 |
y
yl | 复制字母 (p 粘贴) |
y3l | 复制3个字母 |
yw | 复制一个单词 |
y3w | 复制3个单词 |
yy | 复制一行 |
y3y | 复制3行 |
d
dl | 删除一个字母 |
d3l | 删除3个字母 |
dw | 删除一个单词 |
d2w | 删除2个单词 |
dd | 删除一行 |
d2d | 删除2行 |
d$ | 从光标位置开始删除,删除到行末 |
dG | 从光标所在行开始到最后一行全部删除 |
:%d | 删除文件中的全部内容 |
删除操作前:
删除操作后:
c
cl | 剪切一个字母 |
c3l | 剪切3个字母 |
cw | 剪切一个单词 |
c3w | 剪切3个单词 |
cc | 剪切1行 |
c3c | 剪切3行 |
“注意:在剪切之后vim会进入插入模式,如果要粘贴需要按【esc】退出插入模式然后按p粘贴”
(4)可视化模式
ctrl+v ##在这个模式下可以选择区域操作
ctrl+v 选中 操作
示例:删除前5行的world
批量添加字符:
ctrl+v 选中要加入字符所在的列---->按大写的 I ---->加入字符---->按【esc】---->批量添加字符成功
(5)字符替换
:%s/要替换的字符/替换成的字符/g
:%s/123/fairy/g ##替换全文的123为fairy
:1,3s/hello/sue/g ##替换1-3行的hello为sue
例1:替换全文的123为fairy
例2:替换1-3行的hello为sue
注意:%s表示所有行
g表示所有列, 如果没有g,只替换每行第一次出现的关键字
(6)vim的分屏功能(光标在哪,操作的就是哪个文件)
1.对于同一个文件:
ctrl+w s ##上下分屏
ctrl+w v ##左右分屏
ctrl+w c ##关闭光标所在屏幕
ctrl+w 上下左右 ##光标移动到指定屏幕
例:
2.对于不同的文件:
:sp hello ##同时编辑file和hello
(7)在命令模式下光标的移动
gg ##光标移动到文件的第一行
G ##光标移动到文件的最后
:数字 ##光标移动到指定的行
二、插入模式:
(1)插入模式下光标的移动
i | 光标所在位置插入 |
I | 光标所在行行首插入 |
a | 光标所在字符的下一个字符插入 |
A | 光标所在行的行尾插入 |
o | 光标所在行的下一行插入 |
O | 光标所在行的上一行插入 |
s | 光标所在的字符删除并插入 |
S | 光标所在行删除并插入 |
例1:在光标行尾插入
例2:在光标下一行插入
例3:删除光标所在字符并插入
三、退出模式
:q | 退出,在文件内容没有被改变时使用 |
:wq | 退出保存 |
:q! | 强制退出不保存,在改变文件后不想保存时使用 |
:wq! | 强制退出保存,在对只读文件编写时使用 注意:所编辑的只读文件必须是当前用户的文件或者当前操作的用户是root. |
四、vim三种模式相互切换
命令模式→插入模式 按【i】
插入模式→命令模式 按【Esc】
命令模式→退出模式 按【:】