Vim文本编辑器,Vim编辑器基础
分类:pc28.am神测网

Vim编辑器基础

vi:Visual Interface
vim:VI iMproved

先说目标和背景

今天布署服务器的时候,使用Linux编辑配置文件的时候,开采Vim编辑器各样不懂行。平时开掘“卧槽,这几个怎么没了?”“这么些怎么编辑不了?”“这几个怎么退出?”,忽地以为对于三个平日应用的操作系统,连个编辑器都接纳不熟悉。那还怎么成为权威呢。于是特意回头学习了一下Linux中的Vim的选用。大家都明白,Vim是无敌的编辑器,从效率来说Vim不输任何的编辑器。Vim作为Linux中的编辑器,并不平等Windows中的NotePad。相比于Vim来讲,Windows的记事本便是个渣渣。在此以前学习Linux的时候也学习过Vim的使用。不过不系统也不成类别。作者认知到这么不可以知道统统驾驭Linux。更别讲精晓了。所以建构了如此的叁个文集来特意学习一下Linux的各地方知识。不仅仅是Vim,在以往的码路上遇见其余有关Linux中的不熟知或许不驾驭的地点。都要系统性的想起一下。所谓“温故而知新”。

Vim是从 vi 发展出来的三个文件编辑器。

vi简介

Vim模式

1、编辑模式(命令模式)
    只能下达命令,不能键入字符
2、输入模式
    键入字符
3、末行模式
    左下角有冒号,可以键入命令执行

Vi

VI:Visual Interface

Vim有两种情势:编辑格局--输入格局--末行方式

vi:Visual Interface,是一种功用强盛的文本编辑器,工作在字符形式下,它可实践输出、输出、查找、替换、块等居多文书操作,不供给图形界面,因而实行起来成效会相当高,主要用于编排纯文本文件,常见的编码有,ASCII,Unicode等等。 

Vim方式调换

vim 文件名

编辑-->输入:
    i:在当前光标所在字符的前面,转为输入模式;
    a:在当前光标所在字符的后面,转为输入模式;
    o:在当前光标所在行的下方,新建一行,并转为输入模式;

    I:在当前光标所在行的行首,转换为输入模式;
    A:在当前光标所在行的行尾,转换为输入模式
    O:在当前光标所在行的上方,新建一行,并转为输入模式;

输入-->编辑:
    ESC

编辑-->末行:
    :

末行-->编辑:
    ESC,ESC

模式

Vim的格局分为:

  • 编写方式(命令格局)
    在刚起首踏入Vim是居于的模式正是编写制定格局,在编写制定形式中输入的别的字符都会作为命令
  • 输入格局
    在输入格局中,全体输入的字符都看成内容
  • 末行方式
    在编排方式中经过 :能够进来末行形式,末行形式能够进行一些一定的效果

方式调换:输入形式<<==>>编辑情势<<==>>末行形式

文本编辑器的档案的次序:

开发文件

# vim /path/to/somefile  

    vim  # :打开文件,并定位于第#行
    vim   :打开文件,定位至最后一行
    vim  /PATTREN :打开文件,定位至第一次被PATTREN匹配到的行的行首

默认处于编辑模式

形式的转移

编排形式--->输入格局

  • i: 在现阶段光标所在字符的前头,转为输入情势
  • a: 在当前光标所在字符的前面,转为输入形式
  • o:在时下光标所在行的花花世界,新建一行,并转为输入形式
  • I 在眼下光标所在行的行首,转换为输入方式
  • A 在脚下光标所在行的行尾,调换为输入情势
  • O 在那时此刻光标所在行的上方,新建一行,并转为输入方式

输入格局--->编辑形式

  • ESC 键转为编辑方式

编排方式---> 末行情势


  • 末行格局--->编辑格局
  • ESC

编排格局--> 输入方式:

    行编辑器:逐行来对文本实行管理的工具,如sed

关闭文件

1、末行模式关闭文件
    :q 退出
    :wq 保存并退出
    :q! 不保存并退出
    :w 保存 
    :w! 强行保存
    :wq --> :s 
2、编辑模式下退出
    ZZ: 保存并退出

张开文件

  • vim #:展开文件,并平昔于第#行
vim  5 /etc/hosts  打开hosts文件并编辑第5行
  • vim 展开文件,定位至最终一行
vim   profile 打开文件并编辑最后一行
  • vim /PATTE猎豹CS6N:展开文件,定位至第叁回被PATTE福特ExplorerN匹配到的行的行首
vim  /PATH profile 打开文件并定位到关键词PATH第一次出现的行的行首

n:定位下一个根本字地方
N:定位上叁个珍视字的岗位

i: insert, 实以后当前光标所在处字符前面转变为输入形式;

    全屏编辑器:占有整个显示屏进行编辑,如nano,vi

活动光标(编辑方式)

1、逐字符移动:
    h:左
    l:右
    j:下
    k:上
    #h:移动#个字符;

2、以单词为单位移动
    w:移至下一个单词的词首
    e:跳至当前或下一个单词的词尾
    b:跳至当前或前一个单词的词首

    #w: 

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

4、行间跳转
    #G:跳转至第#行:
    G:最后一行

    末行模式下,直接给出行号即可

关门文件

a: append, 落成在当前光标所在处字符前面转换为输入情势;

vim专门的职业方式

翻屏

Ctrl f:向下翻一屏
Ctrl b:向上翻一屏

Ctrl d:向下翻半屏
Ctrl u:向上翻半屏

末行情势下关闭文件

  • :q 退出
  • :wq 保存并退出
  • :q! 不保留并退出
  • :w 保存
  • :w! 强行保存
  • :wq -->:x

o: 完成在当前光标所在行的尘间新建一个空白行并转移为输入形式;

    输入方式:在文书文件个中输入内容

剔除单个字符

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

编写格局下退出

  • ZZ:保存并退出

I: 在当下光标所在行的行首转为输入情势;

    命令格局:可实践一些编写制定命令

去除命令:d

d命令跟跳转命令组合使用:
    #dw,#de,#db

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

末行模式下:
StartADD,EndADDd
    .: 表示当前行
    $:最后一行
     #:向下的#行 

活动光标

A: 在脚下光标所在行的行尾转为输入格局;

    末行格局:vim内置的授命行接口,实施vim的内置命令

粘贴命令 p

p:如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面;
P:如果删除或复制为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面;

编写制定形式

O: 在此时此刻光标所在行的上方新建一行,并转为输入形式;

vim的使用

复制命令 y

用法同d命令
逐字符移动
  • h:左
  • l: 右
  • j: 下
  • k: 上
  • #h 移动#个字符

输入情势--> 编辑情势:

开采文件

修改:先删除内容,在转变为输入格局

c:用法同d命令
以单词为单位活动
  • w:移动到下一个单词的词首
  • e:挑至方今或下二个单词的词尾
  • b:跳至当下或前四个单词的词首

按下Esc键;

    vim [OPTIONS] FILE...

替换:r

R:替换模式
行内跳转
  • 0:绝对行首
  • ^:行首的率先个非空白字符
  • $:绝对行尾

编辑情势--> 末行格局:

    #:展开文件光标处在第#行

注销编辑操作 u

u:撤销前一次的编辑操作
    连续u命令可撤销此前的n此操作
#u:直接撤销最近#次编辑操作

撤销最近一次撤销操作:Ctrl r
行间跳转
  • #G:跳转至第#行
  • G最终一行
    在末行形式下,直接给外出号就可以

键入:

    :张开文件光标处在最终一行

再次前壹次编辑操作

.

翻屏

  • ctrl f 向下翻屏
  • ctrl b 向上翻屏
  • ctrl d 向下翻半屏
  • ctrl u 向上翻半屏

末行格局--> 编辑格局:

    /pattern:张开文件光标处在第三次被pattern所匹配到的行

可视化操作

v:按字符选取 
V:按行选取
Ctrl v:按矩形选取

去除单个字符

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

Esc, Esc

    -b:二进制形式展开文件

查找

/PATTERN
?PATTERN
    n 
    N

删除命令

  • d命令跟跳转命令组合使用
    • dd 删除当前光标所在行
    • #dd:删除包含这段时间光标所在行内的#行
  • 末行格局下
    StartADD,EndADDdr
    .:表示近日行
    $:最终一行
    #:向下的#行
    -#:向上的#行
.,. 3d 删除当前光标所在行到之后的3行,包括光标所在行
.,$-1d 删除除去最后一行的所有内容

光标跳转:

    -d:比较四个文本的不一样之处

探求并替换

在末行模式下使用s命令
ADDR1,ADDR2s@PATTREN@string@gi
1、$
%: 表示全文

复制命令 y

用法和d相同

  • 编纂格局
3y 复制光标所在的行后的3行

字符间跳转:

    -m:制度办法打开文件

动用vim编辑多少个文件

vim FILE1 FILE2 FILE3
:next 切换至下一个文件
:prev 切换至前一个文件
:last 切换至最后一个文件
:first 切换至第一个文件

退出
:qa 全部退出

粘贴命令 p

p:借使去除或复制为整行内容,则粘贴至光标所在行的世间,借使复制或删除的内容为非整行,则粘贴至光标所在字符的末尾
P:尽管除去或复制为整行内容,则粘贴至光标所在行的下边,假使复制或删除的内容为非整行,则粘贴至光标所在字符的最近

h: 左

方式转变

分屏突显叁个文本

Ctrl w,s:水平拆分窗口
Ctrl w,v:垂直拆分窗口

在窗口间切换光标:
Ctrl w,ARROW

:qa

查找命令

  • 末行格局下
    /PATTEHavalN 向下搜寻
    ?PATTEQashqaiN 向上查找
    * n 前一个
    * N后一个

l: 右

    默感觉命令形式

分窗口多少个文本

vim -o:水平分割显示
vim -O:垂直分割显示

替换 r

索罗德:进入替换形式

j: 下

    指令情势 --> 输入形式

将日前文件中有个别剧情另存为别的一个文本

末行模式下使用w命令
:w
:ADDR1,ADDR2w /path/to/somewhere

搜寻并替换

  • 末行情势
    在末行情势下接纳S命令uu
  • 语准绳则
    ADD瑞鹰1,ADD凯雷德2s@PATTEENCOREN@string@gi 从第几行到第几行@s表明式@要替换的字符@g(全体替换)i(忽视大小写)
  • % 表示全文
  • ^ 第一行
  • $ 最后一行
* 将文本中的所有after替换为before
:1,$s@after@before@g  第一行开始到最后一行替换@after@before@全部替换

k: 上

        -i:在脚下光标处输入

将别的三个文书的剧情填充在现阶段文件中

:r /path/to/somefile

收回命令 u

  • u:撤除前一遍的编写操作
    * 延续u命令可裁撤在此以前的n次编辑操作
    * #u 直接收回近期#次编辑操作
    撤废方今二次撤废操作 ctrl r

#h: 向侧面跳#个字符;

        -a:在近些日子光标后方输入

跟shell交互

:! COMMAND

编写多少个文件

语法格式:vim FILE1 FILE2 FILE3

  • :next 切换至下三个文本
  • :prev 切换至前三个文书
  • :last 切换至最终三个文件
  • :first 切换至第三个公文
  • 退出
  • :qa 全体退出

单词间跳转:

        -o:在脚下光标下方新建一行转为输入

高端话题

1、显示或取消显示行号
:set number
:set nu

:set nonu

2、显示忽略或区分字符大小写
:set ignorecase
:set ic

:set noignorecase
:set noic

3、设定自动缩进
:set autoindent
:set ai
:set noai

4、查找到的文本高亮显示或取消
:set hlsearch
:set nohlsearch

5、语法高亮
:syntax on
:syntax off

分屏展现叁个文书

  • Ctrl w,s:水平拆分窗口
  • Ctrl w,v:垂直拆分窗口
  • Ctrl w,ACR-VROW 在窗口之间切换光标
    : qa 关闭全体窗口

w: 后四个单词的词首

        -I:在时下光标所在行的行首输入

布局文件

/etc/vimrc
~/.vimrc

分窗口编辑几个文件

  • vim -o:水平划分展现
  • vim -O:垂直细分呈现

e: 跳至当下或下二个单词启尾;

        -A:在当前光标所在行的行尾输入

将日前文件中有个别剧情另存为别的一个文书

  • 末行方式下
    :w
  • 语法格式
    :ADDR1,ADDR2w /path/to/somewhere

b: 跳至当下或前一个单词启首;

        -O:在这里时此刻光标上方新建一行转为输入

将别的贰个文件的剧情填充到当前文件中

:r /path/to/somefile

句子间跳转:

    锁定和平化解锁:

跟shell交互

在正在编纂文件的时候大概必要实践一些表面包车型地铁指令,比方:正在编写文件时想要在外表目录创设一个文书
:!COMMAND

): 下一句;

        ctrl s:锁定

展现行号

(: 前一句;

        ctrl q:解锁

末行情势下

  • set number 彰显行号
  • set nu 展现行号
  • set nonu 不显得行号
    只是来得行号只限此番操作,如果急需在编辑时暗中认可彰显行号,须要修改vi的配置文件
* vi 配置文件路径
vi /etc/virc 
将virc文件中添加
set nu 
保存退出
这样默认就会显示行号

段落间跳转:

    输入情势 --> 命令方式

马虎或界别轻重缓急写

}: 下一段;

    编辑情势 --> 末行形式

末行情势

  • set ignorecase
  • setic
  • set noic 撤废展现

{: 前一段;

        :

设定自动缩进

  • set autoindent
  • set ai
  • set noai 打消机关缩进

行间跳转:

    末行形式 --> 编辑情势

查找到的文本高亮呈现或打消

  • :set hlsearch
  • :set nohlsearch

1G, gg:

        Esc、Esc

语法高亮

  • :syntax on
  • :syntax off

G:

        注意:输入方式要求先转为命令情势然后再转为末行格局

布局文件

  • vi 配置文件
    /etc/virc
  • vim配置文件
    /etc/vimrc

#G:

关闭保存文件:

Vim

在编写方面Vi和Vim是基本相同的,可是Vim对于创设和编程方面享有更加好的扩充性和支撑,鉴于本身在Linux方面过度小白,先熟谙了编辑功用再来学习Vim的无敌

行内跳转:

    一声令下情势

^: 行首的率先个非空白字符

        ZZ:保存并退出

$: 相对行尾

        ZQ:不保留退出

0: 相对行首

    末行方式:

闭馆文件:

        w:保存文本不脱离

在末行格局下:

        q:不保留退出

:w 保存

        wq:保存并脱离

:q 退出

        wq!:强制保存并脱离

:! 强制

        x:保存并脱离

:wq

        w /PATH/TO/SOMEFILE:将文件内容保留至钦赐文件中

: q!

        r /PATH/TO/SOMEFILE:将点名文件的内容读取至方今文件中

: x

        ! COMMAND:可偶然实施shell命令

在编写形式下:

        r! COMMAND:将指令的实施结果增添至前段时间光标下方

ZZ:保存退出;

光标跳转:

qall

    字符间跳转:

张开文件:

        h:左

vim [options] /path/to/file

        j:下

与此同临时间开垦几个文本

        k:上

vim # /path/to/file

        l:右

next 下一个;

        #COMMAND:跳转#个字符

last 最终二个;

    单词间跳转:

first 第一个;

        w:跳转至下个单词的词首

prev 前一个

        e:跳转至下个单词的词尾

-O: 张开时垂直细分窗口

        b:跳转至上个单词的词首

-o:打开时水平划分窗口

        #COMMAND:跳转#个单词

编写命令:

    行尾行首跳转:

x: 删除单个字符

        ^:非空白字符行首

#x:

        0:相对行首

d: 删除命令

        $:跳转至行尾

对应跳转的暗号而删除
dw:

    时下页面跳转

db:

        H:页首

de:

        M:页中

d^

        L:页尾

d$

    行间跳转:

dw:删除单词
dd:删除一行
#dd删除光标所在行并向下#行

        #G:跳转至第#行

编写操作可撤废:

        G:跳转至尾行

u: vim暗许会前段时间四十七次的操作,u命令可依次撤废以前的编写操作;

        gg:跳转至首行

裁撤从前的吊销:Ctrl r:

    句间跳转:以.为分隔

粘贴操作:p

        ):跳转下一句

paste, put

        (:跳转上一句

p

    段落跳转:以空行为分隔符

删除的是整行:

        }:跳转至下一段落

p: 在近日光标所在行的花花世界粘贴;

        {:上一段落 

P:在这里时此刻光标所在行的最上端粘贴

翻屏操作:

除去的不是整行:

    Ctrl d:向文件尾巴部分翻半屏

p: 在现阶段光标所在处字符的后方粘贴;

    Ctrl f:向文件尾部翻一屏

P:在脚下光标所在处字符的前敌粘贴;

    Ctrl u:向文件首部翻半屏

复制:y, yank

    Ctrl b:向文件首部翻一屏

yy

    Enter:逐行向后翻

#yy

指令形式操作:

y$

    字符编辑:

y^

        x:删除光标处的字符

复制的是整行:

        #x:删除光标以右的#个字符

p: 在那时此刻光标所在行的花花世界粘贴;

        xp:当前光标所在处的字符与光标后的字符做调换

P:在脚下光标所在行的上方粘贴

        ~:转变大小写

复制的不是整行:

    轮换命令:

p: 在脚下光标所在处字符的后方粘贴;

        r:替换光标所在处的字符

P:在日前光标所在处字符的前沿粘贴;

        CR-V:开启替换方式

一致文书档案窗口分割:

    剔除命令:

Ctrl w,s: 水平划分

        d:删除,可组合光标跳转字符,实现范围删除

Ctrl w,v: 垂直细分

        d^:删除当前光标所在行以左的全体字符

Ctrl w, 箭头

        d$:删除当前光标所在行以右的富有字符

窗口属性定义:

        dw:删除当前光标所在处下多少个单词

呈现行反革命号:

        de:删除当前光标所在处的下三个单词

set number, set nu

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

set nonumber, set nonu

        dd:删除光标所在处的一整行

机关缩进

        #dd:删除光标所在行最初向下#行

set autoindent, set ai

        D:等于d$

set noai

    复制命令:

不区分字符大小写

        y:复制,可整合光标跳转字符

set ignorecase, set ic

        y$:复制光标所在行以右的有所字符

set noic

        y^:复制光标所在行以左的兼具字符

取得帮衬:

        yw:复制光标所在处下个单词

set

        ye:复制光标所在处下个单词

来得相配的括号:

        yb:复制光标所在处上个单词

set showmatch, set sm

        y0:复制光标所在行以左的保有字符,满含空白字符

set nosm

        yy:复制当前光标所在行

语法着色:

        #yy:复制光标所在行向下#行

syntax on

        Y:复制光标所在行

syntax off

    粘贴命令:

搜索高亮显示

        p:缓冲区中的内容一经为整行,则粘贴在如今光标所在行的世间;不然,粘贴至当前光标所在处的后方

set hlsearch

        P:缓冲区中的内容一经为整行,则粘贴在时下光标所在行的最上端;不然,粘贴至当前光标所在处的火线

set nohlserach

    变动命令:

vim的部署文件:

        c:编辑方式 --> 输入指令,达成删除操作

全局:/etc/vimrc

        c$:删除光标所在处以右的有着字符并转为输入方式

个人:~/.vimrc

        c^:删除光标所在处以左的具备字符并转为输入格局

查找替换:

        c0:删除光标所在处以左的富有字符并转为输入格局,包括空白字符

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

        cw:删除光标所在处下叁个单词并转为输入形式

:地址定界[email protected]检索方式@替换来的剧情@gi

        ce:删除光标所在处下多少个单词并转为输入形式

Gi:Globalignorecase 后面能够不写gi

        cb:删除光标所在处上一个单词并转为输入格局

末行形式下的操作演习

        cc:删除光标所在行并转为输入格局

为满意1-3题做题供给,在当前目录下新建一大致的文书档案,a.vim,内容如下

        #cc:删除当前光标所在行向下#行并转为输入格局

# abc

        C:删除当前光标至行尾并转为输入格局

# abc

    三次性复制粘贴数次内容:

abc #

        100i zhai Esc:zhai可粘贴100次

abc345abc

可视化格局:

第一利用命令vim进入编辑形式

    v:按字符选定

# vim a.vim 输入:号就可步向末行格局

    V:按行选定

下边只交给vim末行形式下的代码

    可组合编辑命令:d,c,p,y

1,删除行首初步的#:

    Ctrl v:面向块

%[email protected]^#@@gi

注销操作:

%[email protected]^#@@g

    u:打消前一遍操作

%[email protected]^#@@

    #u:撤销前#次操作

2,删除行首发轫的#及末端紧跟的空白字符;

    U:打消光标所在行全体此行的改造操作

%[email protected]^#[[:space:]]{1,}@@

    .:重复前一遍操作

3,为空白字符先导的行的行首加上#;

    n.:重复前n次操作

%[email protected]^[[:space:]]@#&@

末行方式:

4,删除/etc/grub.conf文件中央银行首的空白符;

    地方定界

%[email protected]^[[:space:]]*@@

        :start_line,end_line

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

        #:钦命的单个行

%[email protected]:3:[email protected]:5:[email protected]

        #,#:从左侧的#行初步,到右边手之间的持有行

/id:3:initdefault [email protected][0-9]@[email protected] (先将光标锁定到这一行,然后再交替,要分行张开)

        #, n:从左侧的#行最早向后加n行

6,删除/etc/inittab文件中初露的#号;

        .:当前行

%[email protected]^#@@g

        $:最终一行

7,删除某文件中起初的#号及前边的空白字符,但必要#号后边总得有空白字符;

        $-1:表示尾数第二行

%[email protected]^#[[:space:]]{1,}@@g

        %:表示全文,也正是1,$

8,为钦命范围内的行的行首增加#;

        /pat1/,/pat2/:第叁遍被pat1所相称到的行到第二回被pat2所匹配到的行终止,之间的享有内容

1-13行行首增加#

        #,/pat/:从内定的行早先到被第二次被pat相配到的行终止,之间的兼具剧情

1,[email protected]^@#@g

        /pat/,#:从第一次被pat相配到的行初叶到第#行终止,之间的享有内容

9,展现行号,撤除行号

    后边可跟编辑命令:

:set nu

        d:删除

图片 1

        y:复制

:set nonu

        w /PATH/TO/FILE:将范围内���行保存至钦点文件中

10,设置找出结果高亮彰显

        r /PATH/TO/FILE:将钦赐文件的原委插入钦点的具有行处

: set hlsearch

    查找:

假定在此以前有追寻过文本中的内容,则那几个剧情会高亮呈现出来

        /PATTE奥迪Q5N:从眼下光标所在处向文件尾部查找

图片 2

        ?PATTEEscortN:从脚下光标所在处向文件首部查找

要让字符回复原本的颜色,撤销设置就可以

        n:光标跳转至下多个被查找到的原委

:set nohlsearch

        N:与n相反

上文中列出的等等用法均能够服从第9,10题加以达成,不再多做牵线。

vim寄存器:

强大的Vim 编辑器

    有叁十一个命名存放器和1个无命名寄放器,存放至区别剪切板中

在CentOS 6.2上搭建Vim开采情况

    a,b,...,z用"存放器表示,贮存在数字和指令之间

Vim 7.4a 宣布,全新越来越快的正则说明式引擎

    如:3"ayy表示复制3行到达a寄放器中

CentOS 5.4 安装高亮Vim编辑工具

    "ap:表示将a寄放器中的内容粘贴

Vim本事分享:C语言设置

编辑二进制文件:

Ubuntu中设置Vim的行号

    vim -b BINFILE

是从 vi 发展出来的叁个文本编辑器。 Vim 有二种情势:编辑形式 -- 输入格局 -- 末行情势 方式转变:输入形式 == 编辑方式 == 末行情势...

    增加命令情势下,利用xxd命令转换为可读的十六进制

    :%!xxd

    编辑二进制文件

    扩大命令情势下,利用xxd命令调换回二进制

    :%!xxd –r

多文本方式:

    vim FILE1 FILE2 FILE3 ...

    :next 下二个文本

    :prev 上叁个文书

    :last 最终二个文书

    :first 第一个文件

    :wall 保存全数

    :qall 不保留退出全体

    :wqall 保存全体并脱离

利用多窗口:

    多文件分割

        vim -o|O FILE1 FILE2 FILE3 ...

        -o:水平划分

        -O:垂直细分

        在窗口间切换:Ctrl w,左右箭头

    单个文件:

        Ctrl w,s:水平划分

        Ctrl w,v:垂直细分

        Ctrl w,q:撤销相邻窗口

        Ctrl w,o:撤除一切窗口

        :qall 退出全部

概念vim专业特点:

    配备文件:长久有效

        全局:/etc/vimrc

        用户:~/.vimrc

   

    扩大形式:当前vim进度有效

        (1)行号

            显示行号:set number可简写为set nu

            裁撤行号:set nonumber可简写为set nonu

        (2)括号成对相配

            相称:set showmatch可简写为set sm

            撤废匹配:set noshowmatch可简写为set nosm

        (3)自动缩进

            缩进:set ai

            取消:set noai

        (4)高亮找寻

            启用:set hlsearch

            禁用:set nohlsearch

        (5)语法高亮

            启用:syntax on

            禁用:syntax off

        (6)忽视字符大小写

            启用:set ic

            禁用:set noic

        (7)文件格式

            启用:fileformat=unix

            禁用:fileformat=dos

vim内置支持

    :help

    vimtutor

练习:

1.复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符

47 HOSTNAME=` ```/bin/hostname` `2>/dev/null` `

``48 HISTSIZE=1000

``49 ``if [ ``"$HISTCONTROL" = ``"ignorespace" ] ; ``then

``50 ``export HISTCONTROL=ignoreboth

``51 ``else

``52 ``export HISTCONTROL=ignoredups

``53 ``fi

``54

``55 ``export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

``56

``57 ``# By default, we want umask to get set. This sets it for login shell

``58 ``# Current threshold for system reserved uid/gids is 200

``59 ``# You could check uidgid reservation validity in

``60 ``# /usr/share/doc/setup-*/uidgid file

``61 ``if [ $UID -gt 199 ] && [ ``` "id -gn" ``` "`id -un`" ]; ``then

``62 ``umask 002

``63 ``else           

``64 ``umask 022

``65 ``fi 

``66

``67 ``for i ``in /etc/profile``.d/*.sh ; ``do

``68 ``if [ -r ``"$i" ]; ``then

``69 ``if [ ``"${-#*i}" != ``"$-" ]; ``then

``70 . ``"$i" 

``71 ``else   

``72 . ``"$i" >``/dev/null 2>&1

``73 ``fi     

``74 ``fi 

``75 ``done

``76

``77 ``unset i

``78 ``unset -f pathmunge

:%s@^[[:space:]] @@

2.复制/etc/rc.d/init.d/functions文件至/tmp目录,用查找替换命令为/tmp/functions的每行伊始为空白字符的行的行首增加二个#号

949 ``#       [ -z "$key" ] && plymouth --hide-splash

950 ``#       /sbin/cryptsetup $params ${key: -d $key} create "$dst" "$src" <&1 2>/dev/null && success || failure

951 ``#       rc=$?

952 ``#       [ -z "$key" ] && plymouth --show-splash

953 ``#   fi

954 ``#   if [ $rc -ne 0 ]; then

955 ``#       ret=1

956 ``#       continue

957 ``#   fi

958 ``#   if [ -b "/dev/mapper/$dst" ]; then

959 ``#       if [ "$makeswap" = "yes" ]; then

960 ``#       mkswap "/dev/mapper/$dst" 2>/dev/null >/dev/null

961 ``#       fi

962 ``#       if [ "$mke2fs" = "yes" ]; then

963 ``#       if mke2fs "/dev/mapper/$dst" 2>/dev/null >/dev/null 

964 ``#           && mdir=$(mktemp -d /tmp/mountXXXXXX); then

965 ``#           mount "/dev/mapper/$dst" "$mdir" && chmod 1777 "$mdir"

966 ``#           umount "$mdir"

967 ``#           rmdir "$mdir"

968 ``#       fi

969 ``#       fi

970 ``#   fi

971 ``#    done < /etc/crypttab

972 ``#    return $ret

973 }

974

975 ``# A sed expression to filter out the files that is_ignored_file recognizes

976 __sed_discard_ignored_files=``'/(~|.bak|.orig|.rpmnew|.rpmorig|.rpmsave)$/d'

977

978 ``#if we have privileges lets log to kmsg, otherwise to stderr

979 ``if strstr ``"$(cat /proc/cmdline)" "rc.debug"``; ``then

980 ``#        [ -w /dev/kmsg ] && exec 30>/dev/kmsg && BASH_XTRACEFD=30

981 ``#        set -x

982 ``fi

:%s@^[[:space:]] @``#&@ 

3.如何设置tab缩进为4个字符?

在末行模式输入 ``set ts=4即可

4.复制/etc/rc.d/init.d/functions文件至/tmp目录;替换/tmp/functions文件中的/etc/sysconfig/init为/var/log

图片 3

5.删减/tmp/functions文件中保有以#开头,且#背后至稀少四个空白字符的行的行首的#号

图片 4

Vim入门基础知识集锦  http://www.linuxidc.com/Linux/2017-02/140903.htm

Vim入门基础教程 http://www.linuxidc.com/Linux/2017-02/140279.htm

把Vim创设成优质的C IDE  http://www.linuxidc.com/Linux/2016-06/132262.htm

Ubuntu 14.04升级Vim7.4到8.0  http://www.linuxidc.com/Linux/2016-11/136816.htm

Vim安装youcompleteme自动补全插件  http://www.linuxidc.com/Linux/2016-11/137665.htm

Linux Vim编辑器使用轻便疏解  http://www.linuxidc.com/Linux/2016-12/138930.htm

Vim安装与安插晋级版 http://www.linuxidc.com/Linux/2017-03/141724.htm

Ubuntu 16.04 Vim YouCompleteMe自动补全的安装配置与利用  http://www.linuxidc.com/Linux/2017-02/141088.htm

本文永恒更新链接地址:http://www.linuxidc.com/Linux/2017-03/142275.htm

图片 5

本文由pc28.am发布于pc28.am神测网,转载请注明出处:Vim文本编辑器,Vim编辑器基础

上一篇:艺术人生Windows上如何同时使用Python2和3 下一篇:没有了
猜你喜欢
热门排行
精彩图文
  • Vim文本编辑器,Vim编辑器基础
    Vim文本编辑器,Vim编辑器基础
    Vim编辑器基础 vi:Visual Interfacevim:VI iMproved 先说目标和背景 今天布署服务器的时候,使用Linux编辑配置文件的时候,开采Vim编辑器各样不懂行。平时开掘“
  • 创建上下文菜单项,创建图标标记
    创建上下文菜单项,创建图标标记
    创建上下文菜单项  创建图标标记 Handlers(续)     1、新建一个ATL Project。 1、新建一个ATL Project。 2、建议将Project Property中Linker – General - “Register Output”设
  • 怎样调整服务器C盘空间,Windows下磁盘分配操作
    怎样调整服务器C盘空间,Windows下磁盘分配操作
    主题材料概述:在装系统的时候有的时候并无法弹指间分出完全符合大家运用习于旧贯的分区大小,大家恐怕须要在最后时期调治分区大小。以下是关于分
  • MySQL容器布署,微服务铺排实行
    MySQL容器布署,微服务铺排实行
    一、前言     之前我们公司部署服务,就是大家都懂的那一套(安装JDK、Tomcat —编译好文件或者打war包上传 —启动Tomcat),这种部署方式一直持续了很久
  • 并未有声响输出的意料之外难题,Toolbox后出现的
    并未有声响输出的意料之外难题,Toolbox后出现的
    前些天想用一下显示屏自带的喇叭,顿然开采声音输出选项里HDMI的声音设备没了。以前开头运用那台显示屏的时是用过一段时间的。 Installing Docker Toolbox