VIM 文本编辑器

806 阅读3分钟

vim是什么

vim 是由 vi 发展出来的文本编辑器。类似于Windows下的source insight,sublime。 vi 是visual interface 的缩写 ,即可视化窗口。vim 即 vi IMproved,在 vi 的基础上做了很多改进,如:增加了多级撤销、多窗口操作、崩溃后也可以恢复、增加了稳定性、关键字自动补全、上下文自动补全等功能

vi/vim 的使用vim [OPTION]... ...

命令 选项 文件

vim 文件名不存在 是新建 vim 文件名存在 就是修改

image.png

基本上 vi/vim 共分为三种模式,命令模式(Command Mode)、输入模式(Insert Mode)和命令行模式(Command-Line Mode)

vim三个模式

命令模式 用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符,比如我们此时按下 i,并不会输入一个字符,i 被当作了一个命令。

以下是普通模式常用的几个命令:

  • 操作键功能
    ctrl+f或者Pagedown向下翻页
    ctrl+b或者Pageup向上翻页
    Home;^;0跳到本行的行首
    按 End 键或$跳转到本行的行尾
    1G 或 gg跳转到文件的第一行包括空行
    G跳转文件的末尾
    #G#代表行号数字,直接跳转到#行
    dd删除一整行
    #dd删除当前光标开始到第#行(包括当前行)
    d^删除当前光标之前到行首 往前不包括当前光标处的字符
    86 往后删除包括当前光标处的字符
    d$删除当前光标到行尾
    dw删除当前光标处的单词
    R 或shift+r替换当前光标处文字,会进入替换模式
    yy复制当前光标处整行
    #yy复制当前光标处向下的#行
    p粘贴到光标处下一行
    P粘贴到光标处上一行
    u只消除上一次可多次使用

插入模式

一般模式切换到编辑模式的可用的按钮说明

进入输入或取代的编辑模式
i, I进入输入模式(Insert mode): i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 (常用)
a, A进入输入模式(Insert mode): a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用)
o, O进入输入模式(Insert mode): 这是英文字母 o 的大小写。o 为在目前光标所在的下一行处输入新的一行; O 为在目前光标所在的上一行处输入新的一行!(常用)
r, R进入取代模式(Replace mode): r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)

末行模式

切换到指令行模式的可用的按钮说明

指令行的储存、离开等指令
:w将编辑的数据写入硬盘档案中(常用)
:w!若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!
:q离开 vi (常用)
:q!若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
:wq储存后离开,若为 :wq! 则为强制储存后离开 (常用)
:w [filename]将编辑的数据储存成另一个档案(类似另存新档)
:r [filename]在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面
:n1,n2 w [filename]将 n1 到 n2 的内容储存成 filename 这个档案。
:! command暂时离开 vi 到指令行模式下执行 command 的显示结果!例如 『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!

末行模式查找

**末行模式下的查找替换 ** 通式

范围 s /旧字符/新字符/修饰符

范围

image.png

修饰符

g  全局替换

i   忽略大小写


c  替换前询问

实验

用vim编辑文本

image.png

image.png 全文替换数字为ikun

image.png

附:vim键盘命令图 image.png