linux · 2019-11-02 0

vim的使用

一、vi/vim模式

命令模式、输入模式、底线命令模式

vim

二、打开文件

  • vi +n filename 打开文件定位到n行

  • vi + filename 打开文件定位到最后一行

  • vi +/f filename 打开文件定位到f出现的位置

三、命令模式到输入模式

  • i/I:i 从目前光标处开始输入;I从目前所在行的第一个非空格符处开始输入;

  • a/A:a从目前光标所在的下一个字符处开始输入;A从目前所在行的最后一个字符处开始输入;

  • o/O:o在目前所在行的下一行处输入新的一行;O在目前所在行的上一行处输入新的一行;

四、命令模式

  • x 删除光标位置字符

  • nx 删除光标开始n个字符

  • dw 删除单词

  • ndw 删除n个单词

  • dd 删除光标所在的那一整行

  • ndd 删除光标所在的向下n行

  • d0 删除光标所在到该行的最前面的一个字符

  • d$ 删除光标到行尾的内容

  • yy 复制光标所在的那一行

  • nyy 复制光标所在的向下n行

  • p 将已复制的数据在光标下一行贴上

  • P 将已复制的数据在光标上一行贴上

  • u 撤销

  • [Ctrl] + r 恢复撤销

  • 0 (数字0)移动到当前行的最前面字符处

  • $ 移动到当前行的最后面字符处

  • G 移动到文本最后一行

  • nG 移动到文本第n行

  • gg 移动到文本第一行,相当于1G

  • n + 光标向下移动n行

  • ZZ 保存并退出

五、底线命令模式

  • :w 讲编辑的数据写入硬盘档案中

  • :q 离开

  • :wq 存储后离开

  • :set nu 显示行号

  • :set nonu 取消行号

  • :/ after 定位到搜索字符 n向下查找,N向上查找

  • :s/foo/bar/ 要搜索当前行中字符串“foo”的首次出现,并将其替换为“bar”

  • :s/foo/bar/g 要替换当前行中搜索到的所有内容,可以添加g标志

  • :%s/foo/bar/g 搜索和替换整个文件中的匹配内容,使用百分比字符%作为范围。此字符指示从文件第一行到最后一行的范围

  • :s/foo//g 删除当前行中字符串“foo”的所有实例

  • :s/foo/bar/gc 要确认每个替换,可以使用c标志

  • :3,10s/foo/bar/g 在从第3行到第10行的所有行中将所有出现的“ foo”替换为“ bar”

  • :n1,n2 co n3 复制n1到n2并粘贴到n3处

  • :n1,n2 m n3 移动n1到n2到n3处

  • :n1,n2d 删除n1到n2行

  • :.,$-1d 删除光标所在行到倒数第二行(.表示光标所行,$表示末行)