Vim编辑器基础

时间:2019-11-08 04:26来源:凤凰彩票官方app
Vim编辑器根底 vi:Visual Interfacevim:VI iMproved 先说目标和背景 后天铺排服务器的时候,使用Linux编辑配置文件的时候,开采Vim编辑器种种不熟稔。平日开采“卧槽,这几个怎么没了?”“

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 发展出来的叁个文本编辑器。

Vim模式

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

Vi

VI:Visual Interface

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

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

编写制定情势--> 输入方式:

关闭文件

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

开辟文件

  • vim+#:张开文件,并固定于第#行
vim +5 /etc/hosts  打开hosts文件并编辑第5行
  • vim + 展开文件,定位至最终后生可畏行
vim + profile 打开文件并编辑最后一行
  • vim + /PATTECR-VN:展开文件,定位至第三遍被PATTE景逸SUVN相称到的行的行首
vim +/PATH profile 打开文件并定位到关键词PATH第一次出现的行的行首

n:定位下一个第一字地方
N:定位上叁个重视字的职位

i: insert, 实今后当前光标所在处字符前边调换为输入格局;

一举手一投足光标(编辑方式卡塔尔

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

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

    #w: 

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

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

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

关闭文件

a: append, 实今后当前光标所在处字符前面转变为输入方式;

翻屏

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: 在当下光标所在行的行尾转为输入格局;

粘贴命令 p

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

编辑方式

O: 在近期光标所在行的上方新建后生可畏行,并转为输入格局;

复制命令 y

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

输入模式--> 编辑格局:

改善:先删除内容,在转移为输入形式

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

按下Esc键;

替换:r

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

编写格局--> 末行方式:

废除编辑操作 u

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

撤销最近一次撤销操作:Ctrl+r
行间跳转
  • #G:跳转至第#行
  • G最终朝气蓬勃行
    在末行格局下,直接给外出号就能够

键入:

再次前一遍编辑操作

.

翻屏

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

末行模式--> 编辑情势:

可视化操作

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

除去单个字符

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

Esc, Esc

查找

/PATTERN
?PATTERN
    n 
    N

删去命令

  • d命令跟跳转命令组合使用
    • dd 删除当前光标所在行
    • #dd:删除富含近日光标所在行内的#行
  • 末行情势下
    StartADD,EndADDdr
    .:表示前段时间进
    $:最后生龙活虎行
    凤凰彩票官方app,+#:向下的#行
    -#:向上的#行
.,.+3d 删除当前光标所在行到之后的3行,包括光标所在行
.,$-1d 删除除去最后一行的所有内容

光标跳转:

查找并替换

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

复制命令 y

用法和d相同

  • 编排情势
3y 复制光标所在的行后的3行

字符间跳转:

动用vim编辑七个文件

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

退出
:qa 全部退出

粘贴命令 p

p:倘使除去或复制为整行内容,则粘贴至光标所在行的下方,假诺复制或删除的剧情为非整行,则粘贴至光标所在字符的前面
P:就算剔除或复制为整行内容,则粘贴至光标所在行的最上部,尽管复制或删除的开始和结果为非整行,则粘贴至光标所在字符的前边

h: 左

分屏展现一个文本

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

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

:qa

索求命令

  • 末行情势下
    /PATTE奥迪Q3N 向下搜索
    ?PATTE安德拉N 向上查找
    * n 前一个
    * N后一个

l: 右

分窗口多个文件

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

替换 r

Evoque:步向替换情势

j: 下

将近来文件中有的剧情另存为别的二个文本

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

招来并替换

  • 末行形式
    在末行方式下利用S命令uu
  • 语法则则
    ADD大切诺基1,ADDPRADO2s@PATTESportageN@string@gi 从第几行到第几行@s表明式@要替换的字符@g(全体更替)i(忽视大小写卡塔 尔(英语:State of Qatar)
  • % 表示全文
  • ^ 第一行
  • $ 最终风流洒脱行
* 将文本中的所有after替换为before
:1,$s@after@before@g  第一行开始到最后一行替换@after@before@全部替换

k: 上

将别的贰个文书的剧情填充在当下文件中

:r /path/to/somefile

注销命令 u

  • u:裁撤前一回的编辑操作
    * 接二连三u命令可废除在此以前的n次编辑操作
    * #u 间接选举择回前段时间#次编辑操作
    打消近日三遍吊销操作 ctrl+r

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

跟shell交互

:! COMMAND

编制七个公文

语法格式:vim FILE1 FILE2 FILE3

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

单词间跳转:

尖端话题

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,ARubiconROW 在窗口之间切换光标
    : qa 关闭全数窗口

w: 后叁个单词的词首

配备文件

/etc/vimrc
~/.vimrc

分窗口编辑多少个文件

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

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

将日前文件中有的内容另存为别的三个文书

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

b: 跳至最近或前三个单词启首;

将其余三个文书的剧情填充到当前文件中

:r /path/to/somefile

句子间跳转:

跟shell交互

在正在编纂文件的时候大概须求实践一些外界的指令,举个例子:正在编写文件时想要在表面目录创制三个文件
:!COMMAND

): 下一句;

展现行号

(: 前一句;

末行形式下

  • 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:

语法高亮

  • :syntax on
  • :syntax off

G:

布置文件

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

#G:

Vim

在编写方面Vi和Vim是基本相通的,可是Vim对于创设和编制程序方面有所越来越好的拓展性和支撑,鉴于自个儿在Linux方面过度小白,先熟习了编写效率再来学习Vim的兵不血刃

行内跳转:

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

$: 相对行尾

0: 相对行首

关闭文件:

在末行情势下:

:w 保存

:q 退出

:! 强制

:wq

: q!

: x

在编辑情势下:

ZZ:保存退出;

qall

开垦文件:

vim [options] /path/to/file

再正是展开多少个文本

vim +# /path/to/file

next 下一个;

last 最后二个;

first 第一个;

prev 前一个

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

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

编辑命令:

x: 删除单个字符

#x:

d: 删除命令

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

db:

de:

d^

d$

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

编排操作可裁撤:

u: vim默许会这两天肆拾七回的操作,u命令可依次撤除以前的编辑操作;

打消之前的裁撤:Ctrl+r:

粘贴操作:p

paste, put

p

删除的是整行:

p: 在如今光标所在行的下方粘贴;

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

去除的不是整行:

p: 在日前光标所在处字符的后方粘贴;

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

复制:y, yank

yy

#yy

y$

y^

复制的是整行:

p: 在日前光标所在行的下方粘贴;

P:在当下光标所在行的顶上部分粘贴

复制的不是整行:

p: 在这段日子光标所在处字符的后方粘贴;

P:在当下光标所在处字符的战线粘贴;

同等文书档案窗口分割:

Ctrl+w,s: 水平划分

Ctrl+w,v: 垂直细分

Ctrl+w, 箭头

窗口属性定义:

来得行号:

set number, set nu

set nonumber, set nonu

自动缩进

set autoindent, set ai

set noai

不区分字符大小写

set ignorecase, set ic

set noic

赢得扶植:

set

显示相配的括号:

set showmatch, set sm

set nosm

语法着色:

syntax on

syntax off

追寻高亮彰显

set hlsearch

set nohlserach

vim的安插文件:

全局:/etc/vimrc

个人:~/.vimrc

检索替换:

:地址定界s/查找情势/替换到的剧情/gi

:地址定界[email protected]追寻情势@替换到的开始和结果@gi

Gi:Globalignorecase 前边能够不写gi

末行格局下的操作演习

为满意1-3题做题要求,在当前目录下新建大器晚成粗略的文书档案,a.vim,内容如下

# abc

# abc

abc #

abc345abc

首先使用命令vim走入编辑情势

# vim a.vim 输入:号就可进入末行形式

下边只交给vim末行格局下的代码

1,删除行首起初的#:

%[email protected]^#@@gi

%[email protected]^#@@g

%[email protected]^#@@

2,删除行首开端的#及背后紧跟的空白字符;

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

3,为空白字符开端的行的行首加上#;

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

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

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

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

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

/id:3:initdefault [email protected][0-9]@[email protected] (先将光标锁定到那后生可畏行,然后再改动,要分行开展卡塔 尔(阿拉伯语:قطر‎

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

%[email protected]^#@@g

7,删除某文件中最早的#号及前面包车型大巴空白字符,但必要#号前边总得有空白字符;

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

8,为钦定范围内的行的行首增多#;

1-13行行首增多#

1,[email protected]^@#@g

9,突显行号,废除行号

:set nu

凤凰彩票官方app 1

:set nonu

10,设置搜索结果高亮突显

: set hlsearch

借使在此之前有追寻过文本中的内容,则这一个剧情会高亮显示出来

凤凰彩票官方app 2

要让字符回复原本的颜色,撤消设置就能够

:set nohlsearch

上文中列出的等等用法均能够依照第9,10题加以实现,不再多做牵线。

强大的Vim 编辑器

在CentOS 6.2上搭建Vim开拓景况

Vim 7.4a 公布,全新更加快的正则表明式引擎

CentOS 5.4 安装高亮Vim编辑工具

Vim本事分享:C语言设置

Ubuntu中设置Vim的行号

是从 vi 发展出来的一个文本编辑器。 Vim 有两种方式:编辑格局 -- 输入格局 -- 末行方式 情势调换:输入情势 == 编辑格局 == 末行方式...

编辑:凤凰彩票官方app 本文来源:Vim编辑器基础

关键词:

  • 上一篇:没有了
  • 下一篇:没有了