zoukankan      html  css  js  c++  java
  • Linux学习笔记之VIM

    项目3 文本编辑器vim

    3.1 vim的工作模式

    Vi:Visual Editor的缩写,命令行界面下的文本编辑器;Unix操作系统中默认的编辑器等

    Vim:Vi IMproved的缩写,Vi的升级版;用彩色显示文本,可视为程序编辑器等

    默认CentOS已经安装Vim,如果没有,联网后使用以下命令进行安装:

    yum install -y vim-enhanced
    

    Vim的3种工作模式:

    • 一般模式(指令模式)

      • 使用命令 vim filename 进入一般模式:
        移动光标
        删除字符或行
        复制和粘贴
        查找和替换
    • 编辑模式

      • 从一般模式切换到编辑模式:i、I、a、A、o、O、r、R 中的任意一个
      • 当进入编辑模式时,屏幕的最后一行出现“INSERT”或“REPLACE”的字样
      • 从编辑模式返回一般模式:ESC 键
    • 从一般模式进入编辑模式

      按键 作用
      i 在光标前插入字符
      I 在光标所在行的行首插入字符
      a 在光标后插入字符
      A 在光标所在行的行末插入字符
      o 在光标所在行下插入新的一行
      O 在光标所在行上插入新的一行
      r 替换光标所在的字符,只替换一次
      R 一直替换光标所在的字符,直到按下Esc键
    • 命令行模式

      按键 作用
      :w 保存文本
      :w! 如果文件属性为只读时,强制保存
      :q 退出vi
      :q! 强制退出vi,不管编辑还是未编辑都不保存退出
      :wq 保存之后退出
      :e! 将文档还原到最原始状态
      ZZ 等价于:wq
      :w [filename] 将文档另存为filename
      :r [filename] 在光标所在行的下面读入filename文档的内容
      :set nu 在每行的行首设置行号
      :set nonu 取消行号
      :n1,n2 w [filename] 将n1到n2行的内容另存为filename文件中
      :sp 在vim中实现文件多窗口编辑
      :only 只保留当前分屏
      :q 退出当前所在分屏
      :n 多文件编辑不分屏显示时,编辑下一个文件
      :N 多文件编辑不分屏显示时,编辑上一个文件
      :files 列出目前vim开启的所有文件
      :! command 暂时离开vi,执行某个Linux命令,例如::! ls/home 暂时列出/home下的文件,然后会提示按回车返回vi
      • 从一般模式进入命令行模式:
        保存文件
        退出Vim
        读入外部文件
        显示行号等

    3.2 vim常见命令

    一般模式下的功能键分类:

    • 移动光标

      按键 作用
      h或左方向键 光标向左移动一个字符
      j或下方向键 光标向下移动一个字符
      k或上方向键 光标向上移动一个字符
      l或右方向键 光标向右移动一个字符
      n方向键(n是数字) 光标向方向键方向移动n个字符
      Ctrl+f或PgDn 屏幕向文件尾移动一页
      Ctrl+b或PgUp 屏幕向文件头移动一页
      n空格(n是数字) 按下数字n然后按空格,则光标向右移动n个字符,如果该行字符数小于n,则光标继续从下行开始向右移动,一直到n
      0(数字0)或Home 移动到本行行首
      $或End 移动到本行行尾
      H 光标移动到当前屏幕的最顶行
      M 光标移动到当前屏幕的中央那一行
      L 光标移动到当前屏幕的最底行
      G 光标移动到文本的最末行
      nG(n是数字) 光标移动到文本的第n行
      gg 光标移动到文本的首行
      n回车(n是数字) 光标向下移动n行
    • 删除、复制和粘贴

      按键 作用
      x, X x为向后删除一个字符,X为向前删除一个字符
      nx(n是数字) 向后删除n个字符
      dd 删除光标所在的那一行
      ndd(n是数字) 删除光标所在的向下n行
      d1G 删除光标所在行到第1行的所有数据
      dG 删除光标所在行到末行的所有数据
      yy 复制光标所在的那一行
      nyy 复制从光标所在行开始的向下n行
      p,P p将复制的数据从光标下一行粘贴,P则从光标上一行粘贴
      y1G 复制光标所在行到第1行的所有数据
      yG 复制光标所在行到末行的所有数据
      J 将光标所在行与下一行的数据结合成一行
      u 还原过去的操作
      Ctrl+r 重复上一个操作
      . 重复前一个操作
    • 查找和替换

      按键/输入 作用
      /keyword 向光标之后寻找名为keyword的字符串,当找到第一个keyword后,该单词高亮显示,按下“n“继续查找下一个,按下”N“,反方向查找下一个
      ?keyword 向光标之前寻找名为keyword的字符串,当找到第一个keyword后,该单词高亮显示,按下“n“继续查找下一个,按下”N“,反方向查找下一个
      :n1,n2s/word1/word2/g 在n1和n2行之间查找word1字符串并替换为word2
      :1,$s/word1/word2/g 从第一行到最末行,查找word1并替换为word2
      :1,$s/word1/word2/gc 在第一行和最末行之间查找word1,替换为word2之前需要用户确认

    3.3 vim的其他事项(恢复文件与打开时的警告信息+额外功能)

    文件救援--交换文件(filename.swp)

    在使用 vim 编辑的时候会产生一个 swp 文件, 类似于一个编辑缓冲存档. 该文件是隐藏状态, 必须使用 ls -a 命令才能看到。重新连接上机器后, 再次打开该文件时, 一般会弹出类提示:
    说这文件有个编辑缓存文档, 你要使用下面的哪个命令来继续操作?

    • 【O】以只读方式打开
    • 【E】直接编辑
    • 【R】恢复
    • 【D】删除交换文件
    • 【Q】退出
    • 【A】中止

    注意:文件 filename.swp 不需要时,需要用户手动删除,用 rm -rf 的方式删除该swp文件


    彩蛋(因后续文本改动,思维图并没有及时同步变动,请读者自行补充)


    未完,待续 ~

  • 相关阅读:
    TS流批量下载----------Xamarin开发系列
    TS视频流下载合成
    B站缓存视频音频合并
    ActiveX录音插件
    FZU-2191 完美的数字 简单数论
    COCI2011/2012 破解密文 KMP
    COCI2010/2011 踢踏舞 线段树区间子段和
    [USACO03FALL] 受欢迎的牛-G tarjan缩点
    洛谷 P1967 货车运输 最大生成树+倍增LCA
    洛谷 P1613 跑路 倍增+最短路
  • 原文地址:https://www.cnblogs.com/codeplayer1999/p/12556122.html
Copyright © 2011-2022 走看看