vi:可视化接口
(Visual Interface)
vim:是vi的增强版
(vi iMprove)
vi
编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。它是我们使用Linux系统不能缺少的工具。Unix及linux系统的任何版本下的vi编辑器是完全相同的,学会它后,您将在Linux的世界里畅行无阻。
vim
可以说的vi的升级版本,它可以用多种颜色的方式来显示一些特殊的信息。
vim
具有程序编辑能力,可以以字体颜色辨别语法的正确性,方便程序设计。
vim
会依据文件扩展名或者是文件内的开头消息,来判断该文件的内容而自动的执行该程序的语法判断式,再以颜色来区分显示代码与注册信息。
vim
加入了很多额外的功能,例如支持正则表达式的搜索、多文件编辑、快复制等等。这帮助我们在进行一些配置文件的修改工作时提高了不少的效率。
vim
有三种工作模式,如下图:
vim编辑器的配置文件:全局/etc/vimrc
用户~/.vimrc
修改配置文件可使某项配置默认生效,比如在配置文件内加入一行:set nu
,那么打开文件后将默认显示行号。
打开文件
vim + file
打开文件并定位到最后一行
.vim +n file
打开文件并定位到第n行
.vim +/string file
打开文件并定位到第一次被'string'匹配到的行的行首
.vim file1 file2 file3
打开多个文件
.vim -o file1 file2 file3
水平分隔显示多个文件
.vim -O file1 file2 file3
垂直分隔显示多个文件
命令模式
Shift + ZZ
保存退出
.0
跳转至当前行行首,绝对行首$
跳转至当前行行尾,绝对行尾^
跳转至当前行行首第一个非空白字符
.h
⬅️移l
➡️移j
⬇️移k
⬆️移
.w
移至下一个单词的词首e
移至下一个单词的词尾b
移至上一个单词的词首?w
表示向后移动?个单词
.Ctrl + f
向下翻一屏Ctrl + b
向上翻一屏Ctrl + d
向下翻半屏Ctrl + u
向上翻半屏
.cc
删除光标所在行,并进入编辑模式?x
删除光标所在字符及向后?个字符dw
删除光标所在位置到下一个单词词首所有字符?dw
删除当前光标所在处及向后第?个单词词首内所有字符
.P
大写P,粘贴至光标所在行的上面(复制行)或前面(复制快)
.yw
复制光标所在字符到下个单词词首内容y?G
复制光标所在行到?行的所有内容
.r?
单字符替换,将光标所在字符替换为?R
替换模式,可以做字符串替换
.?u
撤销?次操作Ctrl + r
撤销最近一次的撤销操作
..
重复最近一次的操作
.v
按字符选取,键盘控制光标划过的区域被选取V
按矩形选取,键盘控制光标划过的行被选取
.
末行模式
set nu
显示行号,nu是number的简写set nonu
取消显示行号
.set ai
自动缩进,ai时autoindent的简写set noai
取消自动缩进
.set ic
忽略大小写,ic时ignorecase的简写set noignorecase
区分大小写
.syntax on
打开语法高亮显示syntax off
关闭语法高亮显示
.+?
向上移动?行-?
向下移动?行
.5, 10d
删除5至10行的所有内容5, 10y
复制5至10行的所有内容
./string
从当前位置向后查找?string
从当前位置向前查找
.line1, line2s/old/new/gi
替换,比如1,$(或%)表示全文,g:全局替换,i:忽略大小写
.
打开多个文件时使用:next
切换到下一个文件prev
切换到上一个文件last
切换到最后一个文件first
切换到第一个文件qa
退出所有文件wqa
保存退出所有文件
.w filepath
将当前文件另存到指定路径的文件5, 10w filepath
将5至10行的内容保存至指定路径的文件
.r file
将file文件内的所有内容附加到当前光标所在位置的后面
.! command
执行操作系统命令
朋友,你要努力!