Linux 中的Vim

一.什么是Vim?

可以将Vim视作Vi的高级版本,是一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 里面加入了很多额外功能,例如支持正则表达式的查找结构,多文件编辑,块复制等。可以说是程序开发者的一项很好用的工具。

 

二.Vim的三种模式

1.命令模式:

1)命令模式下配置 vim 的工作方式

: set nu   ##在每一行前显示行号
: set nonu ##取消行号
: set mouse=a  ##添加鼠标选择
: set cursorline 行线显示
注意:以上操作在vim的工作方式是临时设定,也就是说当vim关闭,设定失效
如果要永久设定需要编写/etc/vimrc,这个文件是vim的配置文件。

Linux 中的Vim

                                                                                                    执行 :set nu命令

Linux 中的Vim

                                                                                                       执行:set nonu命令

Linux 中的Vim

                                                                                         执行:set cursorline命令

2)vim 命令模式下关键字搜索

/ 关键字
n 向下匹配
N 向上匹配

Linux 中的Vim

3)字符的管理
    

y
        yl          ##复制一个字母<C-F12>
        y3l        ##复制3个字母
        yw        ##复制一个单词
        y3w      ##复制3个单词
        yy         ##复制1行
        y3y       ##复制3行
    d
        dl          ##删除一个字母
        d3l        ##删除3个字母
        dw        ##删除1个单词
        d3w      ##删除3个单词
        dd         ##删除1行
        d3d       ##删除3行
    c
        cl          ##剪切1个字母
        c3l        ##剪切3个字母
        cw        ##剪切1个单词
        c3w      ##剪切3个单词
        cc        ##剪切1行
        c3c      ##剪切3行
        "注意:在剪切之后vim会进入插入模式,如果要粘贴需要按【esc】退出插入模式然后按p粘贴"

    p            ##粘贴
    u            ##撤销
    ctrl+r            ##恢复撤销

4)vim可视化模式(在这模式下可以选中一片区域操作)

ctrl + v        ##在这个模式下可以选择区域操作

批量化处理字符 (加入字符,如在第一列加入q):
进入可视化后,安I(大写),加入字符,安Esc完成

Linux 中的Vim

                                                                                     在第一列加入‘#’

  
  5)字符的替换

:%s/:/@/g  ##%s表示全文每一行,g表示这个字符出现的每一列
:1,5s/:/@/g ##替换1-5行的:为@
:%s/^ *//g  保留有用的空格

Linux 中的Vim

                                                                                                 替换全文的‘s‘为’@‘


6)vim的分屏功能:


ctrl+w s  上下分屏
ctrl+w v  左右分屏
ctrl+w c 关闭分屏功能
ctrl+w 上下左右键 光标移动到指定屏幕
vim编辑多个文件
vim file1
:sp file2 ##进入file1之后:sp file2编辑file2

Linux 中的Vim

                                                                              在Vim中编辑paaswd和file两个文件

 

7)在命令模式下光标的移动


gg ##光标移动到文件的第一行
G  ##光标移动到文件的最后
:数字 ##光标移动到指定的行


2.插入模式(INSERT)


1)插入模式下光标的移动 安i进入插入模式后安Esc进行下列操作
i  ##光标所在位置插入
I  ##光标所在行行首插入
o  ##光标所在行下一行插入
O  ##光标所在行上一行插入
a  ##光标所在字符的下一个字符插入
A  ##光标所在行的行尾插入
s  ##光标所在字符删除并插入
S  ##光标所在行删除并插入


3.vim的退出模式


:q    退出,在文件内容没有被改变时使用
:wq   退出保存
:q!  强制退出不保存,在改变文件后不想保存时使用
:wq! 强制退出保存,在只读文件编写时使用,注意,在编辑的只读文件必须时当前用户的文件,或者当前操作的用户时root

vimtutor查看vim的帮助