@H_502_0@1、VIM编辑器
@H_502_0@1.1 vim基础
@H_502_0@vim有两种模式:普通模式、插入模式和末行模式,普通模式可以使用命令,插入模式用于编辑文本使用,末行模式用于命令行
@H_502_0@输入i会在光标的地方进入插入模式,按ESC键退出编辑模式
@H_502_0@普通模式中的内置命令:
@H_502_0@h:光标向左移动一个字符
@H_502_0@l:光标向右移动一个字符
@H_502_0@k:光标向上移动一行
@H_502_0@j:光标向下移动一行
@H_502_0@Ctrl+F:向下翻一屏
@H_502_0@Ctrl+B:向上翻一屏
@H_502_0@G:直接移动到文本尾部
@H_502_0@#G:移动到指定的#行
@H_502_0@gg:直接移动到文本首部
@H_502_0@普通模式下输入:可以进入末行模式,以下是末行模式的命令
@H_502_0@q:退出
@H_502_0@q!:不保存强制退出
@H_502_0@w filename:将文件保存于另一个文件中
@H_502_0@wq:保存退出
@H_502_0@
@H_502_0@1.2 编辑数据
@H_502_0@x:删除光标处的单个字符
@H_502_0@#x:删除包含光标处及后面的#-1个字符
@H_502_0@dd:删除整行
@H_502_0@#dd:删除包含光标处及以下的#-1行
@H_502_0@u:撤销上一次操作
@H_502_0@dw:删除光标所在的单词
@H_502_0@d$:删除光标所在处到行尾的内容
@H_502_0@a:在光标所在处追加数据
@H_502_0@A:在光标所在行尾追加数据
@H_502_0@r char:在char替换掉光标所在处的单个字符
@H_502_0@r text:用text覆盖掉光标原先所在处的数据,直至按ESC键
@H_502_0@
@H_502_0@1.3 复制和粘贴
@H_502_0@剪切和粘贴
@H_502_0@dd或#dd删除行,然后将光标移动到指定位置按p即可将刚才删除的行粘贴到光标所在处。
@H_502_0@复制和粘贴
@H_502_0@yy:复制整行
@H_502_0@#yy:复制包含光标所在行及一下#-1行
@H_502_0@yw:复制光标所在处单词
@H_502_0@y$:复制光标所在处到行尾
@H_502_0@p:粘贴到光标所在处之后
@H_502_0@
@H_502_0@1.5 查找和替换
@H_502_0@查找:
@H_502_0@/PATTERN:从光标当前所在处向下查找
@H_502_0@?PATTERN:从光标当前所在处向上查看
@H_502_0@n:与命令相同方向
@H_502_0@N:与命令相反方向
@H_502_0@
@H_502_0@查找并替换
@H_502_0@s:在末行模式下完成查找替换
@H_502_0@格式:s/要查找的内容/替换的内容/修饰符
@H_502_0@要查找的内容:可使用模式
@H_502_0@要替换的内容:不能使用模式,但是可以使用\1,\2......等后向引用符号,还可以使用&引用前面查找时查找到的整个内容;
@H_502_0@修饰符:
@H_502_0@i:忽略大小写
@H_502_0@g:全局替换,默认只替换每一行的第一次出现的匹配字符串
@H_502_0@
@H_502_0@查找替换中的分隔符/也可以替换成其他符号,例如:s@@@ s###
@H_502_0@其他用法:
@H_502_0@%s/old/new/g :替换所有的old
@H_502_0@%s/old/new/gc :替换所有的old但每次都会提示
@H_502_0@n,ms/old/new/g :替换行中n和m之间的所有old