zoukankan      html  css  js  c++  java
  • 文件管理之vim编辑器


    1. 什么是vim
    可以理解为Windows下面的文本编辑器,如:记事本,Word文档
    它可以执行输出,删除,查找,替换,块操作等众多文本操作.而且用户可以根据自己的需求对其进行定制,这是其他编辑程序所没有的.



    2. 为何用vim

    (1)修改配置
    (2)写脚本

    3. vi和vim的区别
    vi不显示高亮颜色语法
    vim显示高亮颜色语法
    默认vi是安装的,vim需要通过yum install -y vim 安装



    4. vim编辑器的操作模式

    (1)命令行模式:在编辑模式下按下ESC返回命令行模式
    它是vim的默认模式,在这一模式中,所有的输入被解释成vim命令,可以执行修改,复制,移动,粘贴和删除.

    (2)编辑/插入模式:可以往一个文件中输入正文,在这一模式下,输入的每一个字符都被vim编辑器解释为输入的正文.使用ESC键返回命令行模式.
    a:进入插入模式并在光标之后进行添加.
    i:进入插入模式并在光标之前插入.
    o:进入插入模式并在光标所在行之下开启新的一行.

    (3)末行/扩展模式:输入冒号
    在这一模式下,可以使用一些高级编辑命令,如搜寻和替换字符串,存盘或者退出vim编辑器等,要进入最后一行模式,需要在命令行模式中输入冒号(:)


    5. vim编辑器光标的移动
    $: 光标移动到当前行的结尾
    0: 光标移动到当前行的开始


    6. 在命令行模式下删除与复制的操作

    dd: 删除光标所在的那一行
    ndd: n为数字,删除多行,包括光标所在的那一行.如:20dd 删除20行(包括光标所在行)
    yy: 复制光标所在的那一行
    nyy: n为数字,复制多行,包括光标所在的那一行.如:20yy 复制20行(包括光标所在行)


    7. 粘贴命令

    p(小写): 将已复制的数据在光标下一行粘贴(2p可以连续粘贴2次)
    P(大写): 将已复制的数据在光标上一行粘贴(2P可以连续粘贴2次)


    8.复原重做命令

    U: 复原前一个操作
    ctrl+r: 重做上一次操作


    9. 末行模式常用命令

    :w 将文件存入/写入磁盘
    :q 退出不保存
    :wq 保存并退出
    :q! 强制退出不保存
    :wq! 强制保存退出


    10. 快速移动光标的命令

    G: 将光标移动到这个文件的最后一行
    gg: 移动到这个文件的第一行
    ngg: n为数字,光标移动到这个文件的第n行,如:20gg
    H: 光标移动到这个屏幕的最上方那一行的第一个字符
    M: 光标移动到这个屏幕的中央那一行的第一个字符
    L: 光标移动到这个屏幕的最下那一行的第一个字符


    11. 可视块模式:ctrl+v

    批量去注释
    前提:注释的行需要整齐排列

    1、在命令模式,按ctrl+v进入可视块模式
    2、上下键选中#号
    3、按下d

    批量加注释
    前提:注释的行需要整齐排列

    1、先将光标移动到首行的开头位置
    2、在命令模式,按ctrl+v
    3、上下键选中第一列
    4、shift+i,然后输入#
    5、连续按两下ESC


    12. 末行模式其他操作

    (1)查找替换
    %表示全部行 :% s#old#new#(把所有行的old替换成new,注意每行只替换第一个old)
    1,10表示1到10行 :1,10 s#old#new#(把1到10行的old替换成new,同样每行只替换第一个old)
    $表示最后一行 :5,$ s#old#new#(把5到最后一行的old替换new,也是每行只替换第一个old)
    g表示全局 :% s#old#new#g(把所有行的所有old替换成new)

    (2)读入/写入文件
    :w a.txt 把全部内容写入a.txt
    :1,3 w a.txt 把1到3行的内容写入a.txt
    :r a.txt 把a.txt文件内容读入

    (3)设置环境
    临时设置:
    :set nu 设置行号
    :set ic 不区分大小写
    :set ai 自动缩进
    :set nonu 取消设置行号
    :set noic 取消不区分大小写
    :set list

    永久设置:
    vim /etc/vimrc
    在下面添加
    set ic
    set nu
    set ai


    13. 同时编辑多个文件和文件内容对比

    vim -o 文件1 文件2 水平分割
    vim -O 文件1 文件2 垂直分割
    使用ctrl + ww 可以来回切换

    vimdiff 文件1 文件2 以vim的方式打开两个文件,并高亮显示不同的内容

    ps: patch打补丁的方法(如图)
    touch a.txt b.txt
    [root@localhost ~]# echo 111 >> a.txt
    [root@localhost ~]# echo 222 >> b.txt
    [root@localhost ~]# diff -u a.txt b.txt > patch.diff
    [root@localhost ~]# patch a.txt patch.diff
    patching file a.txt
    [root@localhost ~]# cat a.txt
    222


    14. vim 的执行过程

     

    (1)模拟故障
    编辑文件的时候断开连接,然后在重新连接服务器,再次编辑该文件
    (2)故障报错
    Found a swap file by the name ".vim.log.swp" Swap file ".vim.log.swp" already
    exists
    (3)解决方法
    删除临时文件或者先恢复内容在删除,使用-r选项进行恢复.

  • 相关阅读:
    C#
    C#
    SQLServer
    C#
    使用Spring Boot快速构建应用
    mysql (master/slave)复制原理及配置
    Mysql 半同步复制配置
    Mysql+keeplived+lvs
    Mysql实时双备
    mysqlbinlog 用法
  • 原文地址:https://www.cnblogs.com/allenzhu128/p/13859301.html
Copyright © 2011-2022 走看看