VIM常用操作

来源:互联网 发布:php 菜鸟教程 编辑:程序博客网 时间:2024/05/19 18:45

VIM使用

移动命令

按键说明hl右(小写L)jkw移动到下一个单词b移动到上一个单词

进入插入模式

命令说明i在当前光标处进行编辑I在行首插入A在行末插入a在光标后插入编辑o在当前行后插入一个新行O在当前行前插入一个新行cw替换从光标所在位置后到一个单词结尾的字符

命令行模式退出

命令说明:q!强制退出,不保存:q退出:wq!强制保存并退出:w <文件路径>另存为:saveas 文件路径另存为:x保存并退出 :wq保存并退出
普通模式
输入: 进入命令模式,wq 保存并退出
也可以用shift+zz 代替 (:wq)保存退出

普通模式下删除

命令说明x删除游标所在的字符X删除游标所在前一个字符Deletexdd删除整行dw删除一个单词(不适用中文)d$D删除至行尾d^删除至行首dG删除到文档结尾处d1G删至文档首部
可以在命令前加数字,比如10dd 删除10行

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

重复执行上次命令

普通模式下 . 就可以
比如,我上面 10dd 删除了10行,按点(.)继续删除10行,一直按则一直重复执行;
比如,我文本中插入了welcome ,然后按.点(.)会再次插入一个welcome,按多少次则 插入多少个;
点(.) 前面也可以用数字,10. 则重复执行上次命令10次;

光标的快速跳转

命令说明nG(n Shift+g)游标移动到第 n 行(如果默认没有显示行号,请先进入命令模式,输入:set nu以显示行号)gg游标移动到到第一行G(Shift+g)到最后一行
 使用ctrl+o 可以快速跳转到上次(跳转前)位置
命令说明w到下一个单词的开头e到下一个单词的结尾b到前一个单词的开头ge到前一个单词的结尾0^到行头$到行尾f<字母>向后搜索<字母>并跳转到第一个匹配的位置(非常实用)F<字母>向前搜索<字母>并跳转到第一个匹配的位置t<字母>向后搜索<字母>并跳转到第一个匹配位置之前的一个字母(不常用)T<字母>向前搜索<字母>并跳转到第一个匹配位置之前的一个字母(不常用)

复制和粘贴

普通模式下y 是复制 p是粘贴普通模式中,yy复制游标所在的整行(3yy表示复制3行)普通模式中,y^ 复制至行首,或y0。不含光标所在处字符。普通模式中,y$ 复制至行尾。含光所在处字符。普通模式中,yw 复制一个单词。普通模式中,y2w 复制两个单词。普通模式中,yG 复制至文本末。普通模式中,y1G 复制至文本开头。普通模式中,p(小写)代表粘贴至光标后(下)普通模式中,P(大写)代表粘贴至光标前(上)
剪贴
dd删除命令就是剪切,你每次dd删除文档内容后,便可以使用p来粘贴,也这一点可以让我们实现一个很爽快的功能——交换上下行:ddp,就这么简单,即实现了快速交换光标所在行与它下面的行

替换和撤销(undo)

命令说明r+<待替换字母>将游标所在字母替换为指定字母R连续替换,直到按下Esccc替换整行,即删除游标所在行,并进入插入模式cw替换一个单词,即删除一个单词,并进入插入模式C(大写)替换游标以后至行末~反转游标所在字母大小写u{n}撤销一次或n次操作U(大写)撤销当前行的所有修改Ctrl+rredo,即撤销undo的操作

快速缩进
普通模式下输入>> 整行将向右缩进(使用,用于格式化代码超爽)普通模式下输入<< 整行向左回退普通模式下输入:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数

vim key_map 附上






1 0