Vim 基础用法总结

--write by zhuwx 2019-06-24 20:57:59 +0800 CST

点击量:54

因为一直没好好记过,今天总结一下

命令         执行的操作                 记忆方法
:q           退出                       quit
:w           存盘                       write
:e           打开新文件
:r           读取文件到VI                   read
:!           强行
:set nu        显示行号                     number
:set nonu        隐藏行号                      no number
 
 
h     j     k     l
左    下    上    右
 
Ctrl + f       翻到下一页(向前翻页)     front
Ctrl + b       翻到上一页(向后翻页)     back
Ctrl + u       向前翻半页
Ctrl + d       向后翻半页
 
 
^              移到行头          往上就到行头了(象形)
$              移到行尾          写完一行就要给一行的钱
w              下一个单词         word
b              前一个单词         behind(在。。。后面)
e              下一单词尾         end
#G             跳到某一行        大哥(G)说到哪就到哪
i              光标前插入         insert
a              光标后加入         add
A              在行末加入   在一个词后是小a,一个行后就是大A
o           另起一行加入  一个小鸡蛋(小o)掉下来了摔开了花
O          上一行加入       吐一个大泡泡(大O)飞上去破了
 
 
---------- c(吃掉)代表行内删除--------
cw        删除一个单词(一部分不包括空格)  吃掉一个 word
c$       删除一行到行尾      刚写的一行被删了,钱也拿不到了
c^       删除一行到行头         往上吃,一直吃到头         
x        删除一个字符           看你不爽就打上“x”
 
 
---------- d 代表删除--------------
dd          删除一行              del dir
dw          删除单词到尾部(包括空格)     del word
de          删除单词到尾部(不包括尾部空格) del end
d$          删除当前到行尾的所有字符      del $(代表尾部)
d^          删除当前到行首的所有字符      del ^(代表行首)
J    合并当前行    一个大钩子(J)把下面的一行拉到自己行尾
u    撤销上次操作           undo
U  撤销当前行所有操作  事情闹大了,得有个更大的UNDO才能恢复
Ctrl + r    恢复undo 前            recover

VI中的多行删除
单行删除:1(待删除行)d
多行删除:1,10d

光标所在行,dd
光标所在行以下的N行,Ndd

--------- y 代表复制到缓存中-----------
yy           复制当前行整行的内容到vi缓冲区 
yw           复制当前光标到单词尾字符的内容到vi缓冲区
y$           复制当前光标到行尾的内容到vi缓冲区
y^           复制当前光标到行首的内容到vi缓冲区
p            读取vi缓冲区中的内容,并粘贴到光标当前的位置(不覆盖文件已有的内容)
 
 
/word       从上而下查           /是从上而下写的吧
?word       从下而上查找     字符在哪儿呢(?)回头找找吧
n           定位下一个匹配的   相当于向下查找下一个 next
N          定位上一个匹配的     相当于向上查找上一个
 
 
:s/1/2    搜索当前行第一个1并用2代替      search
:s/1/2/g  搜索当前行所有的1并用2代替      global
:#,#s/1/2/g    在#,#间搜索所有1并用2替换
:%s/1/2/g      在整个文档中将1替换为2     100%(全部)
:s/1/2/c    每次替换都给出提示确认        cue提示
 
 
vim 1.txt 2.txt 3.txt  同时打开多个文档
:args  显示多文件信息(会在末行提示当前打开了哪些档)     are globals
:next             切换到下一个文件
:prev             切换到上一个文件
:first            定位首文件
:last             定位尾文件
Ctrl + ^          快速切换到编辑器中切换前的文件

进入vi的命令    (这个vi真的是太老了,我真的很无语)
vi filename :打开或新建文件,并将光标置于第一行首 
vi +n filename :打开文件,并将光标置于第n行首 
vi + filename :打开文件,并将光标置于最后一行首 
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename 
vi filename....filename :打开多个文件,依次进行编辑