vi 常用命令总结_vim常用命令总结
vi 常用命令总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“vim常用命令总结”。
输入模式命令
输入
命令作用
在光标后输入文本
在当前行末尾输入文本
在光标前输入文本
在当前行开始输入文本
在当前行后输入新一行
在当前行前输入新一行
光标移动命令
光标移动
命令作用
0 移动到光标所在列的最前面 [Home]
$ 移动到光标所在列的最後面 [End]
[CTRL][d] 向下半页 [PageDown]
[CTRL][f] 向下一页
[CTRL][u] 向上半页
[CTRL][b] 向上一页 [PageUp]
H 移动到视窗的第一列
M 移动到视窗的中间列
L 移动到视窗的最後列
b 移动到下个字的第一个字母
w 移动到上个字的第一个字母
e 移动到下个字的最後一个字母
^ 移动到光标所在列的第一个非空白字元
n-减号移动到上一列的第一个非空白字元前面加上数字可以指定移动到以上n列n+ 加号移动到下一列的第一个非空白字元前面加上数字可以指定移动到以下n列nG 直接用数字n加上大写G移动到第n列)光标所在位置到下个句子的第一个字母
(光标所在位置到该句子的第一个字母
} 光标所在位置到该段落的最後一个字母
{ 光标所在位置到该段落的第一个字母
向前移动一个字符
向上移动一行
向下移动一行
向后移动一个字符
fx
往右移动到x字符上
Fx
往左移动到x字符上
tx
往右移动到x字符前
Tx
往左移动到x字符后
(注意:以上四个命令中,其中x是键入的字符)
;
分号,配合f和t使用,重复一次,逗号,配合f和t使用,反方向重复一次
%-移至匹配的括号
shift+G跳到文件尾
交换两个字符位置
xp
上下两行调换
ddp
把文件内容反转
:g/^/m0/
删除操作命令
删除操作
命令作用
删除光标所在的字符
删除光标所在的单词
删除光标至行尾的所有字符
同
删除当前行
可在删除命令前加上数字,如表示删除5行。
改变与替换操作命令
改变与替换操作
命令作用
替换光标所在的字符
替换字符序列
替换一个单词
同
替换光标所在的前一字符
替换自光标位置至行尾的所有字符
同
替换当前行
全文替换:“g/被替换字符串/s//替换字符串/g”
>>
查询命令
查询
命令作用
向前查询abc
向后查询abc
向前继续查询
向后继续查询
拷贝与粘贴命令
命令作用
/yw将光标所在单词拷入剪贴板
y$将光标至行尾的字符拷入剪贴板
Y同
yy将当前行拷入剪贴板
p将剪贴板中的内容粘贴在光标后
P将剪贴板中的内容粘贴在光标前
文件编辑、保存及退出vi命令
命令作用
:q不包存退出
:q!不保存强制性退出
:w保存编辑
:wfilename存入文件filename中
:w!filename强制性存入文件filename中
:wq/:x/ZZ保存退出
编辑数个文件(利用vifilename(s))进入vi后)
:args显示编辑名单中的各个文件名
:n读入编辑名单中的下一个文件
:rew读入编辑名单中的第一个文件
:e#读入编辑名单内的前一个文件
:efile读入另一个文件进vi(此文件可不在编辑名单内),若原文件经修改还没有存档,则应先以:w存档。
:e!file 强迫读入另一个文件进入vi,原文件不作存档动作。
:!command 暂时退出vi并执行shell指令,执行完毕后再回到vi。
:sh 暂时退出vi到系统下,结束时按Ctrl+d则回到vi。
vifilename 进入vi并读入指定名称的文件(新、旧文件均可)。
vi+nfilename 进入vi并且由文件的第几行开始。
vi+filename 进入vi并且由文件的最后一行开始。
vi+/wordfilename进入vi并且由文件的word这个字开始。
vifilename(s)进入vi并且将各指定文件列入名单内,第一个文件先读入。
清理掉DOS文本中的^M,可以在:1,$s/^M//g,其中^是用CTRL+v上去的M是回车形成的正则表达式
在查找、替换命令使用以下正则表达式元字符,功能强大。
也可用在:g/命令中
&代表最近匹配串
~代表最近替换串
.任一字符
^行首或表示非
$行末
>词尾
*0次或多次
()分节指定与其中正则式匹配的部分,在替换时候可以用123...引用匹配部分
[]表示选择
-表示范围,例如[0-9]代表数字,[a-z]代表小写字母[^0-9a-zA-Z]代表非数字和大小写字母
{m,n}前面部分的从m次至n次出现,mn为数值
{m}精确m次出现
{m,}大于等于m次出现
以下举几例子,欢迎大家提出问题来共同探讨。
1.在20列后插入串
:%s/^.{20}/&insertsomethinghere/g
2.把C++语言里//注释修改为/**/格式
:%s///(.*)$//*1*//g
3.在建存储过程的sql文本里,在每个createprocedureprocname()
前加上dropprocedureprocname;[]里输入的是一个空格和TAB键。:%s/^[]*[cC][rR][eE][Aa][tT][eE][]*[pP][Rr][oO][cC][eE][dD][uU][rR][eE][
]*([^()*]/dropprocedure1;Ctrl_VCtrl_Mcreateprocedure1/g
宏命令
首先,宏的实质是将命令存储在寄存器中,如下是错误的qa
“ayw
q
寄存器a冲突,宏挺有用的vi的配置文件
另一方面,用户可以在主目录中创建.exrc环境文件,用set打入
选项,每次调用vi时,就会读入.exrc中的指令与设置。下面是
.exrc环境文件的实例:
setwrapmarging=8
setshowmode
setautoindent
setnumber
vim配置文件:
setnobackup
setdirectory=$VIM/swp”Therestoresallvimswapfiles
setignorecasesmartcase“Ctoforcevimtosearchcasesensibly.setlinebreak”letvimdon'tsplitawordwhenlinewrap,note:linedoesn'tbesplitreally
ifhas('multi_byte_ime')
highlightCursorguibg=Greenguifg=NONE
highlightCursorIMguibg=Purpleguifg=NONE
endif
setautoindent
setsmartindent
settabstop=4“treatasfourspaces,storesinsteadofspaces
setshiftwidth=4”beusedonlywhen“
”TurnoffIMEwheninsertmodeandsearchmode
setiminsert=0
setimsearch=-1