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)
cuicui
上一篇 2017-07-30
下一篇 2017-07-30

相关推荐

  • Linux LVM

    Linux LVM 前言     LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。无论在Linux或者其他类似…

    系统运维 2016-04-24
  • mysql复制与备份

    备份策略: 完全+差异+binlog 完全+增量+binlog binlog最好能实时备份到另一个节点上。 完全备份,多久一次? 数据变化量:有20%,建议使用完全备份。 可用的备份存储空间: 数据变化量很大,可以每天做一个完全备份,每周做一次增量备份。 数据变化量不大,可以每月做一次完全备份,每天做一次增量或者差异。 数据 备份工具: mysqldump:…

    Linux干货 2016-12-05
  • Linux系统启动流程简介

    centos系统启动流程 本篇仅仅讲解centos5和6 centos7并不适用 Linux系统的组成部分:内核+根文件系统 内核功能: 进程管理 内存管理 网络管理 驱动程序 文件系统 安全功能 有以下目录结构的文件系统可以被识别为根文件系统,但根文件系统本身不存在 rootfs:/bin/ /sbin /etc/ /sys/…

    Linux干货 2016-09-10
  • 用户和组

    用户和组 touch /etc/nologin     系统做维护时不想普通用户登录,就可以创建这个文件,也可以在里面写一些提示。     维护完之后删除这个文件就可以自动恢复      touch /run/nolog…

    Linux干货 2016-08-03
  • PHP字符串的编码问题

        大家都知道,不同字符编码,其在内存占用的字节数不一样。如ASCII编码字符占用1个字节,UTF-8编码的中文字符是3字节,GBK为2个字节。     PHP 也自带几种字符串截取函数,其中常用到的就是 substr 和 mb_substr。     使用substr截取中…

    Linux干货 2015-10-22
  • CMDB内功心法,助我登上运维之巅

    很多70、80后甚至90后都在金庸、古龙、梁羽生先生等武林大家熏陶下成长的,这么多年过去了,我的武侠梦依然不曾散去。曾几何,梦想有一天练就一身绝学,搂着小师妹花前月下,仗剑走天涯,快意人生。可每次的酣睡美梦都被班主任大书板子给抽醒,在他们的鞭策之下,浑浑噩噩的成了一位IT骚年。我们都知道武功分为内功和招式,内功是气,而招式是形,以气御形。内功深厚,会让你的招…

    系统运维 2017-01-09