vim编辑文本使用技巧vi:可视化文本编辑器vim:vi的增强版本Vim语法格式#vim[选项]文件如果文件不存在,vim将新建一个文件模式功能命令模式此状态下敲击键盘动作会被vim识别为命令,而非输入字符输入模式/编辑模式常规的文本编辑末行模式也叫底线模式,此模式下可以输入单个或多个字符命令vim使用技巧Vim三种模式的转换命令模式编辑模式末行模式打开文件关闭文件#vimfile:wq按ESC键按ESC键输入a,i,o,A,I,O输入:vim使用技巧vim打开文件光标文件名行数字符数第几行第几个字符位置vim使用技巧vim打开文件#vimfile#vim+10file:打开文件并使光标处于第10行#vim+file:打开文件并使光标处于最后一行#vim+/abcfile:打开文件并使光标处于第一次匹配到abc的行vim保存关闭文件末行模式:q退出文件(文件未被修改):q!退出且不保存所修改的内容:wq或:x保存并退出:w保存修改:w!强制保存命令模式按ZZ保存并退出vim使用技巧vim从命令模式进入编辑模式命令模式编辑模式i在当前光标所在字符前面进入编辑模式a在当前光标所在字符后面进入编辑模式o在当前光标所在行下方新建一行进入输入模式O在当前光标所在行上方新建一行进入输入模式I在当前光标所在行行首进入输入模式A在当前光标所在行行尾进入输入模式vim使用技巧光标移动命令模式下光标移动跳转k,j,h,i光标上下左右移动w光标移至下一个单词的词首e光标移至下一个单词的词尾b跳至当前或前一个单词的词首^跳转至当前光标所在行的第一个非空字符$跳转至行尾0跳转至绝对行首gg跳转至文档的第一行,10gg跳转至第10行G跳转至文档的最后一行,20G跳转至第20行vim使用技巧在末行模式下,光标行间跳转输入“:行号”回车vim使用技巧删除字符或行命令模式下删除字符或行x删除光标所在处的单个字符,3x表示删除三个字符dd删除当前光标所在行,3dd表示向下删除3行(含当前行)dw删除当前光标所在的单词d$删除当前光标至行尾d^删除当前光标至行首末行模式下删除行:3d删除第3行:1,3d删除1至3行:%d或:1,$d删除全文vim使用技巧复制和粘贴命令模式下删除字符或行yy复制当前光标所在行,3yy表示复制3行yw复制光标所在的单词p在光标后面或下方粘贴P在光标前面或上方粘贴末行模式下复制行:3y复制第3行:1,3y复制1至3行:%y或:1,$y复制全文vim使用技巧撤销和恢复撤销命令模式下撤销操作u撤销前一次操作,可以连续按u撤销前面的多次操作Ctrl+r恢复最近一次撤销操作字符替换命令模式下字符替换r替换当前光标所在字符,只能替换单个字符R进入替换模式。可连续替换vim使用技巧字符查找命令模式下查找字符/PATTERN从光标所在行向下查找?PATTERN从光标所在行向上查找n跳到下一个被匹配到的字符N跳到上一个被匹配到的字符vim使用技巧末行模式下字符查找和替换:起始行,结束行s/pattern/string/gi不指定起始和结束行则默认是只搜索替换光标所在行s表示查找/是分割符,也可以用其他符号,前后保持一致即可pattern是要搜索的字符,支持正则string是替换的字符g表示全局,默认是只替换一行里面第一次被匹配到的字符I表示忽略大小写用vim把/etc/passwd中的/bin/nologin替换成/bin/bash:%s#/sbin/nologin#/bin/bash#g%表示全文vim使用技巧末行模式下配置其他特性末行模式:setnu显示行号:setnonu不显示行号:setai自动缩进:setnoai取消自动缩进:syntaxon开启语法高亮:syntaxoff关闭语法高亮:setts=4设置tab键宽度为4,默认是8vim使用技巧vim参数配置vim的配置位于/etc/vimrc,用于配置vim相关功能vim使用技巧配置vim自动签名(创建“.sh”的文件会自动添加签名信息)在/etc/vimrc尾部添加以下代码funcSetTitle()ifexpand(%:e)=='sh'callsetline(1,#!/bin/bash)callsetline(2,#Author:jihb)callsetline(3,#Time:.strftime(%F%T))callsetline(4,#Version:V1.0)callsetline(5,#Description:)endifendfuncautocmdBufNewFile*.shexec:callSetTitle()