vi、vim快捷键

| 分类 accelerators  | 标签 vi  vim  浏览次数: -

vi 编辑器

语法

vi(选项)(参数) 选项

+<行号>:从指定行号的行开始先是文本内容;
-b:以二进制模式打开文件,用于编辑二进制文件和可执行文件;
-c<指令>:在完成对第一个文件编辑任务后,执行给出的指令;
-d:以diff模式打开文件,当多个文件编辑时,显示文件差异部分;
-l:使用lisp模式,打开“lisp”和“showmatch”;
-m:取消写文件功能,重设“write”选项;
-M:关闭修改功能; -n:不实用缓存功能;
-o<文件数目>:指定同时打开指定数目的文件;
-R:以只读方式打开文件;
-s:安静模式,不现实指令的任何错误信息。

参数

文件列表:指定要编辑的文件列表。多个文件之间使用空格分隔开。
知识扩展
vi编辑器有三种工作方式:命令方式、输入方式和ex转义方式。通过相应的命令或操作,在这三种工作方式之间可以进行转换。

移动光标的方法

参数 描述
h 或者 ← 光标向左移动一个字符
l 或者 → 光标向右移动一个字符
j 或者 ↓ 光标向下移动一个字符
k 或者 ↑ 光标向上移动一个字符

如果想进行多次移动的话,例如向下移动30行,可以使用“30j”或“30↓”的组合按键,即即加上想要进行的次数(数字)后,按下操作即可

参数 描述
【ctrl】+ f 屏幕向下移动一页,相当于【Page Down】按键(常用)
【ctrl】+ b 屏幕向上移动一页,相当于【Page Up】按键(常用)
【ctrl】+ d 屏幕向下移动半页
【ctrl】+ u 屏幕向上移动半页
+ 光标移动到非空格符的下一行
- 光标移动到非空格符的上一行
n【space】 n:表示数字,按下数字后再按空格键,光标会向右移动这一行的n个字符
0 或 功能键【home】 移动到这一行的最前面字符处(常用)
$ 或 功能键【End】 移动到这一行的最后面字符处 (常用)
H 光标移动到这个屏幕的最上方那一行的第一个字符
M 光标移动到这个屏幕的中央那一行的第一个字符
L 光标移动到这个屏幕的最下方那一行的第一个字符
G 移动到这个文件的最后一行
nG n:表示数字。移动到这个文件的第n行
gg 移动到这个文件的第一行,相当于1G
n【Enter】 n:表示数字。光标向下移动 n 行

查找与替换

参数 描述
/word 向下查找一个名称为word的字符串
?word 向上查找一个名称为word的字符串
n n:是英文按键。代表重复前一个查找的操作
N N:是英文按键。与 n 相反。为 “反向”进行前一个查找操作
:n1,n2s/word1/word2/g n1 与 n2 :表示数字。在第n1 和 n2行之间查找word1这个字符串,并将该字符串替换为 word2
:1,$s/word1/word2/g 从第一行到最后一行查找word1字符串,并将该字符串替换为word2
:1,$s/word1/word2/gc 从第一行到最后一行查找word1字符串,并将该字符串替换为word2。且在替换前显示提示符给用户确认(confirm) 是否需要替换

删除、复制、粘贴

参数 描述
x,X 在一行中,x为向后删除一个字符(相当于【del】按键),X为向前删除一个字符(相当于【Backspace】)
nx n:表示数字,连续向后删除 n 个字符
dd 删除光标所在的那一整行
ndd n:表示数字。删除光标所在的向下 n 行
d1G 删除光标所在到第一行的所有数据
dG 删除从光标所在到最后一行的所有数据
d$ 删除从光标所在到该行的最后一个字符
d0 数字0,删除从光标所在到该行的最前面一个字符
yy 复制光标所在的那一行
nyy n:表示数字,复制光标所在的向下 n 行
y1G 复制光标所在行到第一行的所有数据
yG 复制光标所在行到最后以后的所有数据
y0 复制光标所在的那个字符到该行行首的所有数据
y$ 复制光标所在的那个字符该行行尾的所有数据
p,P p为将已复制的数据在光标下一行粘贴,P则粘贴在光标上一行
J 将光标所在行与下一行的数据合并成同一行
c 重复删除多个数据,例如向下删除10行,[10cj]
u 复原前一个操作
【ctrl】+ r 重做上一个操作
. 重复前一个操作

进入插入或替换的编辑模式

参数 描述
i,I 进入插入模式(Insert mode):
i:从目前光标所在处插入。I:从目前所在行的第一个非空格符处开始插入
a,A 进入插入模式(Insert mode):
a:从目前光标的下一个字符开始插入。A:从光标所在行的最后一个字符处开始插入
o,O 进入插入模式(Insert mode):
o:在目前光标所在的下一行处插入新的一行。O:在目前光标所在处的上一行插入新的一行
r,R 进入替换模式(Replace mode):
r:只会替换光标所在的那一个字符一次。R:会一直替换光标所在的文字,直到按下【Esc】键为止
【Esc】 退出编辑模式,回到一般模式中

命令行的保存、离开等命令

参数 描述
:w 将编辑的数据写入硬盘文件中
:w! 强制写入该文件。到底能不能写入,跟对该文件的文件权限有关
:q 离开vi
:q! 若曾修改过文件,又不想存储,“!”强制离开不保存文件
:wq 保存后离开
ZZ 若文件没有更懂,则不保存离开,若文件已经被更动过,则保存后离开
:w[filename] 将编辑的数据保存成另一个文件(类似于另存文件)
:r[filename] 在编辑的数据中,读入另一个文件的数据,即将“filename”这个文件的内容加到光标所在行后面
:n1,n2 w [filename] 将 n1 到 n2的内容保存成 filename这个文件
:! command 暂时离开vi 到命令行模式下执行 command 的显示结果

vim 环境的更改

参数 描述
:set nu 显示行号
:set nonu 取消行号

块选择的按键的意义

参数 描述
v 字符选择,会将光标经过的地方反白选择
V 行选择,会将光标经过的行反白选择
【ctrl】+v 块选择,可以用长方形的方式选择数据
y 将反白的地方复制起来
d 将反白的地方删除

多文件编辑的按键

参数 描述
:n 编辑下一个文件
:N 编辑上一个文件
:files 列出目前这个vim的打卡的所有文件

多窗口情况下的按键功能

参数 描述
:sp [filename] 打开一个新窗口,如果有filename,表示在新窗口打卡一个新文件。没有则表示两个窗口打开同一个文件内容
:vsp [filename] 竖屏打开
【ctrl】+w + j
【ctrl】+w + ↓
光标移动到下面的窗口
【ctrl】+w + k
【ctrl】+w + ↑
光标移动到上面的窗口
【ctrl】+w +q 结束离开

vim环境设置与记录

参数 描述
:set all 显示目前所有的环境参数设置值
:syntax on
:syntax off
表示是否依据程序相关语法显示不同颜色

上一篇 linux快捷键     下一篇 pycharm快捷键
目录导航