vim 是从vi发展来的一个文本编辑器以强大的功能,让广大程序员兄弟喜爱
vim 编辑器有6种基本模式,和5种派生模式
vim编辑器基本模式:
1.普通模式
vim 启动后默认的模式,我们日常编辑文档基本都在这个模式下。我看可以用h,j,k,l,上下左右移动光标,dd删除当前行或者8dd删除8行,可以按i,或者insert 插入,
2.插入模式
在普通模式下,按i键今日插入模式,也可以按Esc键返回普通模式
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
-- INSERT -- #这里表示是插入模式
3.可视模式
我们在普通模式下按住Ctrl建加v键,就可以进入可视模式,在可视模式下dd可以删除选择的数据,例如:
/nologin
sbin/nologin
ync
n:/sbin/shutdown
halt
mail:/sbin/nologin
ot:/sbin/nologin
mes:/sbin/nologin
p:/sbin/nologin
n/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
-- VISUAL BLOCK -- #可视模式
4.选择模式
普通模式下按gh键进入选择模式,
n/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
www:x:1000:1000::/home/www:/sbin/nologin
mdssdssql:x:1001:1001::/home/mysql:/sbin/nologin
-- SELECT -- #选择模式
5.命令行模式
命令模式在普通模式下按:键进入命令模式
n/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
www:x:1000:1000::/home/www:/sbin/nologin
mdssdssql:x:1001:1001::/home/mysql:/sbin/nologin
: #命令模式
6.Ex模式
这和命令行模式比较相似,在使用”:visual”命令离开 Ex 模式前,可以一次执行多条命令。
vim 编辑器派生模式:
1.操作符等待模式 /strong>
这个模式是在插入模式下按下 ctrl+o 键的时候进入。这个时候暂时进入普通模式,执行完一个命令之后,Vim 返回插入模式
2.插入普通模式
这个模式是在插入模式下按下 ctrl+o 键并且开始一个可视选择的时候开始。在可视区域选择取消的时候,Vim 返回插入模式。
3.插入可视模式
4.插入选择模式
通常这个模式由插入模式下鼠标拖拽或者 shift 方向键来进入。当选择区域取消的时候,Vim返回插入模式。
5.替换模式
这是一个特殊的插入模式,在这个模式中可以做和插入模式一样的操作,但是每个输入的字符都会覆盖文本缓冲中已经存在的字符。在普通模式下按”R”键进入。
vim 常用命令:
i —— 插入模式,这个模式让你你可以像记事本一样的输入文本,如果已经输入完了,按ESC返回Normal模式。
x —— 删除当前光标所在处的字符
:w —— 存盘
:q —— 退出,你可以使用 :wq来同时进行这两个操作
dd —— 剪切当前行
p —— 粘贴
hjkl —— 效果等同于←↓↑→,用于移动光标
:help —— 显示相关命令的帮助
除了i之外,还有别的插入模式可以选择
a —— 在光标后插入
o —— 在当前行后插入新行
O —— 在当前行前插入新行
一些快速移动光标的指令
0 —— 数字零,到行头
^ —— 到本行第一个不是空字符的位置
$ —— 到行尾
g_ —— 到行尾最后一个不是空字符的位置
/pa —— 搜索 pa 这个字符串,按n查找下一个
关于文件的指令
:e <path/to/file> —— 打开一个文件
:saveas <path/to/file> —— 另存为
:q! —— 不保存退出 :qa!可以退出所有编辑中的文件
:bn :bp ——当你打开了很多文件,用这个切换到下一个/上一个
其他的指令
u —— 撤销
ctrl+r —— 重做
学习技巧型命令
Vim重复自己的方法
. —— 小数点,重复上次命令
N —— 重复一个命令N次
下面是一个特殊的例子
100imeow[ESC] —— 写下100个“meow”
. —— 重复上一个命令 也就是再写100个“meow”
- —— 重复3次命令 写下3个(而不是300个)“meow”
进阶级移动光标的命令
NG —— 移动到第N行 ,:N也可以
gg —— 到第一行
g —— 到最后一行
w —— 到下一个单词开头
e —— 到下一个单词结尾
% —— 当光标在括号上时,可以移动到与之对应的另一个括号
*和# —— 移动到下一个/上一个光标所在的单词上
实际上这些命令都可以组合输入,格式为: 举个简单的例子
0y$ —— 0和 $ 是位置,y是指令,这个指令的意思就是从行头拷贝到本行最后一个字符。
除了 y,还有不少命令可以这么做,比如
d —— 删除
gU/gu —— 变为大写/小写
v ——可视化选择