• 常使用的VIM命令及文件颜色代表含义


    编辑模式--->输入模式

    i : insert 在光标所在处输入;

    a:append 在光标所在处后面输入;

    o:在当前光标所在行的下方打开一个新行;

    I:在当前光标所在行的行首输入;

    A:在当前光标所在行的行尾输入;

    O:在当前光标所在行的上面打开一个新行

    移动光标(编辑模式)

    1.移动光标
      h 左

      l 右
      j 下
      k 上
    #h :移动#个字符

    单词间跳转

      w: 下一个单词的词首

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

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

    2、行内跳转

      0:绝对行首

      $ :绝对行尾
      ^ 行首的第一个非空白字符

    3.行间跳转
      gg 第一行
      G 最后一行

      #G : 跳转至#行

    4.删除单个字符
      x 逐个字符删除(删除光标所在处及向后的单个字符)
      nx 指定删除n个字符 (删除光标所在处及向后的共n个字符)

      nX : 删除光标所在处及向前的共n个字符

      xp:交换光标所在处的字符及其后面字符的位置(前后交换)

    5.删除行命令
      dd 单行删除(剪切) 删除当前光标所在行
      ndd n行删除(剪切) 删除包括当前光标所在行在内的n行
      d$

      d^

      d0

      

    末行模式  n,md  指定删除(剪切)行位置
      PS 可按p键黏贴


    6.复制黏贴 (y,yank)
      yy 单行剪切
      nyy n行剪切
      PS 可按p键黏贴


    7.替换命令
      r 单个字符替换
      R 多个字符替换

    8.撤销命令
      u 撤销前一次的编辑操作操作

        连续u命令可能撤销此前的n次编辑操作(最多50次操作)
      nu 撤销最近n次编辑操作
      撤销刚才撤销的操作(返回上次一撤销的操作):ctrl+r

      .  :重复前一个编辑操作

    9.可视化模式
     什么是可视化:就是选中一块区域,然后在上面进行一些操作,记住与普通的操作不同的是,可视化操作是对整块选中的区域进行操作的,有些时候效率会更高。 

      v 按字符选取 (使用上下左右键来使用光标选定)
      V 按矩形选取
    PS y  复制
    PS p  黏贴
    PS u 字母全部变为小写
    PS U 字母全部变为大写
    PS > 向右缩进
    PS < 向左缩进

    末行模式:内建的命令行接口

    地址定界

      :start_pos,end_pos
    
        # :具体第#行,例如2表示第2行;
    
        #,# :从左侧#表示行起始,到右侧#表示行结尾;
    
        #,+# :从左侧#表示的行起始,加上右侧#表示的行数;
    
        . :当前行
    
        $:最后一行
    
           .,$-1
    
        % :全文,相当于1,$
    
    /pat1/,/pat2/ :从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束

    后跟一个编辑命令 

      d
    
      y
    
      w /PATH/FROM/SOMEFILE :将范围内的行另存至指定文件中
    
        10,50w  /tmp/test/new
    
      r /PATH/FROM/SOMEFILE  :在指定位置(即当前光标位置)插入指定文件中的所有内容  
    
        100r  /etc/issue  :在指定位置即从100行处插入/etc/issue文件所有内容
    
     

    10.查找

    末行模式下:
    /PATTERN向后搜索字符串PATTERN

      e.g /<r..t> 

    ?PATTERN向前搜索字符串PATTERN

    • n:向下逐个显示匹配到的信息
    • N:向上逐个显示匹配到的信息

    11.查找并替换
    末行模式:
    n,m s/old/new/gi  或s@@@ 或s%%%

    ps:  i表示大小写不敏感查找,I表示大小写敏感;
    PS:  n:起始行   m:终止行   old:想要选择匹配到的信息   new:想要改变的信息
    PS: 从第二行到第二十行中的a全部替换为b:2,20s/a/b/g
    PS: .:表示当前行  $:表示最后一行  %:表示全文

    #,$ @/old/new/g :从当前#行到最后一行替换

      1,$s/r(..)t/R1T/g
      %s/l....x/&er/

      &: 直接引用前面所有匹配内容
    注:
      要查找的内容:可使用模式
      替换为的内容:不可使用模式,但可以使用1,2,...等后向引用符号,还可以使用"&"引用前面查找时查找到的整个内容

    12.使用vim编辑多个文件
    vim file1 file2 file3...
    PS:先打开file1,若想编辑file2,可在末行模式下输入next
    若文件有很多个,则可以在末行模式下输入last(最后一个文本) first(第一个文件)等对应的英文

     若文件有很多个,则可以在末行模式下输入
    • :next 切换至下一个文件
    • :prev 切换至前一个文件
    • :last 切换至最后一个文件
    • :first 切换至第一个文件
    • 退出 :qa 全部退出

    13 .窗口分割模式
    vim -O file1 file2    垂直分割显示

    vim -o file1 file2    水平分割显示

    ctrl+w+上下键,来回切换窗口
    
    单文件窗口分割:
      ctrl
    +w+s 水平拆分窗口   ctrl+w+v 垂直拆分窗口 在窗口间切换光标 ctrl+w w 切换窗口 ctrl+w q 退出当前窗口

       :qa 关闭所有窗口

    vim保存之前不会对文件做实际的修改,只是加载到缓冲区中,对文件的编辑其实是对缓冲区的编辑,直到:w时才会存入物理文件

    14.跟shell交换
    末行模式下:
    !COMMAND (要执行的shell)

    15.高级会话
    末行模式下:

     (1)显示或取消行号:显示 set nu  取消 set nonu
      
    
     (2)设定自动缩进:  设定 set ai       取消 set noai
       
    
     (3)查找到的文本信息高亮:设定 set hlsearch 取消 set nohlsearch
             语法高亮:设定 syntax on    取消 syntax off
    
     (4)括号匹配
        匹配:set sm (set  showmatch)
        取消: set nosm
    (5)忽略字符的大小写
        启用:set ic
        不忽略:set noic

    16.文件加密
    末行模式下:
    设定 X
    取消 X 一直回车

    17.配置文件
    /etc/vimrc 全局文件
    ~/.vimrc  在自己家目录下仅对该用户设置

    练习
    
    替换/tmp/functions文件中的/etc/sysconfig/init为/var/log
    
      :%s@/etc/sysconfig/init@/var/log@g
    
    删除/tmp/functions文件中所有以#开头,且#后面至少有一个空白字符的行的行首的#号
      :%s/^#([[:space:]])+/1/g

    每行开头为空白字符的行的行首添加一个#号
      :%s/^[[:space:]]+/#&/

    如何设置tab缩进为4个字符?

    # 永久设置(设置后重新打开文件编辑即可生效) [root@wybaron_host1015 ~]# echo -e "set ts=4
    set expandtab" >> /etc/vimrc

    将文本文件中的TAB替换为空格   

    # 命令行模式下
    :set ts=4
    :set expandtab
    :%retab!
    # 加!是用于处理所有的TAB,若不加!,则只处理行首的TAB

    将文本文件中的空格替换为TAB

    # 命令行模式下
    :set ts=4
    :set noexpandtab
    :%retab!
    # 加!是用于处理所有的TAB,若不加!,则只处理行首的TAB
    
    

        https://my.oschina.net/comics

    更详细请参考:http://note.youdao.com/noteshare?id=04b6d3beacfd1f5c0aa14485c32cf4a7&sub=11F0136F9D0548C38A0DD116EC80D654

    配置自己vim请参考: https://blog.csdn.net/zisefeizhu/article/details/89407487


    文件颜色及类型
    文件不同颜色所代表的不同含义:
    白色: 普通颜色
    红色: 压缩文件
    黄色: 设备文件(/dev目录下)
    青蓝色:链接文件
    青绿色:可执行文件
    青黄色:管道文件
    粉红色:图片文件或socket(用s表示)
    文件类型:
    - :普通文件
    l(小写L):链接文件
    b :块文件【块设备文件】
    c :字符设备文件
    p :管道文件

  • 相关阅读:
    AngularJS--过滤器
    AngularJS--自定义指令和模板
    AngularJS多模块开发
    百度优先收录HTTPS网站?你的网站https还在等什么
    什么是HTTPS
    必须要懂得的密码技术
    如何处理服务器SSL收到了一个弱临时Diffie-Hellman 密钥?
    可以将代码签名证书安装在多台电脑上吗?
    学习第一天
    前端综合知识小集
  • 原文地址:https://www.cnblogs.com/liuzhiyun/p/11322733.html
Copyright © 2020-2023  润新知