vim编辑器的常见使用

1、vim介绍

Vim是从 vi 发展出来的一个文本编辑器,处理文本文件功能强大。

三种主要模式:

Vim打开文件,默认命令(Normal)模式,可以移动光标,剪切和粘贴。

按键i 进入插入(Insert)模式,用户可以编辑文本。

扩展(Extended)命令模式(或末行模式)用户:wq可保存退出,或者:q!强制退出。

Exc按键可退出当前模式。


2、文本操作

vim 打开文本文件

        vim +# :打开文件,并定位于第#行

        vim +:打开文件,定位至最后一行

        vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首

移动光标(编辑模式)

单个移动: h: 左, l: 右, j: 下, k: 上。

       #h: 移动#个字符

w: 移至下一个单词的词首

行内跳转:0: 绝对行首  $: 绝对行尾  ^: 跳转至行首的第一个非空白字符

句间移动:):下一句(:上一句

段落间移动:}:下一段{:上一段

在整个文件里面移动光标

<Ctrl-f>:向下移动一屏。<Ctrl-d>:向下移动半屏。

<Ctrl-b>:向上移动一屏。<Ctrl-u>:向上移动半屏。

G:到文件尾

#G:移动光标到指定的行

gg:到文件首

H:移动光标到屏幕上面

M:移动光标到屏幕中间

L:移动光标到屏幕下面

 

3、搜索

/word:从当前光标处开始搜索字符串 word,按 n移动到下个单词处,N 移动到上一个。

?word:和上面类似,但是是反方向。

4、编辑文本

插入模式

i:在当前字符的左边插入

I:在当前行首插入

a:在当前字符的右边插入

A:在当前行尾插入

o:在当前行下面插入一个新行

O:在当前行上面插入一个新行

删除单个字符

x: 删除光标所在处的单个字符

#x: 删除光标所在处及向后的共#个字符

删除命令:

d$: 删除到行尾

d^:删除到非空行首

d0:删除到行首

dd: 删除当前光标所在行

#dd: 删除包括当前光标所在行在内的#行;

剪切和拷贝

y:拷贝选择的内容到剪贴板。

c:剪贴选择的内容到剪贴板并且进入插入模式。

yy:拷贝当前行。

cc:剪切当前行并且进入插入模式。

D:剪切从光标位置到行尾到剪贴板。

Y:拷贝当前行。

C:和 D 类似,最后进入插入模式。

x:剪切当前字符到剪贴板。

粘贴:p

 

5、Vim多缓冲区编辑

剪贴板在 VIM 里面被称为寄存器(Registers)。你可以列出当前定义的所有寄存器名和它们的内容

比如:我们要拷贝当前行到寄存器 a 或者其他字母。你应该按 “ayy。现在当前行已存在寄存器 a 里面直到你又拷贝了一些东西进入寄存器 a。你可以使用命令 “ap 来粘贴寄存器 a 里面的内容到你想要的位置。

 

6、撤销改变

u:撤消前一次的编辑操作

             连续u命令可撤消此前的n次编辑操作

#u: 直接撤消最近#次编辑操作

撤消最近一次撤消操作:Ctrl+r

7、多文件编辑

vim FILE1 FILE2 FILE3 …

:next 下一个

:prev前一个

:first 第一个

:last 最后一个

:wall 保存所有

:qall退出所有

:wqall 

多文件分割

vim -o|-O FILE1 FILE2 …

-o: 水平分割

-O: 垂直分割

在窗口间切换:Ctrl+w, Arrow

单文件窗口分割:

Ctrl+w,s: split, 水平分割

Ctrl+w,v: vertical, 垂直分割

ctrl+w,q:取消相邻窗口

ctrl+w,o:取消全部窗口

wqall退出

 

8、编辑命令

将当前文件中部分内容另存为另外一个文件

末行模式下使用w命令

:w

:ADDR1,ADDR2w /path/to/somewhere

将另外一个文件的内容填充在当前文件中

:r /path/to/somefile

 

shell交互 :! COMMAND

原创文章,作者:cui,如若转载,请注明出处:http://www.178linux.com/83296

(9)
上一篇 2017-07-30 16:33
下一篇 2017-07-30 16:43

相关推荐

  • DNS高级应用之ACL和View

    一、环境准备:     1、准备三台主机,要求如下      (1) DNS服务器双网卡:eth0:192.168.10.203  eth1: 172.16.2.10       (2)测试机1双网卡: eth0: 172.16….

    Linux干货 2015-06-01
  • bash的重定向

    一、简介         bash的数据流重定向(redirect)是将程序的执结果重新定向到另一文件或者设备。或者把一文件重定向给一程序作为数据来源。默认情况下,命令的执行结果显示在屏幕上。文件系统中,分为:标准输入,标准输出,错误输出。 二、用法   &n…

    Linux干货 2015-08-11
  • 自制一个小型Linux(附带网络功能)

      我们这次讲述一下Linux启动的启动流程以及制作一个附带网络功能的mini linux 一、叙述 二、为什么要制作这么一个小型的系统 三、怎么制作 1、制作步骤 2、将虚拟机添加网络功能 一、叙述   在制作一个小型的Linux之前,首先你得明白Linux系统的启动过程,我们用一张图来进行说明  二、为什…

    Linux干货 2016-12-21
  • LVM应用概要

    LVM — 即Logical Volume  Manager(逻辑卷管理管理),是Linux的一种磁盘管理机制。 LVM可以将物理磁盘以PV(Physical Volume)为单位抽象成VG(Volume Group)。在VG中,最小存储单元是一个PE(Physical Extent)。在VG的基础上再抽象一层,划分出LV(Logical Vol…

    2017-11-28
  • keepalived+haproxy实现wordpress的动静分离及负载均衡、高可用

    实验目的:使用keepalived+haproxy实现wordpress的动静分离及负载均衡、高可用 实验要求:客户端请求的动态资源代理至动态资源web组,请求的静态代理至静态资源web组,启用统计面信息并只对特定启用统计面管理功能,启用https安全连接 系统环境:CentOS 7.3、关闭selinux和清除iptables规则,A和B主机各需要两块网卡…

    2017-05-18
  • 加密类型及其相关算法

    加密类型及其相关算法 §·TCP/IP安全: ※·机密性: 数据在网络上传输是明文传输(ftp,http,smtp,telnet): ※·数据的完整性: 数据在网络上传输,不能被其它人篡改,保证数据的完整性: ※·身份验证: 访问的主机有一种机制可以表明就是你需要通信的主机。 ※·保证机密性:对数据进行加密。 ·如何加密:发送方通过转换规(转换算法)则把明文…

    Linux干货 2016-09-06