Linux ——vi/vim全知道!
目录
vi/vim
什么是vi/vim?为什么要学?
vi/vim是一个功能强大、高度可以定制的文本编辑器。 vim在vi的基础上改进和增加了很多特性,其可以用显色或者底线筹等方式来显示一些特殊的信息。
在这里,可能有人就要问了:哎,不就是个文本文本编辑器么?我直接用记事本它不香么?
其实学习vi/vim是有原因的:
1.所有类UNIX系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在
2.很多个别软件的编辑接口都会主动呼叫 vi/vim
3.vim 具有程序编辑的能力,可以主动地以字体颜色辨别语法的正确性,方便程序设计;
最主要的就是其中的第二点!否则很多指令无法操作。
vi/vim的使用
熟悉vi/vim之前,必须先了解一下vi/vim的三种模式。
vi/vim主要有:命令模式、输入模式、底线命令模式。
命令模式:
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。 比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
输入模式
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
q 退出程序
w 保存文件
按ESC键可随时退出底线命令模式。
用vi/vim 创建一个C文件
$ vim test.c
这是进去之后的样子:
vi/vim 按键说明
这里就懒得打字了,直接放书上的截图好了。
命令模式
移动光标
搜寻和取代
删除、复制和粘贴
输入模式
命令模式切换到输入模式
底线命令模式
命令模式切换到底线命令模式
变更vim环境
vim常见问题
暂时存档和恢复功能
大家现实中很常见的一个问题就是:电脑突然死机导致自己正在编辑的文档丢失!
是不是很抓狂?
当我们使用vim编辑的时候。vim会主动在编辑档案下建立一个后缀为.swp的存档。
主要就是以下两种情况会出现这个问题:
可能有其他人或程序同时在编辑这个档案:
在前一个 vim 的环境中,可能因为某些不知名原因导致 vim 中断
至于这个发现暂存盘警告讯息的画面中,有出现六个可用按钮,各按钮的说明如下:
区块选择功能
多档案编辑功能
多窗口功能
在指令列模式输入:sp {filename}
即可!那个 filename 可有可无, 如果想要在新窗口启动另一个档案,就加入档名,否则仅输入 :sp
时, 出现的则是同一个档案在两个窗口间!
多窗口情况下的按键功能
vim环境设定与记录
在vim中会自动生成一份~/.viminfo
档案,在这里面将你曾经做过的行为记录下来。
使用 vim ~/.vimrc
命令来设定vim环境参数。
常见的vim环境设定参数
参考文献
[1] 鸟哥.鸟哥的linux私房菜——第十章.人民邮电出版社.2010.
[2] https://www.runoob.com/linux/linux-vim.html