zoukankan      html  css  js  c++  java
  • Vim编辑器基础

    Vim编辑器基础

    vi:Visual Interface
    vim:VI iMproved
    

    Vim模式

    1、编辑模式(命令模式)
        只能下达命令,不能键入字符
    2、输入模式
        键入字符
    3、末行模式
        左下角有冒号,可以键入命令执行
    

    Vim模式转换

    vim 文件名

    编辑-->输入:
        i:在当前光标所在字符的前面,转为输入模式;
        a:在当前光标所在字符的后面,转为输入模式;
        o:在当前光标所在行的下方,新建一行,并转为输入模式;
        
        I:在当前光标所在行的行首,转换为输入模式;
        A:在当前光标所在行的行尾,转换为输入模式
        O:在当前光标所在行的上方,新建一行,并转为输入模式;
    	
    输入-->编辑:
        ESC
    	
    编辑-->末行:
        :
    
    末行-->编辑:
        ESC,ESC
    

    打开文件

    # vim /path/to/somefile  
    
        vim +# :打开文件,并定位于第#行
        vim + :打开文件,定位至最后一行
        vim +/PATTREN :打开文件,定位至第一次被PATTREN匹配到的行的行首
    
    默认处于编辑模式
    

    关闭文件

    1、末行模式关闭文件
        :q 退出
        :wq 保存并退出
        :q! 不保存并退出
        :w 保存 
        :w! 强行保存
        :wq --> :s 
    2、编辑模式下退出
        ZZ: 保存并退出
    

    移动光标(编辑模式)

    1、逐字符移动:
        h:左
        l:右
        j:下
        k:上
        #h:移动#个字符;
    
    2、以单词为单位移动
        w:移至下一个单词的词首
        e:跳至当前或下一个单词的词尾
        b:跳至当前或前一个单词的词首
        
        #w: 
    	
    3、行内跳转:
        0:绝对行首
        ^: 行首的第一个非空白字符
        $:绝对行尾
    	
    4、行间跳转
        #G:跳转至第#行:
        G:最后一行
        
        末行模式下,直接给出行号即可
    

    翻屏

    Ctrl+f:向下翻一屏
    Ctrl+b:向上翻一屏
    
    Ctrl+d:向下翻半屏
    Ctrl+u:向上翻半屏
    

    删除单个字符

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

    删除命令:d

    d命令跟跳转命令组合使用:
        #dw,#de,#db
    
    dd;删除当前光标所在行
    #dd:删除包括当前光标所在行在内的#行;
    
    末行模式下:
    StartADD,EndADDd
        .: 表示当前行
        $:最后一行
        +#:向下的#行 
    
    

    粘贴命令 p

    p:如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面;
    P:如果删除或复制为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面;
    

    复制命令 y

    用法同d命令
    

    修改:先删除内容,在转换为输入模式

    c:用法同d命令
    

    替换:r

    R:替换模式
    

    撤销编辑操作 u

    u:撤销前一次的编辑操作
        连续u命令可撤销此前的n此操作
    #u:直接撤销最近#次编辑操作
    
    撤销最近一次撤销操作:Ctrl+r
    

    重复前一次编辑操作

    .
    

    可视化操作

    v:按字符选取 
    V:按行选取
    Ctrl+v:按矩形选取
    

    查找

    /PATTERN
    ?PATTERN
        n 
        N
    

    查找并替换

    在末行模式下使用s命令
    ADDR1,ADDR2s@PATTREN@string@gi
    1、$
    %: 表示全文
    

    使用vim编辑多个文件

    vim FILE1 FILE2 FILE3
    :next 切换至下一个文件
    :prev 切换至前一个文件
    :last 切换至最后一个文件
    :first 切换至第一个文件
    
    退出
    :qa 全部退出
    

    分屏显示一个文件

    Ctrl+w,s:水平拆分窗口
    Ctrl+w,v:垂直拆分窗口
    
    在窗口间切换光标:
    Ctrl+w,ARROW
    
    :qa
    

    分窗口多个文件

    vim -o:水平分割显示
    vim -O:垂直分割显示
    

    将当前文件中部分内容另存为另外一个文件

    末行模式下使用w命令
    :w
    :ADDR1,ADDR2w /path/to/somewhere
    

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

    :r /path/to/somefile
    

    跟shell交互

    :! COMMAND
    

    高级话题

    1、显示或取消显示行号
    :set number
    :set nu
    
    :set nonu
    
    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
    

    配置文件

    /etc/vimrc
    ~/.vimrc
    
  • 相关阅读:
    Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1]
    error: RPC failed; result=22, HTTP code = 411
    linux进程控制命令
    主机找不到vmnet1和vmnet8
    sqlserver安装相关问题
    linux下使用libiconv库转码
    Jenkins持续集成
    Ansible性能调优
    Ansible Playbook
    Ansible模块
  • 原文地址:https://www.cnblogs.com/shamobus/p/9482424.html
Copyright © 2011-2022 走看看