zoukankan      html  css  js  c++  java
  • Linux笔记 vi/vim编辑器

    一、vi/vim的三种模式
     
      vi编辑器有三种模式:命令模式(command mode)、插入模式(Insert mode)、底行模式(last line mode)。就是你直接用命令(vi  文件名)打开一个文件的话,默认是在命令模式下。命令模式下是不能直接编辑文本的,你输入的字母会被当作命令执行。比如输入i,是指在当前光标前输入,并且切换到插入模式。在插入模式下你就可以进行文本的编辑。插入模式下你按Esc可以返回命令模式。在命令模式下,通过输入:(英文冒号)可以切换到底行模式,底行模式下可以做一些保存,字符替换等操作,底行模式下命令以回车结束,退出或者返回命令模式,或者双击Esc返回命令模式。比如wq再回车,表示保存并退出编辑。插入模式和底行模式不能直接切换,要经由命令模式。进入底行模式,底部会出现冒号提示;进入插入模式,底部会出现--INSERT--提示。如果没有,先进入底行模式,输入set showmode+回车 即可显示提示。
     
    二、vi/vim的基本命令
     
    1.vi基本语法:vi [选项] [参数]
     
    选项:
     
    +<行号>:从指定行号的行开始先是文本内容;
    -b:以二进制模式打开文件,用于编辑二进制文件和可执行文件;
    -c<指令>:在完成对第一个文件编辑任务后,执行给出的指令;
    -d:以diff模式打开文件,当多个文件编辑时,显示文件差异部分;
    -l:使用lisp模式,打开“lisp”和“showmatch”;
    -m:取消写文件功能,重设“write”选项;
    -M:关闭修改功能;
    -n:不实用缓存功能;
    -o<文件数目>:指定同时打开指定数目的文件;
    -R:以只读方式打开文件;
    -s:安静模式,不现实指令的任何错误信息。
     
    参数:
    文件列表:指定要编辑的文件列表。多个文件之间使用空格分隔开。
     
    2.不同模式下的语法
     
    ----命令模式:----
     
    1)粘贴复制删除等操作
    yy            复制光标所在行
    2yy           复制光标所在行开始的2行
    p             粘贴
    dd            删除光标所在行(实际是剪切)
    3dd           删除光标所在行开始的3行(剪切)
    x             删除当前光标所在的字符
    X(大写)      删除当前光标前一个字符
     
    2)光标的移动
    h  左移    j  下移   k  上移    l  右移 (四个箭头也可以上下左右移动)
    H 当前屏幕第一行 M      当前屏幕中间 L      当前屏幕最后一行
    ctrl+f 往下翻页 ctrl+b 往上翻页
    G 定位到最后一行(整个文档最后一行) 5G 定位到第5行 gg 定位到第一行(整个文档第一行)
    w 跳到下一个头部单词 b 跳到上一个单词 e 跳到下一个单词的尾部
    0      行首 ^      行首,非空字符 $      行尾
    {   移动到上一个代码块 } 移动到下一个代码块
     
    3)编辑模式及末行模式等其他模式的入口
    插入模式(INSERT MODE)
            a  在光标后一位进行插入编辑
            A  在当前行的最后进行插入编辑
            i  在当前光标的前一位进行插入编辑
            I  在当前行的行首进行插入编辑
            o  在当前行向下插入一行进行编辑
            O  在当前行向上插入一行进行编辑
    选择模式(VISUAL MODE)    v 以字符为单位进行选择    V 以行为单位进行选择    ctrl+v 以块为单位进行选择
    替换模式(REPLACE MODE)   r 单次替换    R 替换模式
    扩展模式 用于文件操作,搜索    :   /
     
    4)其他
    u           撤销
    ctrl+r      反撤销(撤销u操作)
    

      

    ----底行模式:----
     
    末行模式主要用于保存或退出文件,以及设置Vim编辑器的工作环境,还可以让用户执行外部的Linux命令或跳转到所编写文档的特定行数。要想切换到末行模式,在命令模式中输入一个冒号就可以了。
     
    :w      保存
    :q      退出
    :q!      强制退出(放弃对文档的修改内容)
    :wq!     强制保存退出
    :set nu 显示行号 :set nonu 不显示行号
    :命令 执行该命令 :整数 跳转到该行
    :s/one/two 将当前光标所在行的第一个one替换成two :s/one/two/g 将当前光标所在行的所有one替换成two :%s/one/two/g 将全文中的所有one替换成two
    ?字符串 在文本中从下至上搜索该字符串 /字符串 在文本中从上至下搜索该字符串

      

    ---编辑模式:----
     
          用vim随意进入一个文件按‘a’即可进入输入模式,输入模式下,可任意输入无特别要求,和Windows的文本编辑操作基本相同。
    注:在命令模式中按“a”跳入下一格,按“i”保持原位置,按“o”跳入下一行
     
     
     
    原文:https://blog.csdn.net/yuchenxueyue/article/details/82761050 
               https://blog.csdn.net/xing851483876/article/details/84553945 
  • 相关阅读:
    redis 高级
    redis连接
    redis脚本
    Redis事务
    redis发布订阅
    加一
    C语言从代码中加载动态链接库
    GCC编译器
    Vim编辑器基础
    Linux用户的创建与授权及修改密码
  • 原文地址:https://www.cnblogs.com/dumpling-z/p/11170317.html
Copyright © 2011-2022 走看看