vi

普通模式:移动光标的操作
G或(shift+g)    将光标移动到文件的最后一行。
gg               将光标移动到文件的第一行,等价于1gg或1G。
0                数字0,将光标从所在位置移动到当前行的开头。
$                从光标所在位置移动到当前行的结尾。
n<Enter>         n为数字,<Enter>为回车键,将光标从当前位置向下移动n行。
ngg              n为数字,移动到文件的第n行,如11gg可移动到第11行,可配合 “:set nu”查看。
H                光标移动到当前窗口最上方的那一行。
M                光标移动到当前窗口中间的那一会。
L                光标移动到当前窗口最下方的那一行。
h或(←)          光标向左移动一个字符。
j或(↓)          光标向下移动一个字符。
k或(↑)          光标向上移动一个字符。
l或(→)          光标向右移动一个字符。
 
 
普通模式:搜索与替换操作
/liang           从光标位置开始,向下寻找名为liang的字符串。
?liang           从光标位置开始,向上寻找名为liang的字符串。
n                从光标位置开始,向下重复前一个搜索的动作。
N                从光标位置开始,向上重复前一个搜索的动作。
:g/A/s//G/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(大写)     将已复制的数据粘贴到光标的上一行。
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 n2        n1、n2为数字,将n1行到n2行的内容复制到n3位置下。
:n1,n2 m            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”,这里的操作是一个通用的方法,# 号可以换成别的操作,例如Tab键盘,这样就是批量缩进。
Del                 在可视化模式下(Ctrl+V),一次性删除所选内容。
r                   在可视化模式下(Ctrl+V),一次性替换所选内容。
 
 
vim 打开文件的方法小结
vim file 打开/新建文件,光标置于第1行行首,file为任意文件名。
vim file +n 打开文件,光标置于第n行行首,n为自然数。
vim file + 打开文件,光标置于最后一行行首。
vim file +/pattern 将光标置于第一个与pattern匹配的字符串处,pattern为任意字符串。
 
特别说明:
当如果不知道自己处在什么模式时可以按2次Esc键即可回到命令模式。
最要提醒:注意大小写!!!




原文地址:https://www.cnblogs.com/l10n/p/9416462.html