孙悟空大战孙猴子之VIM编辑器

咱们经常使用的文本编辑软件有MS WORD,国人的WPS也不逊色,最近也推出了linux版的WPS,而与之相对应的是处理ASCII编码的文本处理工具,最经常使用的当属vi /vim了,今天咱们介绍vim(Visual Interface inproved,可视界面加强版)linux

为了练手,咱们将一些复杂的文本文件保存到用户家目录下正则表达式

例如我把cp /etc/httpd/conf/httpd.conf ~cyb/ 咱们把httpd的配置文件复制到家目录下练手。vim

A:vim的命令格式.

vim [options][/path/to/somefile]bash

例如咱们要在当下路径建立一个a.txt的文本,咱们使用以下命令app

# vim a.txtide

B.vim的具体使用

Vim 有三种模式:1,编辑模式(命令行模式)2,输入模式 3,末行模式工具

首先,咱们说明,3者之间是如何转换的编码

编辑模式---------à输入模式spa

1 iinstert:在当前光标所在处前面插入命令行

2 aappend:z在当前光标所在行后面插入

3 o,在当前光标所在行的的下方新建一个空白行,而且转为输入模式

4 I 光标跳转至光标所在行首并改成输入模式

5光标跳转至光标所在的行尾处并改成输入模式

6 O光标跳转至光标所在行的上一行,并改成输入模式

输入模式转为编辑模式

ESC键便可

编辑模式转为末行模式

键入:

末行模式转为编辑模式:

两次ESC

光标跳转

字符间的跳转:

                K()

  H()                  L()

                J()

还有 #h 能够调准#个字符,先按住#(例如3)向左跳转3个字符

This is the main Apacheserver configuration file.It containsthe

光标在’s’处,而后按住3,再按h,光标到’T’

咱们来看但此间跳转,

咱们以此段话为例

咱们来看句间跳转

):下一句,

(:前一句按(

默认以 . 做为分隔符

段落间跳转

上一段

下一段

行间跳转

gg 或者 1G 跳转至行首

G,跳转至行尾

#G,跳转至第#行的行首

行内跳转

:行首的第一个非空白字符

:绝对行尾

:绝对行首

咱们来看怎么关闭文件

在末行模式下:

退出

保存

!强制

wq 保存并退出

q!强制退出

等价于wq 保存并退出

在编辑模式下

ZZ 保存并退出

qall 退出所有(由于有时候可能会一次打开多个文件去编写)

打开文件

vim –[options][file]

-o 打开多个文件时,上下屏显示

-O 打开多个文件时,左右屏幕显示

左屏幕到右屏幕 ctrl+w

若是不加

咱们同时打开多个文件时,须要文本间跳转,在末行模式下,输入如下命令

next 下一个

last最后一个

first 头一个

prev 前一个

编辑命令

删除单个字符

#x:删除#个字符

dw 删除光标所在处的单词

db: 删除光标所在处的前一个单词

de: 删除光标所在处及下个单词

d^: 从行首删除到当前光标所在处

dd 删除所在行

d$ 当前位置删除到光标所在行尾

在末行模式下能够地址定界,使用d命令能够更加灵活

起始地址,结束地址

$:最后一行

.当前光标所在行

%,全文

1,7d ,第一行到第七行所有删除

%d 删除全文

1,$d 从第一行到最后一行所有删除

1,+6d 从第一行,到1+6行所有删除

1, $-2d 从第一行到当前光标所在行数-2所在的行删除

.,+3 d从当前行到之后+3行全部的行所有删除

撤销此前的操做

U, vim会保存最近50次的操做,U命令可逐一撤销此前编辑的操做

咱们还能够撤销此前的撤销 ctrl+r

--à(此前一步操做)----à(如今操做)

    (撤销u<--------

-------à(撤销撤销ctrl+r)

复制

yy 复制当前行

#yy 复制当前行所在的向下3行,

y$ 复制光标所在处至行尾

y^ 复制当前行到行首(光标自动跳转到行首)

yw ,复制当前单词

粘贴

p在光标所在处的后方粘贴

P在光标所在出的前方粘贴

vimoptions

-# 默认打开后光标所在处为#行的行首

咱们介绍翻屏

Ctrl+f 向文件尾部翻一屏

Ctrl+d 向文件首部翻一屏

Ctrl+d 向文件尾部翻半屏

Ctrl+u 向文件首部翻半屏

Vim支持文本搜索

/keyword:从当前光标所在处向文件尾部查找

keyword:从当前光标所在处向文件首部查找

n:下一个,跟命令查找方向相同

N:前一个,跟命令查找方向相反;

固然能够支持模式搜索,支持正则表达式

窗口属性的定义

Set number,set nu显示行号

查找和替换

:地址定界s/查找模式/替换成的内容/gi

地址定界s@查找模式@替换成的内容@gi


一、删除/etc/grub.conf文件中行首的空

%s@^[[:space:]]\{1,\}@@

二、替换/etc/inittab文件中"id:3:initdefault:"一行中的数字为5;

%s@id:3:@id:5:@g

三、删除某文件中开头的#号及后面的空白字符,但要求#号后面必须有空白字符;

%s@^#[[:space:]]\{1,\}@@

四、为指定范围内的行的行首添加#;1,10s@^@#@g

相关文章
相关标签/搜索