Vi/Vim

由于工作需要,某彩笔萝开始勤勤恳恳的学Vi了。建议小可爱们首先先去下一个 Vim 编辑器。炒鸡好用的工具哟!


打开文件: vi/vim filename, 打开文件后的模式是命令模式。


1. vi的三种状态

1. 命令模式 (Command Mode)
该模式下可控制光标的移动,字符/字/行的删除,移动复制内容等操作。在这个状态下敲击键盘的动作会被vi识别为命令,而非输入字符。


2. 输入模式 (Insert Mode)
该模式下,可以做文字输入。按 ESC 键可以回到命令行模式。【注意:仅 Insert Mode 下可以做文字的输入】


3. 底行命令模式 (Last Line Mode)
该模式下,可以保存文件,或者退出 vi,也可以设置编辑环境,如寻找字符串,列出行号... 等操作。(底行模式也算命令行模式)


2. 基本操作

1. 命令模式下常用命令

  • i 切换到输入模式, 从光标当前位置开始输入。
  • o进入输入模式,插入新的一行,从行首开始输入。
  • x 删除当前光标所在处的字符
  • : 切换到底线命令模式,在最底行输入命令

2. 底行命令模式下常用的命令:

  • q 退出程序
  • w 保存文件
  • wq 存盘并退出vi
  • q! 不存盘强制退出vi

3. 移动光标

  • h 左,j 下, k 上,l 右, 移动一格
  • G 移动到文章最后
  • ^/ 0 移动到所在行的行首
  • $ 移动到所在行的行尾
  • w 移动到下个字的开头
  • e 移动到下个字的字尾
  • b 回到上个字的开头
  • ctrl + f: 向下移动一页
  • ctrl + b: 向上移动一页
  • ctrl + d: 向下移动半页
  • ctrl + u: 向上移动半页

3. 常用的一些操作

  • :set nu: 添加行号
  • dd: 删除整行
  • dw: 删单词
  • u: 回退 (类似windows下的ctrl+z)
  • yy: 复制一行,前面按数字,例如 10yy 就是复制10行
  • p: 粘贴,前面按数字,例如 10p 就是粘贴10份
  • v: 进入选择模式,光标操作范围。
  • V: 选中整行
  • sp: 上下分屏; vsp: 左右分屏
  • /: 进入检索,后面写正则,单词神马的都可以的嗷; 检索的时候自动会高亮的,这个时候按 n 就能一个一个往下找, 按N就能往上找了。
  • :noh: 取消高亮
  • n: 重复上一个动作
  • gg: 移动到第一行
  • A: 移动到行末并进入insert模式

4. 一些组合操作

  1. 将0-20行中所有的 sun 替换成 ling
    :0, 20s/sun/ling/gc 然后一直按y就可以了
    不加c就直接删除了,不用confirm
  2. 复制1到20行的内容,并且贴到最后一样
    1G 然后 20yy 然后按 G去最后一样,在p一下粘贴
  3. 将这个文档另存为为 aaa.config的文件
    :w aaa.config
  4. 删除当前光标所在行至文件末尾
    dG
  5. 删除光标所在处向后的5个字符。再删除5个(重复上次命令)
    5x 然后,在按 .命令;
  6. 格式化json代码
    :%!python -m json.tool
  7. 批量删除匹配指定字符串的行
    g/要删除的东西/d

你可能感兴趣的:(Vi/Vim)