• Linux中vim文本编辑器的介绍和使用方法


    vim主要模式介绍,vim命令模式。

    确保系统已经安装了VIM工具

    [root@panda ~]# rpm -qf `which vim`

    [root@panda ~]# rpm -qf `which vi`

    扩展:

    问:vi和vim是同一个软件包安装的吗?

    答:NO,vim是vi的增加版,最明显的区别就是vim可以语法加亮,它完全兼容vi

    5.1.1 vim编辑器模式

    首次进入文件 ---- 命令模式

    出现 “Insert” ---- 编辑模式

    输入: ---- 命令行模式

    A:从编辑模式到命令行模式怎样切换?

    编辑模式->esc->命令模式->: ->命令行模式

    B:字符操作(怎样进入编辑模式?)

    进入编辑模式 a i o A I O

    说明:

    i 当前字符之前插入 (光标前)

    I 行首插入 (行首)

    a 当前字符之后插入 (光标后)

    A 行尾插入(行尾)

    o下一行插入 (另起一行)

    O上一行插入(上一行插入)

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

    X 向前删除一个字符

    u 撤销一步 每按一次就撤销一次

    r 替换

    5.1.2 在命令模式下做的操作:

    光标定位

    hjkl 左下上右

    0 和 home键表示切换到行首, $和end键表示切换到行尾

    gg 快速定位到文档的首行 , G定位到未行

    3gg 或者 3G 快速定位到第3行

    /string(字符串) -----找到或定位你要找的单词或内容,如果相符内容比较多,我们可以通过N、n来进行向上向下查找,并且vi会对查找到的内容进行高亮显示,取消用 :noh

    /^d ----^意思表示以什么开头 ,,查找以字母d开头的内容

    /t$ -----$意思表示以什么结尾,,查找以字母t结尾的内容

    vim + a.txt 打开文件后,光标会自动位于文件的最后一行

    如何对文本进行编辑

    删除、复制、粘贴、撤销

    y 复制(以字符为单位) :表示对单个字符进行复制,如果要复制整行,用yy(以行为单位)

    复制N行: Nyy ,比如: 2yy ,表示复制2行

    dd(删除,以行为单位,删除当前光标所在行)

    删除N行: Ndd ,比如: 2dd ,表示删除2行

    p : P粘贴

    剪切: dd

    x 删除光标所在位置的字符

    D 从光标处删除到行尾

    u 撤销操作

    ctrl+r 还原撤销过的操作,将做过的撤销操作再还原回去,也就是说撤销前是什么样,再还原成什么样

    r 替换,或者说用来修改一个字符

    总结:vim如何进入其它模式

    a A o O i I 都是可以进行插入,编辑模式

    : 进入命令行模式

    v 进入可视模式

    ctrl+v 进入可视块模式

    V 进入可视行模式

    R 擦除、改写,进入替换模式

    你进入以上模式后,想要退出 ,按esc

    扩展:插入模式中的操作

    ctrl+p可以进行补全操作,所需要的内容必须是在当前打开的文件内存在的,它只针对当前文件

    5.1..3 V模式(列)

    进入v模式 移动光标选择区域、

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

    2)、向下或向上移动光标,把需要注释、编辑的行的开头选中起来

    4)、然后按大写的I

    5)、再插入注释符或者你需要插入的符号,比如"#"

    6)、再按Esc,就会全部注释或添加了

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

    5.1.4 命令行模式操作

    :w 保存 save

    :w! 强制保存

    :q 没有进行任何修改,退出 quit

    :q! 修改了,不保存,强制退出

    :wq 保存并退出

    :wq! 强制保存并退出

    :x 保存退出

    例: wq! 强制保存并退出

    [root@xxx ~]# ll /etc/shadow

    ----------. 1 root root 1179 9月 19 12:57 /etc/shadow

    [root@xxx ~]# vim /etc/shadow

    调用外部文件或命令

    假设:我想要写入我的网卡MAC地址,,我要查看一下,当前在vim编辑文档,照着写。这样好麻烦。

    在命令行模式下操作:

    :!ifconfig 调用系统命令

    !+命令

    读取其他文件。(把其他文件中的内容追加到当前文档中)

    :r /etc/hosts

    文本替换

    格式 : 范围(其中%所有内容) s分隔符 旧的内容 分隔符 新的内容 (分隔符可以自定义)

    默认是每一行的第一个符合要求的词 (/g全部)

    :1,3 s/bin/xxx 替换第1到3行中出现的第一个bin进行替换为xxx

    :1,3 s/bin/xxx/g 替换第1到3行中查找到所有的bin进行替换为xxx

    :3 s/xue/aaaaa #只把第3行中内容替换了

    :% s/do/xxx/g 将文本中所有的do替换成xuegod

    :% s/do/xxx/gi 将文本中所有的do替换成xxx, 并且忽略do的大小写

    :% s@a@b@g 将文本中所有的a替换成b

    5.1.5 自定义vim使用环境

    临时设置

    :set nu 设置行号

    :set nonu 取消设置行号

    :noh 取消高亮显示

    永久设置环境

    vim /etc/vimrc 设置后会影响到系统所有的用户

    ~/.vimrc #在用户的家目录下,创建一个.vimrc。这样只影响到某一个用户,没有自己建一个

    例:

    [root@xxx ~]# cat /root/.vimrc

    set nu

    [root@xxx ~]# vim /root/.vimrc

    vim打开多个文件

    方法1:以上下形势,打开两个文档

    [root@xxx ~]# vim -o /etc/passwd /etc/hosts

    方法2:以左右方式打开两个文档

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

    注:ctrl+ww 在两文档之间进行切换编辑。大写O左右分屏,小写的o上下分屏

    比较两个文件内容

    [root@xxx ~]# cp /etc/passwd mima.txt

    [root@xxx ~]# echo aaa >> mima.txt

    [root@xxx ~]# diff /etc/passwd mima.txt

    40a41

    > aaa

    [root@xxx ~]# vimdiff /etc/passwd mima.txt

    No pain, no gain!
  • 相关阅读:
    prototype属性
    mui 结束时间不能大于开始时间
    DOM方式操作元素属性
    用户输入数字,自动生成钱值
    isNaN函数,判断其参数是否为数字类型
    switch 循环
    淘宝下单高并发解决方案(转)
    NLog文章系列——如何配置NLog(转)
    使用Nlog记录日志到数据库
    NLog文章系列——如何配置NLog
  • 原文地址:https://www.cnblogs.com/fusheng11711/p/10509150.html
Copyright © 2020-2023  润新知