zoukankan      html  css  js  c++  java
  • 7-1 vim 编辑器

    1. vi:visual interface.

    1. vim:vi improved

     

    这些都属于全屏编辑器,又是模式化编辑器

     

    vim模式(3种)

    编辑模式(命令模式)

    输入模式

    末行模式

     

    模式转换

    编辑模式 –> 输入模式,首先是在编辑模式下的。默认进来就是编辑模式

    i:在当前光标所在字符的前面,转为输入模式。(其实就是insert)

    I:在当前光标所在行的行首,转为输入模式

    image

     

    a:在当前光标所在字符的后面,转为输入模式

    A:在当前光标所在字符的行尾,转为输入模式

    image

    o:在当前光标所在行的下面,新建一行,并转为输入模式

    O:在当前光标所在行的上方,新建一行,并转为输入模式

     

     

     

    输入模式 –> 编辑模式

    按ESC

     

    编辑模式 –> 末行模式

    :(直接输入冒号就好)

     

    末行模式 –> 编辑模式

    按ESC

     

    三图关系如下

    OCIW_YZ){3V1$E9B[(VD9WB

      

    2. 打开文件

     

    格式

    #vim /path/to/somefile

    image

     

    vim + #: 打开文件,并定位第#行,注意是在file后面

    image

     

    vim +#:打开文件,并定位至最后一行

    image

     

    vim +/PATTERN:打开文件,定位至第一次被PATTERN匹配到的行的行首

    注意,这个格式还有点不准

     

     

    默认打开都是处于 编辑模式

     

     

     

    2. 关闭文件

    1. 末行模式关闭文件

    :w     保存

    :q     退出

    :wq   保存并退出

    :q!    不保存并退出

    :w!   强行保存(管理员专享)

    :wq   ->   :x     同一个意思

     

     

    2. 编辑模式下退出

    zz:保存退出

     

     

     

    3. 移动光标(在编辑模式下)

    1. 逐字符移动

    h:向左,但是#h表示移动#个字符

    l:向右

    j:向上

    k:向下

    2.  以单词为单位

    w: 移至下一个单词的词首, 同理  #w表示移动#个单词

    e:跳至当前或下一个单词的词尾

    b:跳至当前或前一个单词的词首

     

    3. 行内跳转

    o:行首,绝对行首

    ^:行首,第一个非空字符

    $:绝对行尾

    4. 行间跳转

    G:最后一行,#G直接跳转至第#行

     

    上面的命令是在编辑模式下,但是如果在末行模式下,直接给行号就好了。如下给了4

    image

    4. 翻屏

    Ctrl + f:向下翻一屏

    Ctrl +b:向上翻一屏

    Ctrl+d:向下翻半屏

    Ctrl+u:向上翻半屏

     

    5. 删除单个字符

    x:删除光标所在处单个字符

    #x:删除光标所在处及向后共#个字符

    6. 删除命令:d

    d命令跟跳转命令组合使用

    #d跳转符

    #dw, #de,#db

    dd:删除当前光标所在行

    #dd:删除包括当前光标所在行在内的#行

     

    末行模式:SartADD, EndADDd

    :1,8d

    :.,+5d 相对5行, 其中的点表示当前行,$表示最后一行,+#后面的#行

     

    7. 粘贴命令

    p(小写):如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制或者删除的内容为非整行,则粘贴至光标所在字符的后面。

    P(大写):如果删除或复制为整行内容,则粘贴至光标所在行的上方,如果复制或者删除的内容为非整行,则粘贴至光标所在字符的前面。

     

    8. 复制命令 y:

    用法同d命令

    9. 修改删除内容,再转换为输入模式(change)

    c:用法同d命令

     

    10. 替换:r

    R:替换模式

    ESC:退出

     

    11. 撤销编辑操作(undo)

    u:撤销前一次的编辑命令,连续u命令可撤销此前的n次操作。

    #u:直接撤销最近#次编辑操作

    撤销最近一次撤销:Ctrl + r

     

    12. 重复前一次编辑操作

     

    13. 可视化模式

    v:按字符选取

    V:按距行选取

     

    14. 查找

    /PATTERN     向后查找

    ?PATTERN     向前查找

     

    15. 查找并撤销

    在末行模式下使用s命令

    %表示全文

     

    16. 如何打开多个文件

    在末行模式

     

    格式:  vim  FILE1    FILE2   FILE3

    :next    切换至下一个文件

    :prev    切换至前一个文件

    :last      切换至最后一个文件

    :first     切换至第一个文件

    :qa        全部退出

     

     

    17. 分屏显示一个文件

    Ctrl + w,s: 水平拆分窗口

    Ctrl + w,v: 垂直拆分窗口

    Ctrl + w,向下箭头:窗口之间切换

    :qa     关闭所有窗口

     

    18. 分窗口显示多个文件

    vim –o     FILE1   FILE2    水平分割显示

    vim   -O     FILE1   FILE2    垂直分割显示

     

    19. 将当前文件中的部分内容另存为另外一个文件,末行模式下使用w命令

    :w

    :ADDR1, ADDR2w  /path/to/somewhere

     

    20. 将另外一个文件的内容填充在当前文件中

    :r   /path/to/somefile

    (光标放在某个字母上,然后就运行)

     

    21. 跟shell交互

    :!   COMMAND

     

    22. 高级话题

    1. 显示或取消显示行号

    :set number

    :set nu

     

    :set nonu 取消

     

    可以练习: vim inittab

     

     

    2. 显示忽略或区分字符大小写

    :set ignorecase

    :set ic

     

    :set noignorecase

    :set noic

     

     

    3. 设定自动缩进

    :set autoindent

    :set ai

    :set noai

     

     

    4. 查找到的文本高亮显示或取消

    :set hlsearch

    :set nohlsearch

     

     

    5. 语法高亮

    :syntax on (默认开)

    :syntax off

     

    23. 配置文件

    /etc/vimrc    全局

    ~/.vimrc    当前用户

     

    #vimtutor    ,这个是学习vim的课程

     

    在vim中编辑一个文件,非法退出了会在同目录下有.swp文件,可以删除

     

    组合测试条件

    -a:与关系

    -o:或关系

    !:非关系

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    Makefile.am文件配置
    PHP之mb_check_encoding使用
    PHP之mb_internal_encoding使用
    MarkDown编辑使用指南
    test
    [MySQL]修改mysql的root密码
    开启IT之旅_真理不死,信念永恒
    Python pickle 模块
    python注意点
    GAT2.0使用文档(组合接口测试)
  • 原文地址:https://www.cnblogs.com/BlackWizard2016/p/6288686.html
Copyright © 2011-2022 走看看