Linux02 VIM编辑器
基本上 vi/vim 共分为三种模式, 分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。
三种状态进行切换
插入模式:
【i】:在当前光标所在字符的前面,转为输入模式
【a】:在当前光标所在字符的后面,转换为输入模式
【o】:在当前光标所在行的下方,新建一行,并转换为输入模式:
【I】:在当前光标所在行的行首,转换为输入模式
【A】:在当前光标所在行的行尾,转换为输入模式
【O】:在当前光标所在行的上方,新建一行,并转换为输入模式;
退出命令
【:q】退出
【:x】保存退出
【:wq】保存并退出
【:q!】强制退出并忽略所有更改
复制命令(y,yank)
【y】复制,可以结合光标跳转字符,实现范围复制(行为与d有类似之处)
【y$】复制到行尾
【y^】复制到非空行首
【y0】复制到行首
【yy】复制当前行
【#yy】复制多行
【Y】整行复制粘贴命令(p,paste)
【p】缓冲区存的如果为整行,则粘贴当前光标所在行的下方,否则粘贴至当前光标所在处的后面
【P】缓冲区存的如果为整行,则粘贴当前光标所在行的上方,否则粘贴至当前光标所在处的前面
部分粘贴
【v】+方向键 +【y】+【p】
撤销更改
【u】撤销最近的更改
【#u】撤销之前多次更改
【U】撤销光标落在这行后所有此行的更改
【按Ctrl + r】重做最后的“撤销”更改(相当于取消撤销)
替换操作
【r】替换光标所在字符
【R】切换成REPLACE模式
删除操作
【x】删除光标处的字符
【#x】删除从光标处开始向后#个字符
【xp】光标所在处的字符和光标后面的字符对调位置
【J】删除当前行后的换行符
【dd】删除光标所在行
【#dd】多行删除
【d$】删除到行尾
【d^】删除到非空行首
【d0】删除到行首
【dG】删除到末尾
【D】从当前光标位置一直删除到行尾,留空行
查找
【:/PATTERN】从当前光标所在处向文件尾部查找匹配“PATTERN”相同的内容。
【:?PATTERN】从当前光标所在处向文件首部查找匹配“PATTERN”相同内容
【n】与命令同方向【N】与命令反方向
替换
格式:【s/要查找的内容/替换为的内容/修饰符】【s】【%s】全局替换
修饰符: 【i】忽略大小写【g】管局替换;默认情况下,每行只替换第一次出现【gc】全局替换,每次替
换前询问