vi 共分为三种模式,分别是【一般指令模式】、【编辑模式】、【指令列命令模式】
一般指令模式(command mode)
以 vi 打开一个文件就直接进入一般指令模式了。
在一般指令模式中,可以使用 上下左右 键来移动光标,可以使用 删除字符 或 删除整列 来处理文件内容,可以 复制、粘贴 来处理文件内容。
编辑模式(insert mode)
等按下 i I o O a A r R 等任何一个字母之后才会进入编辑模式。
在按下这些按键时,窗口左下方会出现 INSERT 或 REPLACE 的字样,表示进入编辑模式。
按 Esc 按键可以退出编辑模式。
指令列命令模式(command-line mode)
在一般模式当中,输入 : / ? 三个中的任何一个后,就可以将光标移动到窗体最下面一行,表示进入命令模式。
在命令模式中,可以完成 读取、保存、离开、显示行号 等操作。
注意:编辑模式 与 命令模式 之间不能直接切换,需要先切换到一般指令模式。
直接输入 /bin/vi XXX 就能够进入 vi 的一般指令模式
按 i 可以进入编辑模式
按 Esc 回到一般指令模式
:wq 保存并退出(以 :开头)
:wq! 强制保存并退出(以 !结尾)
h 左 j 下 k 上 l 右 这四个字母 和 方向键 可以移动光标位置
向下 30列 可以使用 30j 或 30下 的组合键
Ctrl + f 向下一页
Ctrl + b 向上一页
Ctrl + d 向下半页
Ctrl + u 向上半页
+ 移动到非空格符的下一列
– 移动到非空格符的上一列
n空格 n表示数字,光标会向右移动 n个字符的距离
0 或 Home (数字0) 会移动到这一列的最前面字符
$ 或 End 会移动到这一列的最后面字符
H 移动到屏幕最上方那一列的第一个字符
M 移动到屏幕中央那一列的第一个字符
L 移动到屏幕最下方那一列的第一个字符
G 移动到这个文件的最后一列
nG 移动到这个文件的第 n 列,n 为数字
gg 移动到这个文件的第一列,相当于 1g
n回车 光标向下移动 n 列,n 为数字
接下来截图示意:
在使用 vim 编辑一个文件时, vim 会在被编辑的文件的目录下,再建立一个名为 .filename.swp 的文件,它可以作为恢复文件使用。
如果打开文件时,vim 发现了 名为 .filename.swp 的文件,会弹出一个提示,在提示里有六个选项,说明如下:
O Open Read-Only 只读模式
E Edit anyway 正常读写模式,可能发生多人对同一文件同时写入的情况
R Recover 读取恢复文件内容
D Delete it 删除这个恢复文件
Q Quit 离开 vim 回到命令提示符界面
A Abort 忽略这个编辑行为,与 Quit 一样,会回到命令提示符界面
如果在编辑界面的右下角,能显示光标所在的行列号码,那就表示系统的 vi 被 vim 替代了,可以输入 alias 查看
vi 与 vim 的用法是一样的,vim 只是多了颜色提示、行列位置
如果要使用区块编辑模式,先把光标移到区块的左上角,按 v 后左下角会出现 VISUAL BLOCK 字样,将光标移动时,光标移过的区域就会反白
然后按 y 可以复制区块, d 可以删除区块, p 可以粘贴区块。
vim 可以同时编辑多个文件,当需要把文件一中的内容复制到文件二时会特别有用
举例如下:
补齐操作与文件扩展名相关
在 vim 的操作都会记录到 ~/.vimrc ~/.viminfo 文件中来,这样一来,选中的文字在下次打开文件时,仍是选中状态。
这个文件如果不存在,可以手动建立 vim ~/.vimrc
整体 vim 的设定值一般是放在 /etc/vimrc 这个文件,不建议修改这个文件
原创文章,作者:,如若转载,请注明出处:https://blog.ytso.com/275347.html