初识VIM

1 文件操作    1

1.1 VIM基本介绍    1

1.2 VIM模式介绍    1

1.3 VIM命令模式    3

1.4 VIM编辑模式    3

1.5 VIM末行模式    3

1.6 VIM视图模式    3

1.7 VIM环境变量    4

1.8 VIM扩展知识    4

1.9 VIM练习    4

2 目录操作    4

  1. 文件操作

Linux系统VIM编辑

  1. VIM基本介绍

    1. vim概述

vi和vim命令是linux中强大的文本编辑器,由于Linux系统一切皆文件,编辑文件是必不可少的工作,而vim有着强大的文本编辑功能。

  1. vi和vim有什么区别?

1、vi不下时语法高亮

    2、vim显示语法颜色高亮

    3、其他功能没有什么不同

    4、所以在Linux系统中,使用vi还是vim取决于个人习惯

  1. 安装vim

这里我已经安装过了 键入命令 yum install -y vim 安装vim

[root@oldboy ~]# yum install -y vim

已加载插件:fastestmirror

Loading mirror speeds from cached hostfile

* base: mirrors.aliyun.com

* extras: mirrors.aliyun.com

* updates: mirrors.aliyun.com

软件包 2:vim-enhanced-7.4.160-4.el7.x86_64 已安装并且是最新版本无须任何处理

        

 

  1. VIM模式介绍

    1. vim编辑器中设置了三种模式

  1. 命令模式
  2. 编辑模式
  3. 末行模式
    1. VIM模式之间的切换

  4. 命令模式———》输入模式

    iIaAoO

2、输入模式———》命令模式

    ESC键就可以切换到命令模式

3、命令模式———》末行模式

  1. 末行模式———》命令模式

    ESC键    

  2. VIM命令模式

    1. 移动

1、kjhl:上下左右

    2、G:光标跳转到末端

    3、gg:光标跳转到顶端

    4、ngg:指定行号跳转;

        例如:3gg:表示光标移动到第三行

    5、$/end:跳转到当前行末

    6、^/home:跳转到当前行首

    7、Ctrl+b/pgup:向上翻一页

    8、Ctrl+f/pgdo:向下翻一页

  1. 输入模式

    1、a:在光标的下一个字符插入

    2、A:直接将光标移动到行末插入

    3、i:再光标处插入字符

    4、I:在行首插入字符

    5、o:再下一行插入字符

  1. 复制

    1、yy:复制当前行

    2、5yy:复制当前行和一下4行

  1. 粘贴

    1、p:下一行粘贴

  1. P:下一行粘贴
  1. 删除

    1、dd:删除当前光标所在的行

    2、4dd:删除往前行和以下3行

    3、dG:删除当前行以后的所有行

    4、D:删除当前行内光标后的所有内容

    5、x:删除光标所在的字符

    6、X:删除当前所在行光标前面的一个字符

    7、shift+::进入末行模式

  1. 撤销

    1. u:撤销上一步操作
    2. U:撤销所有操作
  2. 替换

    1. r:替换当前光标所在的单个字符
    2. R:进入replace模式:连续替换,ESC结束
  1. VIM编辑模式

    1、a:在光标的下一个字符插入

    2、A:直接将光标移动到行末插入

    3、i:再光标处插入字符

    4、I:在行首插入字符

    5、o:再下一行插入字符

 

  1. VIM末行模式

    1. 查找 /string 需要搜索的内容(查找) ***

    1、n 按搜索到的内容依次往下进行查找

    2、N 按搜索到的内容依次往上进行查找

  1.     替换 ***

    1、:s#sbin#test 替换光标所在行的第一个满足条件的内容

    2、:s#sbin#test#g 替换光标所在行的所有满足条件的内容

    3、    :m,nds#sbin#test#g 替换m-n行中包含sbin的内容为test-5行中包含sbin的内容为test

    4、    :%s#sbin#test#g 替换整个文本文件中包含sbin的替换为test

    5、    :%s#sbin#test#gc 替换内容时时提示是否需要替换

    6、:%s#sbin##ng    查询全文中sbin的数量

  1.     另存

    1、:w /root/test 将文件所有内容另存为/root/test

  1.     读入

    1、:r /etc/hosts 读入/etc/hosts文件至当前光标下面

    2、:5r /etc/hosts 指定/etc/hosts文件当前文件的哪行下面

  1. 打开新文件

    1、:e /etc/hosts 新打开一个文件

  1. VIM视图模式

    1. 进入视图模式(从命令行模式进入视图模式)

    1、ctrl+v 进入VISUAL BLOCK 选中需要注释的行(可视块模式) ***

    a.插入:按shift+i进入编辑模式,输入#,结束按ESC键

    b.删除:选中内容后,按x或者d键删除

    c.替换:选中需要替换的内容, 按下r键,然后输入替换后的内容

    2、shift+v 进入VISUAL LINE 选中行内容(可视行模式) ***

    a.复制:选中行内容后按y键及可复制。

    b.删除:选中行内容后按d键删除。

  2. VIM环境变量

    1. 环境变量(临时生效)

    1、:set nu 显示行号

    2、:set ic 忽略大小写, 在搜索的时候有用

    3、:set ai 自动缩进

    4、:set list 显示制表符(空行、tab键)

    5、:set no[nu|ic|ai…] 取消临时设定的变量

  1. 环境变量(永久生效)

    1、~/.vimrc 个人环境变量(优先级高)

    2、/etc/vimrc 全局环境变量

  1. VIM扩展知识

    1. 同时编辑多个文件

Ctrl+ww切换编辑两个文件,需要退出两次

1、vim -o file1 file2 水平分割

[root@oldboy ~]# vim -o 1.txt 2.txt

1111111

2222222

3333333

1.txt 1,1 全部

4444444

5555555

6666666

2、vim -O file1 file2 垂直分割

  1. vimdiff相同文件之间差异对比

vimdiff 文件对比(用的不多)

vimdiff 以vim方式打开两个文件对比,标记不同的内容

  1. 如果VIM非正常退出

如果VIM非正常退出挂起或强制退出终端没关闭VIM后

//删除同文件名的.swp文件即可解决

示例:.filename.swp rm -f .filename.swp

  1. VIM练习

请把/etc/passwd 复制到/tmp/目录下,并重命名为test.txt

用vim打开test.txt并设置行号

分别向下、向右、向左、向右移动5个字符

分别向下、向上翻两页

把光标移动到第10行

让光标移动到行末,再移动到行首

移动到test.txt文件的最后一行

移动到文件的首行

搜索文件中出现的 root 并数一下一共出现多少个,不区分大小写搜索

把从第一行到第三行出现的root 替换成student

还原上一步操作

把整个文件中所有的root替换成student

把光标移动到20行,删除本行

还原上一步操作

删除第19行

还原上一步操作

删除从5行到10行的所有内容

还原上一步操作

复制2行并粘贴到11行下面

还原上一步操作(按两次u)

复制从11行到15行的内容并粘贴到8行上面

还原上一步操作(按两次u)

把13行到18行的内容移动文件的尾部

还原上一步操作(按两次u)

光标移动到首行,把/sbin/nologin改成/bin/bash

在第一行下面插入新的一行,并输入"# Hello!"

保存文档并退出

原文地址:https://www.cnblogs.com/majinhai/p/9534061.html