VIM常用快捷按键
2019-10-24 本文已影响0人
商鲲
1.保存、撤销、退出、环境设置
u #撤销一次修改 [Ctrl]+r #反转一次撤销 :w [filename] #保存到文件,缺省保存在当前文件 :wq #保存并退出 :e! #放弃修改、但不退出 :set nu #显示行号,设定之后,会在每一行的前缀显示该行的行号 :set nonu #取消显示行号 :ex [filename] #打开新文件并显示文件基本信息 :! command #暂时离开 vi 到指令行模式下执行 command 的显示结果 #例如『:! pwd』显示当前文件所在路径
2.光标定位
0 #这是数字『 0 』:移动到这一行的最前面字符处 $ #移动到这一行的最后面字符处 n<Space> #n 为数字。光标向后移动 n 个字符 n<Enter> #n 为数字。光标向下移动 n 行 gg #移动光标到文档开始位置,相当于 1G $G #移动光标到文档最后一行 nG或:n #n 为数字。移动到这个档案的第 n 行。
3.基于寄存器的复制、剪切、粘贴
yy、dd #复制、剪切光标所在行到寄存器 dd #剪切光标所在行到寄存器 p、P #输出寄存器内容到光标所在位置下行、上行 np、nP #n 为数字。 输出n次寄存器内容到光标下方、上方 nGp、nGP #n 为数字。 输出寄存器内容到n行下方、上方 nyy、ndd #n 为数字。复制、剪切光标所在的向下 n 行 y1G、d1G #复制、剪切光标所在行到第一行的所有数据 yG、dG #复制、剪切光标所在行到最后一行的所有数据
4.搜索、替换
/word #向光标之前或之后寻找一个名称为 word 的字符串 n或N #基于刚才的方向继续正向,反向搜索 :%s/^/#/ #全文的行首加入 # ,批量注释的时候非常有用 :%s/$/;/ #全文的行尾加入; :%s= *$== #将所有行尾多余的空格删除 :g/^$/d #^表示行首,$表示行尾,整个意思是:将所有的空行删除. :[addr]s/源字符串/目的字符串/[option] :[addr]s#源字符串#目的字符串#[option] #井号模式下特殊字符不用转义 #语法:[addr]表示检索范围,如: "1,n":表示从第1行到n行 "%":表示整个文件,同"1,$" ".,$":表示从当前行到文件尾 [addr]省略时表示当前行 s:表示替换操作,其为substitute的缩写 [option] : 表示操作类型,如: g:globe,表示全局替换 c:confirm,表示进行确认 p:显示替代结果信息 i:ignore,不区分大小写 [option]省略时仅对每行第一个匹配串进行替换 如果在源字符串和目的字符串中出现特殊字符, 如'/','<','>',','等需要前面加反斜杠\进行转义