美文网首页
vim编辑器

vim编辑器

作者: WickJohn | 来源:发表于2019-05-08 15:51 被阅读0次

    vi编辑器

    目前shiyong
    作用:编辑文本文件中的内容的工具
    末行模式中,以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。
    启动vim
    在命令行窗口中输入以下命令即可
    vim 直接启动vim

    viM的工作模式

    1、命令模式:仅仅可以查看内容,但是不能进行修改(默认)
    2、输入模式:可以对文件中的内容进行修改/
    3、末行模式:此模式可以执行一些命令
    注意:

    1. vi打开文件,如果发现文件是空的,那么说明你所打开的文件是不存在的
    2. 也就是vi既可以打开现有的文件,也可以创建新文件,只是所创建的新文件内容是空白的
    3. vi有增强版本,称之为vim(建议用vim)
    4. vi是用来编辑文本文件的,不能用来打开目录
      情况1:从命令模式到输入模式
      i:在光标所在位置的前插入内容
      a:将光标向后移到一位,然后进行插入模式(输入的内容会在光标原始位置的后一位。
      A:在当前行尾插入
      o:在光标所在行的下面新开一行,然后进入输入模式
      O:在光标所在行的前面新开一行,然后进入输入模式

    命令模式下的常用操作

    第一类操作:复制、移动删除文件内容
    yy:复制光标所在的行,也可以复制多行,3yy
    nyy:复制光标所在的行开始向下的N行
    dd:剪切光标所在的行,只可以粘贴最后一行
    ndd:剪切光标所在的行开始向下的N行
    p(小):粘贴到光标所在行的下面
    P(大):粘贴到光标所在行的上面1
    D:删除光标所在位置到行尾的内容
    dG:删除光标所在的行到末尾全部的行

    第二类操作:撤销和重复执行的相关操作
    u:撤销上次所指向的操作(相当于windows中ctrl+z)
    nu:撤销n次操作(n的值最大是50)1
    ctrl+r:撤销刚刚所撤销的那个操作(相当于windows中ctrl+y)1
    :重复执行上一次所做的操作1

    第三类操作:跳转相关的操作
    nG:跳转到第n行
    G:直接跳转到最后一行
    home和end就可以
    0:跳转到行首(会认为空格也是内容,此时会跳转到空格的最前面)
    ^:跳转到行首(不认为空格是内容,此时会跳转到第一个非空字符)
    $:跳转到行尾
    ctrl+f:向下翻一屏
    ctrl+b:向上翻一屏

    第四类操作:替换相关操作
    r:替换一个字符(替换完成之后,自动返回到编辑模式)
    R:进入替换模式(要想退出替换模式,按esc)

    第五类操作:查找
    /string:在文件中搜索指定的字符串
    n:正向查找往下找
    N:反向查找往上找
    情况2:从输入模式到命令模式
    esc
    touch date "+%F".txt;创建时间文件。
    情况3:从编辑模式到末行模式
    进入末行模式的方式:在编辑模式下按shift+:

    末行模式下的常用操作

    第一类命令:行号
    set nu:显示行号
    set nonu:关闭行号
    
    第二类命令:跳转
    num:直接跳转到第num行
    $:直接跳转到最后一行
    
    第三类命令:取消匹配到的内容的高亮
    nohl;nohl --> nohighlight
    
    第四类命令:替换
    start,end s/原始内容/替换内容/g;globle全局
    1,5 s/haha/ken/g;一和五行haha全部替换成ken
    (分隔符不一定是/,只要是三个相同的符号即可)
    

    注意:
    如果不用g,那么仅仅会替换每行的第一个找到的对象
    如果使用g,那么会将范围内所有找到的对象全部做替换

    例子:将54到56之间的echo替换为bajie
    :54,56 s/echo/bajie/g
    例子:将文件中全部的echo替换为bajie
    :1,$ s/echo/bajie/g
    或
    :% s/echo/bajie/g
    例子:将文件的50-100行行首添加一个#
    :50,100 s/^/#/g
    例子:1-5行首添加空格
    :1,5 s/^/ /g
    例子:将全部行首的空格删除
    :1,$ s/^ //g
    例子:将全部行首的#删除
    :1,$ s/^#//g
     例子:将1-5行中的a删除
    :1,5 s/a//g
    例子:在1-5行的末尾添加一个#
    :1,5 s/$/#/g
    例子:将文件中全部的/替换为+
    :% s@/@+@g
    首行^name;name$;表示行尾内容
    补充1:
    ^:表示行首
    $:表示行位
    
    第五类命令:保存和退出
    w:执行保存操作(保存到原始文件中)
    w /path/to/file:实现文件另存为1
    q:退出
    !:强制执行操作
    
    第六类命令:高级操作
    !命令:在vi中直接执行命令
    r /path/to/file:将file中的内容导入到当前文件中
    set tabstop=4:将tab缩进的字符数设置为4个1
    set ai:设置自动缩进1
    set noai:取消自动缩进1
    
    第七类命令:复制、移动、删除多行的操作
    start,end d:删除多行;:1,3 d;
    start,end m dest:将多行移动到指定行的下面;:1,3 m $
    start,end co dest:将多个复制到指定行的下面;:1,3 co $;
    例子:将59到198之间的内容复制到233行的下面
    59,198 co 233
    

    分屏操作

    vim -o file1 file2:实现水平分屏
    vim -O file1 file2: 实现垂直分屏
    ctrl+w:切换到另一个分屏
    打开文件的小技巧
    vim +num file:打开文件的时候,自动跳转到第num行(加号不可省略)
    vim + file:打开文件的时候,自动跳转到最后一行

    vi的配置文件

    /etc/vimrc:全局配置文件,在这个文件中做的配置,会对所有用户生效;重点
    ~/.vimrc:(默认不存在,需要自己手动创建)用户配置文件,仅仅对当前用户生效

    1. 编辑vi的配置文件,实现可以自动显示行号、缩进4个字符、自动对齐
      vi ~/.vimrc
      :set nu;显示行号
      :set ai;设置自动缩进
      :set tabstop=4;tab缩进四个字节

    vi崩溃缓存机制

    用vim编辑一个文件的是,如果文件没有正常的关闭(wq、q、q!),那么就会生成一个崩溃缓存文件

    崩溃缓存文件的和作用

    1. 缓存文件是隐藏文件
    2. 缓存文件基本格式是 .file.swp
    3. 缓存文件的作用是用于在系统意外关机的情况下,恢复文件中的内容(修改了文件内容,意外关掉终端或者系统)
    4. 缓存文件的使用方式
      第一步:# vim -r .file.swp 误操作之后输入此命令寻找缓存文件保存,然后删除此文件,源文件同步出现。
      第二步:保存退出
      第三步:删除缓存文件

    注意:

    1. 如果文件发生了修改,那么无法直接退出
    2. 如果要退出一个修改了的文件,有三种方式
      方式1:先执行保存(w),然后执行退出(q)
      方式2:直接保存并退出(wq)
      方式3:不保存,并强制执行退出操作(q!)

    相关文章

      网友评论

          本文标题:vim编辑器

          本文链接:https://www.haomeiwen.com/subject/fxbpoqtx.html