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

相关推荐

  • Linux的启动流程

    Linux的启动流程大致上如下图. 现在详细说明一下每个步骤: 第一阶段 当系统启动时,系统首先会加载BIOS。BIOS的首先会检查各硬件设备,当检查完毕没有问题之后。BIOS会根据设定的BootSequence来寻找可以引导系统的设备。一般而言,Linux是通过磁盘上MBR来引导系统的。 第二阶段 MBR是Master Boot Record,是位于磁盘第…

    Linux干货 2016-02-28
  • 基于NFS服务的wordpress站点

    实验要求:             (1) nfs server导出/data/web,在目录中提供wordpress;     (2) nfs client挂载nfs server导出的文件系统至/data/web; …

    2017-06-11
  • shell编程数组及源码安装作业

    写一个脚本,定一个数组,数组中的元素是/var/log目录下所有以.log结尾的文件,要统计其下标为偶数的文件中的行数之和 [root@localhost sh.log]# cat declaresum.sh  #!/bin/bash #author:DYW #写一个脚本,定一个数组,数组中的元素是/var/log目录…

    Linux干货 2016-08-29
  • Linux网络属性管理

    Linux网络属性管理 linux的网络配置方法有多种,而且随发行版及版本而略微不同。我目前的测试环境为CentOS6和CentOS7。 常用的网络配置命令或方法有:ifconfig,route,netstat,ip,ss,nmcli,配置文件。 首先:命令方法介绍 一、命令简介 ifconfig:是个比较传统的命令,可以配置网络接口的启用及关闭,IP地址等…

    系统运维 2016-05-29
  • Linux基础入门

    Linux基础入门 1、Linux发行版及哲学思想 1.1 Linux发行版          Linux发行版(Linux Distribution,也被叫做GUN/Linux发行版),为一般用户预先集成好的Linux操作系统及各种应用软件。Linux发行版通常包含了包括桌面环…

    Linux干货 2016-02-28
  • Linux之bash shell脚本编程入门篇(三)之循环以及函数function的使用

    bash shell脚本编程入门篇(三)之循环 什么是循环执行?     将某代码段重复运行多次     重复运行多少次:         循环次数事先已知    &nb…

    Linux干货 2016-08-22