zoukankan      html  css  js  c++  java
  • vim编辑器详解

    vim是vi的增强版,需要使用yum下载,练习可以用vi也是一样的

    命令历史

    末行模式中,以:或/开头然后按上下箭头来选择某个历史命令。

    启动vim

    在命令行窗口中输入以下命令即可

    vim直接启动vim

    vim filename打开vim并创建名为filename的文件

    vi的工作模式

    命令模式:仅仅可以查看内容,但是不能进行修改(默认)

    输入模式:可以对文件中的内容进行修改

    末行模式:此模式可以进行一些命令

    vi打开文件,很简单vi +filename(文件名)

    注意:

    1. vi打开文件,如果发现文件是空的,那么说明所打开的文件是不存在的

    2. 也就是vi既可以打开现有的文件,也可以创建新文件,只是所创建的文件是空的

    3. vi有增强版本,称之为vim(也就是以后常用到的vim)

    4. vi是用来编辑文本文件的,不能用来打开目录

    从命令模式到输入模式

    i:是insert,从命令模式进入输入模式,在光标前插入内容

    I:将光标移到行首,然后进入输入模式

    a:是append,从命令模式进入输入模式,在光标后插入内容

    A:将光标移到行首,然后进入输入模式

    o:是other,从命令模式进入输入模式,在光标行下令起一行插入内容

    O:从命令模式进入输入模式,在光标行上面令起一行插入内容

    Esc退出输入模式,进入命令模式

    命令模式下的常用操作

    a. 复制、移动删除文件内容

    yy:复制光标所在的行

    nyy:复制光标所在行开始向下的n行

    dd:剪切光标所在的行

    ndd:剪切光标所在行开始向下的n行

    p:粘贴到光标所在行的下面

    P:粘贴到光标所在行的上

    D:删除光标所在的位置到行尾的内容

    dG:删除光标所在的行到末尾全部的行

    b. 撤销和重复执行的相关操作

    u:撤销上次所指向的操作

    nu:撤销n次操作

    ctrl+r:撤销刚刚所撤销的操作

    .:重复执行上一次的操作(u命令无法用 . 重复)

    c. 跳转相关的操作

    nG:跳转到第n行

    G:直接跳转到最后一行

    0:跳转行首(会认为空格也是内容)

    ^:跳转行首(不认为空格是内容)

    $:跳转到行尾

    ctrl+f:向下翻一屏

    Ctrl+b:向上翻一屏

    d. 替换相关操作

    r:替换一个字符(替换完成后,自动返回到命令模式)

    R:进入替换模式

    e. 查找

    /string:在文件中搜索指定的字符串

    n:正向查找

    N:反向查找

    从编辑模式到末行模式

    进入末行模式:命令模式下按:

    末行模式下的常规操作

    行号:

    set nu:显示行号

    set nonu:关闭行号

    跳转:

    num:直接跳转第num行

    $:直接跳到尾行

    取消匹配到的内容高亮

    nohl(no high light)

    替换

    start(起始行),end s/原始内容/替换内容/g(global)(分割符不一定是/,只要3个相同符号即可)

    比如1,8 s/bin/abc/g  一到八行所有的bin换成abc

    1,$ s/bin/abc/g $是到行尾

    % s/bin/abc/g      %全局模式的意思

    注意:

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

    “#”在Linux是注释的作用,行首+“#”,这一行为注释

    例如在前5行行首加#,可以    :1,5 s/^/#/g

    所有行首注释去掉  % s/^#//g   不要用“ 空格”表示会使每行加入空格开始

    结尾添加可以用$ 比如% s/$/ken/g  ,去掉就是 % s/ken$/ /g

    保存和退出

    w:执行保存操作

    w/path/to/file:实现文件令存为

    q:退出

    !:强制执行操作

    高级操作

    !命令:在vi中直接只学习命令

    比如我想创建song文件可以在vim中输入!touch song回车就可以继续在vim中操作

     r /path/to/file:将file中的内容导入到当前文件中

    如r /etc/passwd,将其中内容导入到当前文件

     set tabstop=2:将tab缩进的字符数设置为2个

    set ai:设置自动缩进

    set noai:取消自动缩进

    复制,移动删除多行的操作

    start,end d:删除多行

    start,end m dest:将多行移动到指定行的下面

    start,end co dest:将多个复制到指定行的下面

    分屏操作

    vim -o file1 file2:水平分屏

    vim -O file1 file2:垂直分屏

    Ctrl+w:切换到另一个分屏

    打开文件的小技巧

    vim+num file:打开文件的时候自动跳转到第num行(+不可省略)

    vim+file:打开文件时,自动跳转到最后一行

    vi的配置文件

    /etc/vimrc:全局配置文件,在这个文件中做的配置,会对所有用户生效

    -/.vimrc:(默认不存在,需要自己动手创建),用户配置文件,仅仅对当前用户生效

    vi崩溃缓存机制

    用vim编辑一个文件,如果文件没有正常的关闭,那就会生成一个崩溃缓存文件

    崩溃缓存文件的作用

    1. 缓存文件是隐藏文件

    2. 缓存文件的基本格式是.file.swp

    3. 缓存文件的作用是用于在系统以外关机的情况下,恢复文件中的内容

    4.缓存文件的使用方式

    第一步: vim -r .file.swp(r是recover的意思)

    第二步:保存退出

    第三步:删除缓存文件

    注意:

    1.如果文件发生了修改,那么无法直接退出

    2.如果要退出一个修改了的文件,有三种方式

    a.先执行保存(w),然后执行退出(q)

    b.直接保存并退出(wq)

    c.不保存,并强制执行退出操作(q!)

  • 相关阅读:
    《构建之法》阅读笔记4
    《构建之法》阅读笔记3
    《构建之法》阅读笔记2
    《构建之法》阅读笔记1
    Android可折叠式菜单栏
    Material卡片式布局+下拉刷新+完整代码
    android悬浮按钮的使用
    androidStdio下载与安装以及安装过程问题解释
    html给图片划分区域添加链接
    UI进阶2-滑动菜单
  • 原文地址:https://www.cnblogs.com/1011cjk/p/10833728.html
Copyright © 2011-2022 走看看