Vim常用操作
Vim工作模式
操作
vi filename
:进入Vim命令模式i a o
:进入插入模式ESC
:退出插入模式返回命令模式
插入命令 | 作用 |
---|---|
a | 光标所在字符后插入 |
A | 光标所在行尾插入 |
i | 光标所在字符前插入 |
I | 光标所在行行首插入 |
o | 光标下插入新行 |
O | 光标上插入新行 |
h j k l 对应 左 下 上 右移动光标
插入、显示:
:set number
:显示行号:set nu
:显示行号的简写gg
: 到第一行G
: 到最后一行nG
: 到第n行:n
: 到第n行$
:到行尾0
:到行首r
: 替换字符R
: 从光标处开始替换 ESC结束
删除:
x
: 删除光标所在处字符dd
: 删除光标所在行D
: 删除光标所在处到行尾内容dG
: 删除光标所在行到文件末尾内容:1,99d
:删除1-99行
复制、剪切:
yy
: 复制当前行nyy
: 复制当前行以下n行dd
: 剪切当前行ndd
: 剪切当前行以下n行p、P
: 粘贴再行下或上
搜索和搜索替换:
/
: 搜索事指定字符串,忽略大小写::set ic
n
: 搜索指定字符串的下一个出现位置:%s/old/new/g
: 全文替换指定字符串:%s/old/new/c
: 需要确认的全文替换指定字符串:n1,n2s/old/new/g
: 替换指定范围内的字符串
保存退出:
ZZ
: 保存并退出:w
: 保存文件:w newfile
: 另存为:wq
: 先保存文件,再退出vim:wq!
: 强行保存退出(root用):q!
:放弃修改,退出vim
撤回:
u
: 撤回
使用技巧
插入一些数据
:r [目录]
: 将目标文件内容导入到光标位置! [Linux命令]
: 在不退出Vim模式的状态下执行Linux命令:r ![Linux命令]
: 将命令返回的结果直接输入到文本中
定义快捷键
格式
**:map <快捷键> <进行的操作>**进行的操作>快捷键>
定义快捷键的时候是用 Ctrl + v + key
按出来,会有高亮
使用快捷键为 Ctrl + key
:map ^P I#<ESC>
看到这我就明白前面那么多操作到底有什么用了,因为可以映射一些快捷键,进行高效操作
定义快捷转换
类似于全局变量
:ab mymail hiki@hiki.com
这时候在编辑模式中输入mymail然后空格会自动转成 hiki@hiki.com
这些设置都是临时的,需要写到文件中才能永久生效:
普通用户在 /home/用户名/.vimrc
root用户在 /root/.vimrc
如果没有则使用 vi 生成文件
在文件中设置快捷键等不需要再加 ':'
set nu
map ^P I#<ESC>
ab mymail hiki@hiki.com
github: https://github.com/Hikiy
作者:Hiki
创建日期:2019.09.17
更新日期:2019.09.17
(转载本站文章请注明作者和出处 Hiki)