• vim编辑器


    VI

    vi是一种计算机文本编辑器,由美国计算机科学家比尔·乔伊(Bill Joy)完成编写,并于1976年以BSD协议授权发布。

    VIM

    Vim是从vi发展出来的一个文本编辑器。其代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。Vim的第一个版本由布莱姆·米勒在1991年发布。最初的简称是Vi IMitation,随着功能的不断增加,正式名称改成了Vi IMproved。现在是在开放源代码方式下发行的自由软件。

    用法:

    vim [options] [file ..]

    选项:

    • +#:打开文件时直接跳到第#行
    • +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首
    • -b:二进制方式打开文件
      • :%!xxd:扩展命令模式下,利用xxd命令转换为可读的十六进制
      • :%!xxd –r:扩展命令模式下,利用xxd命令转换回二进制
    • -d file1 file2…:打开多个文件比较,==vimdiff
    • -m:以只读方式打开文件
    • -e:打开文件时直接进入ex模式,或者使用ex file

    vim的模式:命令模式,插入模式,扩展命令模式

    在任意模式下用esc可以返回命令模式

    一、命令模式(command mode)

    命令模式下有些快捷指令不会显示,需要执行完全部命令才可以看到更改

    命令模式-->插入模式:

    • i:在光标所在处变成插入模式
    • I:在行首变成插入模式
    • a:在光标下一个字符起变成插入模式
    • A:在行尾变成插入模式
    • o:在下一行另起一新行进入插入模式
    • O:在上一行另起一新行进入插入模式

    在命令模式下的快捷操作

    • ZZ:保存退出
    • ZQ:不保存退出
    • .(点):重复上一个操作

    光标跳转:

                 ^
                 k              Hint:  h键在左边并向左移动
           < h       l >               l键在右边并向右移动。
    
                 j                     j键看起来像一个向下的箭头。
                 v
    • w:下一个单词的词首
    • e:当前或下一单词的词尾
    • b:当前或前一个单词的词首
    • H:跳到当前页的页首
    • M:跳到当前页的页中
    • L:跳到当前页的页底
    • ^:跳到行首的第一个非空白字符
    • 0:跳到行首,==HOME键
    • $:跳到行尾,==END键
    • G:跳到文件最后一行
    • gg:跳到文件第一行
    • ():句间跳转
    • {}:段落跳转
    • Ctrl+f:向下翻一屏
    • Ctrl+b:向上翻一屏
    • Ctrl+d:向下翻半屏
    • Ctrl+u:向上翻半屏
    • n|N:搜索关键字间跳转下一个|上一个

    字符操作:

    • x:剪切光标处的一个字符
    • ~:转换大小写
    • J:删除当前行后的换行符
    • r:替换光标处的单个字符
    • R:进入REPLACE模式,替换光标所在字符,按esc回到命令模式
    • d:删除
      • dd 删除整行
      • d$ 删除从光标所在处到行尾
      • d^ 删除从光标所在处到非空行首
      • d0 删除从光标所在处到行首
      • dw 删除一个单词到下一个单词的首部
      • de 删除一个单词到这个单词的尾部
      • #dd 删除#行
      • D 从当前光标位置一直删除到行尾,留空行,等同于d$
    • y:复制
      • y$,y0,y^,yw,ye,#yy 类似于d命令的操作
      • Y 复制整行
    • p|P:整行,粘贴在行的下方|上方;非整行,粘贴在光标的后面|前面
    • c:删除后变成插入模式,修改命令
      • c$,c0,c^,cw,ce
      • cc 删除当前行并变成插入模式,== S
      • C 删除当前光标到行尾,并切换成插入模式
    • # i STRING [esc]:将STRING粘贴#次
    • 0gU$|0gu$:将整行替换成大小|小写

    撤销和撤销撤销:

    u:撤销刚才更改

    U:撤消光标落在这行后所有此行的更改

    Ctrl - r:撤销最后的“撤消”更改

    二:扩展模式(extended command mode)

    :(冒号):命令模式-->扩展模式

    w [FiLE]:保存和另存为

    q:退出

    x:保存并退出

    !:强制执行,直接加命令可以执行系统上的命令,!r可以将命令的结果读入文件

    r:读入文件

    地址定界::start_pos,end_pos

    • #:具体指定#行
    • #,#:从#行到#行
    • #,+#:从#行往下#行
    • 0:表示第一行
    • .:表示当前行
    • $:表示最后一行
    • %:表示全文
    • /PATTERN1/,/PATTERN2/:表示从第一次被模式匹配到的行到第二次被模式匹配到的行
    • 后跟一个编辑命令,d,y,w,r等来操作指定范围的内容

    查找替换

    s:操作范围s/要查找的内容/替换为的内容/修饰符(g 全局;c 提示是否替换;i 忽略大小写)

    /:分隔符也可用逗号,@等

    三:查找模式

    /

    四:可视化模式

    v:对字符操作

    V:对行操作

    Ctrl+v:对块操作

    选择所操作的内容再使用d,y,p等命令操作文本

    五:多文件模式

    vim FILE1 FILE2 ...

    • :next 下一个
    • :prev 前一个
    • :first 第一个
    • :last 最后一个
    • :wall 保存所有
    • :qall 退出所有
    • :wqall

    六:多窗口模式

    多文件分割

      vim -o|-O FILE1 FILE2 ...:水平|垂直分割俩个文件及多个文件窗口

    单文件分割

      在命令模式下 Ctrl+w,s|v :水平|垂直分割窗口

    Ctrl+h|j|k|l:窗口间切换光标

    Ctrl+w,q|o:取消相邻窗口|全部窗口

    :wqall:退出全部文件和窗口

    vim的寄存器

    有26个命名寄存器和1个无命名寄存器,常存放不同的剪贴版内容,可以不同会话间共享;

    寄存器名称a,b,…,z,格式:“寄存器 放在数字和命令之间;

    未指定,将使用无命名寄存器;

    有10个数字寄存器,用0,1,…,9表示,0存放最近复制内容,1存放最近删除内容。当新的文本变更和删除时,1转存到2,2转存到3,以此类推。数字寄存器不能在不同会话间共享。

    vim的配置

    全局配置文件:/etc/vimrc

    用户配置文件:~/.vimrc

    set:在扩展模式下执行或者写到配置文件中

    • nu 显示行号
    • ic 忽略字符大小写
    • ai 自动缩进
    • si 智能缩进
    • ts=#  tab键的长度
    • hlsearch 高亮搜索
    • list 显示Tab和换行符 ^I 和$
    • ff=dos|unix 启用Unix格式|Windows格式
    • textwidth=# 设置文本宽度
    • cursorline 设置光标所在行的标识线
    • paste 复制保留原格式

    set all 或者 help option-list 获取set的帮助

    syntax on|off 语法高亮

    vimtutor命令

    vim自带的官方学习及练习文档

    vim常用技巧

    1)批量编辑:

    1.ctrl + v 批量块选中每行的第一个字符
    2.按I(大写i)进入编辑模式
    3.编辑第一行
    4.编辑完成后按俩次esc

    欢迎大家一起学习交流~

  • 相关阅读:
    模态弹出框
    bootstrap导入JavaScript插件
    面板
    列表组
    媒体对象
    进度条
    sql面试题
    mysql 全连接 报错1051的原因
    Java 类加载体系之 ClassLoader 双亲委托机制
    如何找到JAVA_HOME?
  • 原文地址:https://www.cnblogs.com/L-dongf/p/8732845.html
Copyright © 2020-2023  润新知