Vim命令合集命令历史以:和/开头的命令都有历史记录,可以先输入:或/然后按上下箭头选择一条历史命令。启动vim,在命令行窗口输入以下命令直接启动vimvimfilename打开vim,创建文件filenamefile命令打开单个文件vim文件同时打开多个文件vimfile1file2file3...open在vim窗口新建一个文件:openfile在新窗口打开一个文件:splitfile切换到下一个文件:bn切换到上一个文件:bp查看当前打开的文件列表,当前正在编辑的文件会被圈起来经过[]。:args打开远程文件,如ftp或共享文件夹:eftp://192.168.10.76/abc.txt:e\qadrivetest1.txtVim模式普通模式(按Esc或Ctrl+[进入)左下角显示文件名或者为空插入模式(按i键进入)左下角显示--INSERT--visualmode(不知道怎么进入)左下角显示--VISUAL--navigationcommand%括号匹配插入命令i在当前行当前位置前插入I在开头插入a在当前位置后插入A在当前行末尾插入o在当前行后插入一行O在前插入一行当前行查找命令/text 查找文本,按n查找下一个,按N查找上一个。?text 搜索文字,反向搜索,按n查找下一篇,按N查找上一篇。vim中有一些特殊字符在查找 时需要转义。*[]^%/?~$:setignorecase ignorecaselookup:setnoignorecase doesnotignorecaselookuplookupis很长的词,如果一个词很长,打字困难,可以将光标移到该词上,按*或#搜索该词,相当于/搜索。#命令等同于?搜索。:sethlsearch 高亮搜索结果,高亮所有结果而不是只有一个匹配。:setnohlsearch 关闭高亮搜索显示:nohlsearch 关闭当前高亮显示,如果再次搜索或者按n或N键,会再次高亮显示。:setincsearch 分步搜索模式,搜索当前输入的字符,无需等待输入完成。:setwrapscan 重新搜索,当搜索到文件开头或结尾时,返回继续搜索,默认开启。替换命令ra将当前字符替换为a,当前字符为光标所在的字符。s/old/new/Replacenewwithold,替换当前行的第一个匹配项s/old/new/gReplacenewwithold,替换当前行的所有匹配项%s/old/new/Replacenewwithold,replace所有行的第一个匹配%s/old/new/g用旧替换新的,替换整个文件中的所有匹配:10,20s/^//g从第10行到第10行的每一行前面添加四个20个空格,用于缩进。ddp将光标下的行与其正下方的行交换。移动命令h向左移动一个字符l向右移动一个字符。这个命令很少用到,一般用w代替。k上移一个字符j下移一个字符以上四个命令都可以和数字一起使用,比如20j就是下移20行,5h就是左移5个字符,在Vim中,很多命令都可以和数字一起使用数字,比如删除10个字符10x,在当前位置后插入3!,3a!,这里的Esc是必须的,否则命令不会生效。w向前移动一个单词(光标停在单词的开头),如果到达行尾,则转到下一行的开头。这个命令速度很快,可以代替l命令。b向后移动一个单词2b向后移动两个单词e,同w,只是光标停在单词末尾ge,同b,光标停在单词末尾。^移动到该行的第一个非空白字符。0(数字0)移动到该行的第一个字符,移动到该行的第一个字符。与0键相同。$移至行尾3$移至下3行的末尾gg移至文件开头。=[[G(shift+g)移动到文件末尾。=]]f(find)命令也可以用来移动,fx会找到光标后的第一个字符x,3fd会找到第三个字符d。F同f,反向查找。跳转到指定行,冒号+行号,回车,例如跳转到240行就是:240pressenter。另一种方法是行号+G,比如230G跳到230行Ctrl+e向下滚动一行Ctrl+y向上滚动一行Ctrl+d向下滚动半屏Ctrl+u向上滚动半屏Ctrl+f向下滚动一屏Ctrl+b向上滚动一屏UndoandRedouUndo(撤销)U撤销对整行的操作Ctrl+rRedo(重做),即撤销的撤销。删除命令x删除当前字符3x删除当前光标后面的三个字符X删除当前字符之前的字符。X=dhdl删除当前字符,dl=xdh删除前一个字符dd删除当前行dj删除上一行dk删除下一行10d删除从当前行开始的10行。D删除当前字符至行尾。d=d$d$删除当前字符(本行)之后的所有字符kdgg删除当前行之前的所有行(不包括当前行)jdG(jdshift+g)删除当前行之后的所有行(不包括当前行):1,10dDeletelines1-10:11,$dDeletealllinesafter11:1,$dDeletealllinesJ(shift+j) 删除两行之间的空行,实际上是合并两行。复制粘贴yy复制当前行nyy复制当前行之后的n行,例如2yy复制当前行及其下一行。p粘贴在当前光标后,如果之前用yy命令复制了一行,则粘贴到当前行的下一行。shift+p在当前行之前粘贴:1,10co20在第20行之后插入第1-10行。:1,$co$复制整个文件并将其添加到文件末尾。在普通模式下,按v(verbatim)或V(linebyline)进入可视模式,然后用jklh命令移动选中一些行或字符,然后按y复制ddp,交换当前行和下一行linexpexchange当前字符和下一个字符cutcommand在普通模式下,按v(verbatim)或V(linebyline)进入可视模式,然后用jklh命令移动选中一些行或字符,再按dtocutCutndd在当前行之后剪切n行。使用p命令粘贴剪切内容:1,10dcutlines1-10。使用p命令粘贴剪切的内容。:1,10m20将第1-10行移动到第20行之后退出命令:wq保存退出ZZ保存退出:q!强制退出并忽略所有更改:e!放弃所有修改并打开原始文件。窗口命令:split或new打开一个新窗口,光标停在最上面的窗口:splitfile或:newfile用新窗口打开一个文件split打开的窗口都是水平的,可以用vsplit垂直打开窗口.Ctrl+ww移至下一个窗口Ctrl+wj移至下层窗口Ctrl+wk移至上层窗口关闭窗口:close最后一个窗口不能使用该命令,防止意外退出vim。如果它是最后一个要关闭的窗口,则:q将退出vim。ZZ保存退出。closeallwindows,keeponlythecurrentwindow:onlyrecordmacro按q键添加任意字母开始录制,再按q键结束录制(这意味着vim中的宏不能嵌套),当使用@加宏名时,比如质量保证。..q记录了一个名为a的宏,@a使用了这个宏。执行shell命令:!command:!ls列出当前目录下的文件:!perl-cscript.pl在不退出vim的情况下查看perl脚本的语法,非常方便。:!perlscript.pl在不退出vim的情况下执行perl脚本,非常方便。:suspend或Ctrl-Z暂停vim,返回shell,按fg返回vim。perl程序中注释命令以#开头,所以要注释某些行,只需在行首添加#3,5s/^/#/g即可注释第3-5行3,5s/^#//g取消第3-5行的注释1、$s/^/#/g对整个文档进行注释。:%s/^/#/g注释整个文档,速度更快。帮助命令:help或F1显示全部帮助:helpxxx显示xxx的帮助,如:helpi、:helpCTRL-[(即Ctrl+[的帮助)。:help'number'Vim选项的帮助用单引号括起来:help特殊键的帮助用<>展开:help-tVim启动参数的帮助是-:helpi_EscininsertmodeHelp,某个模式下的帮助使用mode_topic模式||之间的内容帮助文件中是一个超链接,可以用Ctrl+]进入链接,Ctrl+o(Ctrl+t)重复前返回其他非编辑命令一个命令:设置标尺? 检查标尺是否设置。在.vimrc中,使用set命令设置的选项可以通过以下命令查看:scriptnames 查看vim脚本文件的位置,如.vimrc文件、语法文件和插件等。:setlist显示非打印字符,如制表符、空格、行尾等。如果无法显示制表符,请务必使用setlcs=tab:>-command设置.vimrc文件,并确保您的文件中有标签。如果启用了expendtab,则选项卡将扩展为空格。Unix系统Vim教程$Windows系统vimtutor:helptutor:syntax列出定义的语法项:syntaxclear明确定义的语法规则:syntaxcasematchCasesensitive,intandIntwillbetreatedasdifferentsyntaxElements:syntaxcaseignorecase-insensitive,int和Int将被视为相同的语法元素,并使用相同的配色方案快速参考网址https://www.ctolib.com/cheats...