提高编辑效率的工具vim
vi/vim命令的参数选项及说明
|
表7-22命令 |
说明 |
|
普通模式:移动光标的操作 |
|
|
G或(shift+g) |
将光标移动到文件的最后一行 |
|
gg |
将光标移动到文件的第一行,等价于1gg或1G |
|
0 |
数字0,将光标从所在位置移动到当前行的开头 |
|
$ |
从光标所在位置将光标移动到当前行的结尾 |
|
n<Enter> |
n为数字,<Enter>为回车键,将光标从当前位置向下移动n行。 |
|
ngg |
n为数字,移动到文件的第n行,如11gg可移动到第11行,可配合“:set nu”查看,同nG |
|
H |
光标移动到当前窗口最上方的那一行 |
|
M |
光标移动到当前窗口中间的那一行 |
|
L |
光标移动到当前窗口最下方的那一行 |
|
h或(←) |
光标向左移动一个字符 |
|
j或(↓) |
光标向下移动一个字符 |
|
k或(↑) |
光标向上移动一个字符 |
|
l或(→) |
光标向右移动一个字符 |
|
普通模式:搜索与替换操作 |
|
|
/oldboy |
从光标位置开始,向下寻找名为oldboy的字符串 |
|
?oldboy |
从光标位置开始,向上寻找名为oldboy的字符串 |
|
n |
从光标位置开始,向下重复前一个搜索的的动作 |
|
N |
从光标位置开始,向上重复前一个搜索的的动作 |
|
:g/A/s//B/g |
把符合A的内容全部替换为B,斜线为分隔符,可以用@、#等替代 |
|
:%s/A/B/g |
把符合A的内容全部替换为B,斜线为分隔符,可以用@、#等替代 |
|
:n1,n2s/A/B/gc |
n1、n2为数字,在第n1行和n2行间寻找A,用B替换 |
|
普通模式:复制、粘贴、删除等操作 |
|
|
yy |
复制光标所在的当前行 |
|
nyy |
n为数字,复制光标开始向下共n行 |
|
p/P |
p将已复制的数据粘贴到光标的下一行,P则为粘贴到光标的上一行 |
|
dd |
删除光标所在的当前行 |
|
ndd |
n为数字,删除从光标开始向下共n行 |
|
u |
恢复(回滚)前一个执行过操作 |
|
. |
点号。重复前一个执行过的动作 |
|
x |
向后删除字符 |
|
X |
向前删除字符 |
|
d1G |
删除当前行至第一行 |
|
dG |
删除当前行至最后一行 |
|
d0 |
删除当前光标文本至行首 |
|
d$ |
删除当前光标文本至行尾 |
|
进入编辑模式命令 |
|
|
i |
在当前光标所在处插入文字 |
|
a |
在当前光标所在下一个字符处插入文字 |
|
I |
在当前所在行的行首第一个非空格符处开始插入文字,和A相反 |
|
A |
在当前所在行的行尾最后一个字符处开始插入文字,和I相反 |
|
O |
在当前所在行的上一行处插入新的一行 |
|
o |
在当前所在行的下一行处插入新的一行 |
|
Esc |
退出编辑模式,回到命令模式中 |
|
命令行模式 |
|
|
:wq |
退出并保存 |
|
:wq! |
退出并强制保存,“!”为强制的意思 |
|
:q! |
强制退出,不保存 |
|
:n1,n2 w filename |
n1、n2为数字,将n1行到n2行的内容保存成filename这个文件 |
|
:n1,n2 co n3 |
n1、n2为数字,将n1行到n2行的内容拷贝到n3位置下 |
|
:n1,n2 m n3 |
n1、n2为数字,将n1行到n2行的内容挪至n3位置下 |
|
:!command |
暂时离开vi到命令行模式下执行command的显示结果!例如 :! ls /etc |
|
:set nu |
显示行号 |
|
:set nonu |
与set nu相反,取消行号 |
|
:vs filename |
垂直分屏显示,同时显示当前文件和filename对应文件的内容 |
|
:sp filename |
水平分屏显示,同时显示当前文件和filename对应文件的内容 |
|
I + # + Esc |
在可视块模式下(Ctrl + v), 一次性注释所选的多行,取消注释可用:n1,n2s/#/ /gc[t1] ,这里操作是一个通用的方法,#号可以换成别的操作,例如tab键,这样就是批量缩进 |
|
Del |
在可视块模式下(Ctrl + v),一次性删除所选内容 |
|
r |
在可视块模式下(Ctrl + v),一次性替换所选内容 |
posted on 2019-01-26 14:35 🐳️南栀倾寒🐳️ 阅读(142) 评论(0) 收藏 举报
浙公网安备 33010602011771号