文本编辑器VIM

前言:

最近整理一些以前的学习笔记。
过去都是存储在本地,此次传到网络留待备用。\


 

VIM

  • VIM是VI编辑器的强化版
  • VIM具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计
  • 支持补全(ctrl+p , ctrl+n)

 

vim键盘图

 

vim的使用

  • vim命令的使用

    • 语法:
      vim [选项] [文件 ..]       编辑指定的文件
      vim [选项] -               从标准输入(stdin)读取文本
      vim [选项] -t tag          编辑 tag 定义处的文件
      vim [选项] -q [errorfile]  编辑第一个出错处的文件
      ps:
         -若目标文件不存在,则新建空文件并编辑,不能在未创建的目录下保存
         -若目标文件已存在,则打开此文件并编辑
      
    • 选项:
      +                       启动后跳到文件末尾
      +<lnum>                 启动后跳到第 <lnum> 行
      -P[N]                   打开 N 个标签页 (默认值: 每个文件一个)
      -o[N]                   打开 N 个窗口 (默认值: 每个文件一个)
      -O[N]                   同 -o 但垂直分割
      --noplugin              不加载 plugin 脚本
      --                      在这以后只有文件名
      -v                      Vi 模式 (同 "vi")
      -e                      Ex 模式 (同 "ex")
      -E                      Improved Ex mode
      -s                      安静(批处理)模式 (只能与 "ex" 一起使用)
      -d                      Diff 模式 (同 "vimdiff")
      -y                      容易模式 (同 "evim",无模式)
      -R                      只读模式 (同 "view")
      -Z                      限制模式 (同 "rvim")
      -m                      不可修改(写入文件)
      -M                      文本不可修改
      -b                      二进制模式
      -l                      Lisp 模式
      -C                      兼容传统的 Vi: 'compatible'
      -N                      不完全兼容传统的 Vi: 'nocompatible'
      -V[N][fname]            详细模式 [冗余级别 N] [输出日志消息到fname]
      -D                      调试模式
      -n                      不使用交换文件,只使用内存
      -r                      列出交换文件并退出
      -r (跟文件名)            恢复崩溃的会话
      -L                      同 -r
      -A                      以 Arabic 模式启动
      -H                      以 Hebrew 模式启动
      -F                      以 Farsi 模式启动
      -T <terminal>           设定终端类型为 <terminal>
      -u <vimrc>              使用 <vimrc> 替代任何 .vimrc
      --cmd <command>         加载任何 vimrc 文件前执行 <command>
      -c <command>            加载第一个文件后执行 <command>
      -S <session>            加载第一个文件后执行文件 <session>
      -s <scriptin>           从文件 <scriptin> 读入正常模式的命令
      -w <scriptout>          将所有输入的命令追加到文件 <scriptout>
      -W <scriptout>          将所有输入的命令写入到文件 <scriptout>
      -x                      编辑加密的文件
      --startuptime <file>    Write startup timing messages to <file>
      -i <viminfo>            使用 <viminfo> 取代 .viminfo
      -h  或  --help          打印帮助(本信息)并退出
      --version               打印版本信息并退出
      
  • VI/VIM的工作模式

    • 命令模式(Command mode)
    • 输入模式(Insert mode)
    • 末行模式(Last line mode)
  • 命令模式:

    • 启动vim后默认进入命令模式
    • 批量注释:
      ctrl + v        进入可视块,选中需要注释的行
      I               进入输入模式,并跳转到文件头
      #               注释
      ESC             按两次,结束
      
    • 命令模式下敲击键盘会被识别为命令,而非输入字符,如: 字符 | 意义 | ------------ | ------------ | i | 切换到输入模式 I | 切换到输入模式,并跳转到文件头 a | 切换到输入模式,并跳转到当前光标的下一个字符 A | 切换到输入模式,并跳转到当前光标所在行末尾的下一个字符 o | 切换到输入模式,并在当前光标所在行下插入一行且跳转 O | 切换到输入模式,并在当前光标所在行上插入一行且跳转 : | 切换到末行模式 h,j,k,l | 移动光标 左,下,上,右 yy | 复制光标当前所在的一行 nyy | 复制n行 p | 粘贴到当前光标的下一行 P | 粘贴到当前光标的上一行 dd | 删除光标当前所在行 ndd | 删除n行 D | 删除光标所在行的内容 nD | 删除n行 gg | 移动光标到文件头 ngg | 移动光标到n行 G | 移动光标到文件尾 nG | 移动光标到n行 x | 删除当前光标下的字符 u | 撤销一步 ^ | 光标跳到行首 $ | 光标跳到行尾 d^ | 删除到行首 d$ | 删除到行尾 ZZ | 保存并退出
  • 输入模式(插入模式):

    按键意义
    HOME/END移动光标到行首/行尾
    Page Up/Page Down上/下翻页
    Insert切换光标为输入/替换模式,光标将变成竖线/下划线
    ESC退出输入模式,切换到命令模式
  • 末行模式:

    字符意义
    :n切换到下一个文件
    :N切换到上一个文件
    :w保存
    :wq保存当前文件并退出
    :q退出
    :q!强行退出且不保存
    :sp分屏显示(ctrl+w+上下切屏)
    :r 文件路径read文件到当前文件所在光标的下一行
    :w 文件路径另存为
    :s/旧/新/新替换旧的内容,光标所在行的第一个匹配
    :s/旧/新/g新替换旧的内容,光标所在行的所有内容匹配
    :%s/旧/新/新替换旧,所有行的第一个匹配
    :%s/旧/新/g新替换旧,所有行的所有内容
    :n,ms/旧/新/g替换第n到m行的所有内容
    :set nu显示行号
    :set nonu不显示行号
    :set paste粘贴模式

转载于:https://my.oschina.net/xinsui1314x/blog/3075642

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值