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

    在Linux中,主要编辑器为vi或者vim,本文围绕vim做简单的讲解说明:

    Linux默认自带vi(vim)编辑器,其程序包为:

    [root@xuegod163 ~]# rpm -qf `which vi`
    vim
    -minimal-7.2.411-1.8
    .el6.x86_64
    [root@xuegod163
    ~]# rpm -qf `which
    vim`
    vim
    -enhanced-7.2.411-1.8.el6.x86_64

    vim 编辑器模式切换:

    命令模式 、命令行模式、编辑模式

    clip_image002

    命令模式:

         字符操作

    i 当前字符之前插入

    I 行首插入

    a 当前字符之后插入

    A 行尾插入

    esc 退出当前模式

    o 下一行插入

    O 上一行插入

    x 向后删除一个字符 (等同于delete键)

    X 向前删除一个字符 (等同于Backspace键)

    u 撤销一步

    行操作

    home键或^ 行首

    $行尾 end键

    Ndd 删除N行(N表示行数,1可忽略)

    Nyy 复制N行(N表示行数,1可忽略)

    p 将复制行粘贴

    扩展:剪切 =先删除,再粘贴

    删除到行首 d + HOME 或^

    删除到行尾 d + END 或$

    词操作

    dw 删除一个词,删除时要将光标移动到这个词的行首。 另外,如果光标不在行首,则删除光标之后的字母。

    yw 复制一个词

    w 切换单词

    块操作

    大D 或d+$删至行尾 d+^ 删至行首

    y+$ 复制至尾 y+^ 复制至首

    v 模式(多用于shell多行注释,配置文件也可能会用到

    进入v模式:CTRL+V

    编程的时候需要进行多行注释:
    1、注释:ctrl+v 进入列编辑模式

    2向下或向上移动光标

    3把需要注释的行的开头标记起来

    4然后按大写的I

    5再插入注释符,比如"#"。

    6再按Esc,就会全部注释了。

    删除多行注释:

    删除:再按ctrl+v 进入列编辑模式;向下或向上移动光标;选中注释部分,然后按d, 就会删除注释符号。

    VIM命令行模式操作

    :w 保存 save
    :q 没有进行任何修改,退出 quit
    :q! 修改了,不保存,强制退出
    :wq 保存并退出

    :wq! 强制保存并退出。

    保存:

    ZZ

    改一个字符: r 再对应文字

    替换
    :%s /this/that 每一行的第一个this被替换成that
    :%s /this/that/g 将文本中所有的this替换成that

    %表示全文匹配

    s替换

    this 原内容

    that修改后的内容

    g一行中所有匹配项,无只替换第一个匹配项

    :2,5 s/nologin/login/g #替换第二行到第五行中的nologin

    n,m表示指定行号。

    / 查找 :/target n 往下查找,N 往上查找

    :set nu/nonu #显示行号

    去消高亮显示: :noh 或 随便查找一组没有的字符

    :!ifconfig 调用系统命令

    vim中定位到某行:

    gg 定位到行首

    G 定位到最后一行

    #G 定位到某一行

    :# 定位到某一行

    #gg 定位到某一行

    #代表行号

    读取其他文件

    :r ./sshd_config.bak

    vim打开多个文件:

    [root@xuegod163 ~]# vim -O /etc/passwd /etc/hosts

    ctrl+WW 在文件之间进行切换

    自定义vim

    #vim ~/.vimrc

    输入:

    set nu

    set history=10

    除此之外,还有vim光标定位…

    活到老学到老,Mark标记,学习笔记

    在Linux桌面环境有gedit文本编辑器,图形化界面(相当于Windows的notepad)

  • 相关阅读:
    Linux下架构高可用性网络----HA+LB+lvs
    MacBook如何用Parallels Desktop安装windows7/8
    Win10如何彻底禁用小娜?彻底禁用小娜的方法
    安卓手机微信发不出去怎么办 微信不能发信息怎么办
    计算机名、主机名、用户账户名与NetBIOS名有什么区别
    安装corel x8提示你已安装了另外一个版本
    ssh整合问题总结--在添加商品模块实现图片(文件)的上传
    代理设计模式之静态代理与动态代理(超..)详解
    Java基础--反射机制的知识点梳理
    ssh整合问题总结--运行项目时报java.lang.StackOverflowError(堆栈溢出)异常
  • 原文地址:https://www.cnblogs.com/Csharp-Learn/p/5351518.html
Copyright © 2011-2022 走看看