Linux学习笔记(五)-vim入门教程

简介

Vim(Vi[Improved])编辑器是功能强大的跨平台文本文件编辑工具,继承自Unix系统的Vi编辑器,支持Linux/Mac OS X/Windows系统,利用它可以建立、修改文本文件。进入Vim编辑程序,可以在终端输入下面的命令:

$vim [filename]

其中filename是要编辑器的文件的路径名。如果文件不存在,它将为你建立一个新文件。

Vim使用

vim模式化编辑器

基本模式:编辑模式,命令模式,输入模式,末行模式(内置的命令行模式)
    打开文件:
            # vim [OPTION]...FILE...
            +#:打开文件后,直接让处于第#行的行首

    模式转换:
        ESC键:
    编辑模式-->输入模式:
            i: 在光标所在处的前方转换为输入模式
            a: 在光标所在的后方转换为输入模式
            o: 在光标所在行的下方新建一个空行并转换为输入模式
            I: 跳转至行首 
            A:跳转至行尾
            O: 光标所在行的上方新建一个空白行

    输入模式-->编辑模式
            ESC
    编辑模式-->末行模式
            :
    末行模式-->编辑模式
            ESC

关闭文件

:q:退出
:q! 强制退出,丢弃做出的修改
:wq 保存退出
:x 保存退出
:wq! 强制保存退出
:w :/PATH/TO/SOMEWHERE
ZZ:保存退出

光标移动:

字符间移动:h,j,k,l

h:左

l:右

j:下

k:上

#{h|j|k|l}: 跳#个字符

单词间移动

w: 下一个单词词首

e: 当前单词或下一个单词词尾

b: 当前单词或前一个单词词首

#{w|e|b}:跳#个单词

行内移动

^: 跳转至行首第一个非空白字符

0:跳转至绝对行首

$: 跳转至绝对行尾

行间移动

#G: 直接跳转至第#行;

G:最后一行

1g,gg:回至第一行

句子间移动:
    ) 
    (

段落间移动:
    }
    {

vim编辑命令

字符编辑

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

#x:删除光标起始的#字符

替换命令

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

删除命令

d:结合光标跳转字符使用,删除跳转范围内的字符
d$:删除光标所在行
d^:删除空格
dw:删除一个字符
de:向后删除一个单词 
db:向前删除一个单词
dd: 删除光标所在行
#dd:多行删除

粘贴命令

p:缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在的后面;
P:缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在的前面;

复制命令

y:复制,工作行为与d相似
yy:复制行
#yy:复制多行

改变命令

c:修改,工作行为与d相似
    编辑模式-->末行模式
cc:删除并输入新内容
#cc:

可视化模式

v:按字符选定
V:按行选定

撤销操作

u(undo):撤销此前的操作 
#u:撤销指定撤销次数             
撤销此前的撤销:
    ctrl+r                  
重复前一个编辑操作:.

翻屏操作

Ctrl+f: 向文件尾部翻一屏
Ctrl+b: 向文件首部翻一屏
Ctrl+d: 向文件尾部翻半屏
Ctrl+u: 向文件首部翻半屏

vim中的末行模式

地址定界

:start_pos,end_pos
    #:具体第#行,例如2表示第2行
    #,#:从左侧#表示行起始,到右侧#表示行结尾
    #,+#:从左侧#表示的行起始,加上右侧#表示的行数
    .:当前行
    $:最后一行
    %:全文,相当于1,$

    /pat1/,/pat2/:
    从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束

    使用方式:
        后面跟一个编辑模式
            d
            y
            w /PATH/TO/SOMEWHERE:将范围内的行另存至指定文件中
            r /PATH/FROM/SOMEFILE:在指定位置插入指定文件中的所有内容

查找

 /PATTERN:从当前光标所在处向文件尾部查找
?PATTERN:从当前光标所在处向文件首部查找                    
n:与命令同方向
N:与命令反方向

查找并替换

s:在末行模式下完整查找替换操作
s/要查找的内容/替换为的内容/修饰符
        要查找的内容:可使用模式
        替换为的内容:不能使用模式,但可以使用\1,\2...等后向引用符号;还可以使用“&”引用前面查找到的整个内容
修饰符:
    i:忽略大小写
    g:全局替换;默认情况下,每一行只替换第一次出现

练习

1、复制/etc/grub2.cfg至/tmp/目录,用查找替换命令删除/tmp/grub.cfg文件中的行首的空白字符
        %s/^[[:space:]]\+//g

2、复制/etc/rc.d/init.d/functions文件至/tmp目录,用查的替换命令为/tmp/functions的每行开头为空白字符的行行首添加一个#号;
        %s/^[[:space:]]/#&/

多文件模式

vim FILE1 FILE2 FILE3....
    :next 下一个
    :prev 前一个
    :last 最后一个
    :first 第一个
    :wall 保存退出
    :qall 退出所有

多窗口模式

多文件:
    vim 
        -o: 水平分割
        -O: 垂直分割

        Ctrl+w, Arrow
单文件:
        Ctrl+w, s: 水平分割
        Ctrl+w, v: 垂直分割

定制vim的工作特性

配置文件:永久有效

全局:/etc/vimrc

个人:~/.vimrc

末行:当前vim进程有效

(1)行号
显示:set number,简写为set nu
取消显示:set nonumber ,简写set nonu

(2)括号匹配
匹配:set showmatch 简写 set sm
取消:set nosm

(3)自动缩进
启用:set ai
禁用:set noai

(4)高亮搜索
启用:set hlsearch
禁用:set nohlsearch

(5)语法高亮
启用:syntax on
禁用:syntax off

(6)忽略字符大小写
启用:set ic
不忽略:set noic        

获取帮助:help subject

|| 版权声明
作者:废权
链接:https://blog.yjscloud.com/archives/22
声明:如无特别声明本文即为原创文章仅代表个人观点,版权归《废权的博客》所有,欢迎转载,转载请保留原文链接。
THE END
分享
二维码
Linux学习笔记(五)-vim入门教程
简介 Vim(Vi[Improved])编辑器是功能强大的跨平台文本文件编辑工具,继承自Unix系统的Vi编辑器,支持Linux/Mac OS X/Windows系统,利用它可以建立、修改文本……
<<上一篇
下一篇>>
文章目录
关闭
目 录