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 16:33
下一篇 2017-07-30 16:43

相关推荐

  • 用户与用户组

    用户与组常见命令与用法

    Linux干货 2017-11-18
  • LVS-net模型

    net模型拓扑图 注:rip的网关需指向DIP 搭建LVS net模式 基于httpd服务 首先准备三台主机 主机A 主机B 主机C 主机A(vs主机) 主机A设置两个IP 一个内网一个外网 #yum -y install ipvsadm #echo 1 > /proc/sys/net/ipv4/ip_forward :打开核心转发功能 #iptabl…

    Linux干货 2017-05-17
  • linux用户管理(一)

    作为一个专业的服务器发行版,CentOS上存在着n多个用户,作为一个专业的运维工程师,linux的用户管理和用户组的管理是做为一个SA必不可少的工作. 下面我们就先来谈谈linux中的用户管理: useradd可以在系统中新建一个用户 用法如下: useradd [选项] 用户名 常用选项: -u 指定用户的UID -g 指定用户的初始组ID -G…

    Linux干货 2017-04-03
  • 马哥教育网络班第22期+第14周作业

    week14: 系统的INPUT和OUTPUT默认策略为DROP; 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒; web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机; 2、在工作时间,即周一到周五的8:30-18:00,开放本机的ftp服务给172.16.0.0网络中的主机访问; 数据…

    Linux干货 2016-12-12
  • 马哥教育网络第21期-第六周课程练习

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@6 ~]# cp /etc/rc.d/rc.sysinit /tmp [root@6 ~]# …

    Linux干货 2016-08-15