VIM编辑器用法大全

文本编辑工具
语法:vim 参数 文件
文本编辑种类:
行编辑器:sed
全屏编辑器:nano,vi,vim – Vi Improvedvim
VIM编辑器用法大全
vim编辑器三大模式
  1. 编辑模式,
  2. 输入模式:
  3. 末行模式: 内置的命令行接口;
模式转换:
编辑模式 — > 输入模式 :
i : 在光标所在处输入
a : 在光标所在处的后方输入
o : 在光标所在处下方打开的一个新行;
I :在光标所在行的行首输入;
A : 在光标所在行的行尾输入;
O : 在光标所在处的上方打开一个新行;
输入模式 –> 编辑模式
ESC
编辑模式–> 末行模式
末行模式 –> 编辑模式
ESC
—————————————————————————————————————————–
打开文件 :
+# : 打开文件后,直接让光标处于第#行的行首;
+ : 打开文件后,直接让光标处于最后一行
+/PATTERN :打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首;
关闭文件:
编辑模式
      ZZ : 保存并退出:
      ZQ:不保存退出;
末行模式
     :q 退出
     :q! 强制退出,不保存
     :wq 保存并退出
     : x 保存并退出
     : w /PATH/TO/SOMEFILE
移动光标操作
光标跳转
     k : 上
     h : 左
     l :右
     j : 下
还可以加数字 #hjkl 可以指定跳多少个字符
单词间调换
     w : 跳向下一个单词的词首
     e : 当前或后一个单词的词尾
     b : 当前或前一个单词的词首
     同上可以加数字 #web
行内跳转
     ^ : 跳转至行首的第一个非空白字符;
     0 : 跳转至行首; (绝对行首)
     $ : 跳转到行尾 ;
行间跳转
     #G :跳转至指定的行;
     gg : 跳转至第一行
     G: 跳转至最后一行
句间跳转
     ) : 上一句
     ( : 下一句
段间跳转
     } : 上一段
     { : 下一段
翻屏操作
     Ctrl+f : 向文件尾部翻一屏
     Ctrl+b : 向文件首部翻一屏
     Ctrl+d :向文件尾部翻半屏
     Ctrl+u : 向文件首部翻半屏
     Enter : 按行向后翻
vim 的编辑命令
删除单个字符
     x : 删除光标所在处的字符;
     #x: 删除光标所在处起始地向后的#个字符;
     xp :交换光标所在处的字符以及后面的字符的位置;
替换命令
     r : 替换光标所在处的字符;
     R:转换为替换模式,替换当前所有字符
删除命令
     d : 删除命令 , 可结合光标跳转字符 , 实现范围删除 ;
     d$ , d^ , dw , de , db 前面可加数字
     dd : 删除光标所在行的一整行 ; 前面可以加数字
     末行模式下删除第几到第几行
             .: 表示当前行
            $: 表示最后一行
            +#: 向下的#行
粘贴命令
     小 p : 缓冲区中的内容如果为整行, 则粘贴在当前光标所在行的下方,
     否则,粘贴至当前光标所在处的后方‘
     大P :粘贴在光标上方
复制命令
     y : 复制 , 工作行为类似于d 命令;
     y^ y$ y0 ye yw yb
     yy : 复制一整行
     #yy : 复制#行
撤销操作 :( 最多保存50次撤销操作)
     u : 撤销此前的操作
     可以支持前面加数字#u
               Ctrl+r : 撤销此前的撤销操作
改变命令
     编辑模式 –> 输入模式 ; 实现删除操作且切换至输入模式
     c# c$ c^ c0 cb ce cw
     cc : 删除光标所在的行,并转换为输入模式;
     #cc :
可视化模式
     v :按字符选定;
     V :按行选定 ;
          结合编辑命令 : d , c, y
重复执行前一个编辑操作
     . :可重复此前的操作
vim 末行模式
     内建的命令行接口;
(1) 地址定界
     语法:start_pos[,end_pos]
     参数
     #: 特定的第#行,例如5即第5行;
     . : 表示当前行
     $ : 最后一行
     #,#: 指定行范围,左侧为起始行,右侧为结束行;
     #,+# : 指定行范围,左侧为起始绝对编号,右侧为相对左侧行号的偏移量;
     例如;3,+7 表示从3行开始向后加7行
     % : 表示全文
     /pattern/ : 从光标所在处起始,第一次被模式所匹配到的行;
可同编辑命令一同食用,实现编辑操作: d ,y , c
语法
     w/PATH/TO/SOMEFILE : 将范围内的文本保存至指定的文件中;
     r /PATH/TO/SOMEFILE : 将指定的文件中的文本读取并插入指定位置;
(2) 查找
     /PATTERN : 从当前光标所在处向文件尾部查找能够被当前模式匹配到的所有字符串;
     ?PATTREN : 从当前光标所在处想文件首部查找能够被当前模式匹配到的所有字符串;
     支持 : n : 下一个,与命令方向相同;
     N : 上一个,与命令方向相反;
(3) 查找替换
     s : 末行模式的命令;
     语法: s/要查找的内容/替换为的内容/修饰符
     要查找的内容:只可用正则表达式;
     替换为的内容:不能使用正则表达式,但可引用;
     如果要查找的内容部分在模式之中使用了分组符号:在替换为的内容中使用后向引用
     直接引用查找模式匹配到的全部文本;要使用&符号;
     修饰符
     i : 查找时忽略大小写
     g : 全局替换 , 意为着一行中如果匹配到多次,则均替换;
     可把分隔符 替换为非常用字符:
         例如 : s@
                         s#
vim 的多文件功能
多文件
     vim FILE1 FILE2 FILE3
在文件间切换
     :next 下一个
     :prev 上一个
退出所有文件
     :wqall 保存所有文件并退出 ;
     :wall 全部保存;
     :qall 全部退出;
多窗口
     打开文件时候参数
     vim -o : 水平分割窗口
     vim -O: 垂直分割窗口
在窗口间切换 : Ctrl+w , 上下左右
注意 :单个文件也可以分割为多个窗口进查看:
     Ctrl+w , s :水平分割窗口
     Ctrl+w , v : 垂直分割窗口
定制vim的工作特性
     注意:在末行模式下的设定,仅对当前vim进程有效;
     永久有效:
               全局 : /etc/vimrc
               当前用户; 在自己的家目录下建一个 vimrc文件
1、行号
     显示 : set number , 简写为 : set nu
     取消显示:set nonumber 简写为 : set nonu
2、括号匹配高亮
     匹配: set showmatch , set sm
     取消: set nosm
3、自动缩进
     启用 : set ai
     禁用 : set noai
4、高亮搜索
     启用: set hlsearch
     禁用: set nohlsearch
5、语法高亮
     启用: syntax on
     禁用: syntax off
6、忽略字符大小写
     启用: set ic
     禁用: set noic
获取帮助
     :help
     : help subject

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95396

(0)
简单不简单简单不简单
上一篇 2018-04-08
下一篇 2018-04-08

相关推荐

  • linux基础篇

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
    2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
    3、请使用命令行展开功能来完成以下练习:
    (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
    (2)、创建/tmp/mylinux目录下的:
    mylinux/
    ├── bin
    ├── boot
    │ └── grub
    ├── dev
    ├── etc
    │ ├── rc.d
    │ │ └── init.d
    │ └── sysconfig
    │ └── network-scripts
    ├── lib
    │ └── modules
    ├── lib64
    ├── proc
    ├── sbin
    ├── sys
    ├── tmp
    ├── usr
    │ └── local
    │ ├── bin
    │ └── sbin
    └── var
    ├── lock
    ├── log
    └── run

    2018-05-20
  • 网络管理 tcp/udp详解 (传输层)

    简介: TCP和UDP的区别 TCP是面向连接的传输控制协议,而UDP提供了无连接的数据报服务。 TCP具有高可靠性,确保传输数据的正确性,不出现丢失或乱序;UDP在传输数据前不建立连接,不对数据报进行检查与修改,无须等待对方的应答,所以会出现分组丢失、重复、乱序,应用程序需要负责传输可靠性方面的所有工作; UDP具有较好的实时性,工作效率较TCP协议高; …

    2018-05-01
  • 计算机的基础

    基础知识

    2018-07-23
  • TCP/IP协议栈 和IP地址规划

    TCP/IP IP地址的规划

    2018-05-15
  • Ansible使用介绍(二)YAML语法及Playbook

    playbook是由一个或多个”play”组成的列表,play的主要功能在于将事先归并为一组的主机装扮成事先通过ansibe中的task定义好的角色。从根本上来讲,所谓task无非是调用ansible的module。将多个play组织在一个playbook中,即可让它们联同起来按事先编排的机制运行。

    2018-05-30
  • 马哥教育– 第一周作业

    一、描述计算机的组成及其功能。 计算机由运算器,控制器,存储器,输入设备和输出设备五大部分组成。 运算器的功能是用于完成算术运算、逻辑运算。负责计算机执行的所有数学与逻辑功能。 控制器的功能是主要负责对程序所执行的指令进行分析,并协调计算机各部件进行工作计算机的所有其他部件。 存储器的功能是用于储存信息的设备,通常是将信息数字化后再利用电、磁、光学等方式的媒…

    2018-05-12