首页 > 代码库 > linux学习之路之vim编辑器的使用

linux学习之路之vim编辑器的使用

本章将介绍vim编辑器的使用

vim编辑器是vi编辑器的增强版

vim是一种全屏的编辑器,是一种模式化的编辑器,之所以称为模式化的编辑器,因为vim有多种模式。

接下来将介绍vim主要的三种模式:

编辑模式(也叫命令模式):在该模式下你可以完成字符串跳转,字符串删除,翻屏操作等操作

输入模式:在该模式下输入的任何字符都会保存在该文件中,作为文件的一部分

末行模式:在该模式下,可以实现字符串搜索,字符串替换等操作


vim编辑器的三种模式之间的相互转换

wKioL1OlgQbgdcJIAAEqrW7MMS8127.jpg


模式转换:

    编辑模式-->输入模式

            i:在当前光标所在字符的前面,转化成输入模式

            a:在当前光标所在字符的后面,转换成输入模式

            o:在当前光标所在行的下方,新建一行,并转换成输入模式

            

            I:在当前光标所在行的行首,转换成输入模式

            A:在当前光标所在行的行尾,转换成输入模式

            O:在当前光标所在行的上方,新建一行,并转换成输入模式

    输入模式-->编辑模式

            按ESC键即可转换到编辑模式

    

    编辑模式-->末行模式

            在编辑模式下输入":"可进入末行模式


    末行模式-->编辑模式

            按ESC键即可转换成编辑模式


说明:输入模式和编辑模式不可以直接转换,需要通过编辑模式来转换


vim的使用用法(应用)

一、打开文件

vim [option] FILENAME

+#:打开文件时光标直接处于第#行的行首

#:打开文件时,光标直接处于最后一行的行首

+/PATTERN:打开文件时,光标定位到第一被PATTERN匹配到的行的行首


二、关闭文件

1、在末行模式下关闭文件

:q  退出

:wq 保存并退出,等同于:x的效果

:q!不保存并退出

:w  保存

:w! 强制保存


2、在编辑模式下退出文件

ZZ:保存并退出


三、光标的移动(在编辑模式下的操作)

1、逐字符移动

    h:光标向左移动一个字符

    l:光标向右移动一个字符

    j:光标移动到下一行

    k:光标移动到上一行

#h,#l,#j,#k 表示光标一次移动#次


2、以单词为单位来移动

    w:跳到下一个单词的词首

    e:跳到当前或下一个单词的词尾

    b:跳到当前或前一个单词的词首

#w,#e,#b 表示光标一次移动#次


3、行内跳转

    0:跳到行首,绝对行行首(就是某些行前面有空格,光标会跳到空格处,而不是该行的第一个非空字符处)

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

    $:跳到行尾


4、行间跳转

    #G:跳到至第#行

    G:跳到最后一行

        

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

    

5、翻屏操作

Ctrl+f:向下翻一屏

Ctrl+b:向上翻一屏

Ctrl+d:向下翻半屏

Ctrl+u:向上翻半屏


五、删除单个字符

x:删除光标所在处的单个字符

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


六、删除命令d

d命令一般和跳转命令一起组合使用

#d跳转符:删除多个

dd:删除光标所在行

#dd:删除光标所在行及向下的一共#行

说明:使用d命令删除文件并没有实际删除,而是保存在内存缓存区中 。

  末行模式下的删除命令:

        START,ENDd:删除起始行到结束行

        .:表示当前行

        $:表示最后一行

        +#:表示删除该行及向下的#行(共#+1行)

        $-1:倒数第二行



七、粘贴命令

p(小写):如果删除的或复制为整行,则粘贴至光标所在行的下方;如果删除或复制是非整行,则粘贴

        至光标所在字符的后面

P(大写):如果删除的或复制为整行,则粘贴至光标所在行的上方;如果删除或复制是非整行,则粘贴

        至光标所在字符的前面


八、复制命令y

复制p命令和删除d命令语法使用一样,只不过一个是原来复制,一个原来删除的


九、修改字符:先删除内容,在转换成输入模式

    c命令和d命令的语法使用一样


十、字符替换

r:字符替换

R:进入替换模式,在该模式下可以一次进行多个字符的替换


十一、撤销编辑操作

u:撤销前一次编辑操作

    连续使用u命令可以撤销此前的n次操作

#u:直接撤销最近#次操作


撤销最近一次的撤销操作(还原最近一次的撤销操作)

Ctrl+r


十二、重复前一次编辑操作

.:重复前一次编辑操作


十三、可视化模式

v:按字符选取

V:按行选取


十四、查找

:/PATTERN 向后操作

:?PATTERN 向前查找

n:正向查找

N:逆向查找


十五、查找并替换

在末行模式下使用s命令

START,ENDs/PATTERN/string/g  全局替换

%:表示全文


十六、使用vim编辑多个文件

vim FILE1 FILE2...

:next 切换到下一个文件

:prev 切换到上一个文件

:last 切换到最后一个文件

:first 切换到第一个文件

qa:退出全部文件


十七、分屏显示一个文件

Ctrl+w,s  水平拆分窗口

Ctrl+w,v   垂直拆分窗口


在窗口切换光标

Ctrl+w,上下左右键

:qa 退出所有窗口


十八、分窗口显示多个文件

vim -o FILE1 FILE2..    水平分割显示

vim -O FILE1 FILE2..    垂直分割显示


十九、将当前文件中的部分内容另存为另一个文件

:START,ENDw /path.to.somefile


二十、将另一个文件中的内容填充在当前文件中(以附件的形式添加)

:r /path/to/somefile


二十一、跟shell交互

:!COMMAND  可以再不退出文件的情况下,使用shell命令


二十二、高级应用(末行模式下的操作)

1、显示或取消显示行号

:set number

:set nu(简写) 显示行号

:set nonu   取消显示行号


2、设定vim编辑器忽略或区分大小写

:set ignorecase

:set ic  忽略大小写

:set noic 区分大小写


3、自动缩进

:set autoinddent

:set ai 自动缩进

:set noai 取消自动缩进


4、查找到的文本高亮显示或取消高亮显示

:set hlsearch  高亮显示

:set nohlsearch 取消高亮显示


5、语法高亮显示

:syntax on 开启语法高亮显示

:syntax off 关闭语法高亮显示


如果想让这些命令在永久生效,必须写到vim的配置文件中

vim的配置文件分2种:

全局配置文件:/etc/vimrc  对所有用户生效

个人配置文件:~/.vimrc    仅对指定用户生效




































            
















本文出自 “linux学习之路” 博客,谢绝转载!