- vi/vim【一款文本编辑器】
- vim【一款多模式编辑器】
- vi/vim 的区别简单点来说,它们都是多模式编辑器,不同的是 vim 是 vi 的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于 x window、 mac os、windows
- 正常/普通/命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入 Insert mode 下,或者到 last line mode- 插入模式(Insert mode)
只有在 Insert mode 下,才可以做文字输入,按「ESC」键可回到命令行模式- 底行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,「shift + :」即可进入该模式- 替换模式【shift + r = R】
- 视图模式【ctrl + v】
- 要查看你的所有模式:打开vim,底行模式直接输入「:help vim-modes」
- 进入vim,在系统提示符号输入vim 及文件名称后,就进入vim 全屏幕编辑画面:
[LMY@hecs-38755 ~]$ vim test.c
【注】进入vim之后,是处于 [正常模式],你要切换到 [插入模式] 才能够输入文字。- [正常模式] 切换至 [插入模式]
输入a
输入i
输入o- [插入模式] 切换至 [正常模式]
目前处于 [插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到 [正常模式] 再删除文字。当然,也可以直接删除。- [正常模式] 切换至 [末行模式]
「shift + ;」, 其实就是输入「:」- 退出 vim 及保存文件,在 [命令模式] 下,按一下「:」冒号键进入「底行模式」
: w (保存当前文件)
: wq (存盘并退出vim)
: w! (强制写入)
: q! (不存盘强制退出vim)
: wq! (强制保存并退出vim)
按[gg]【定位到文本开始】
按[shift+g(G)]【定位到文本末尾】
按[n + shift+g]【定位到第 n 行】
按[shift + 6(^)]【定位到该行的最左侧】
按[shift + 4($)]【定位到该行的最右侧】
vim 可以直接用键盘上的光标来上下左右移动,但正规的 vim 是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
「yw」:将光标所在之处到字尾的字符复制到缓冲区中,即复制单词【「nyw」复制 n 个单词到缓冲区】
「yy」:复制光标所在行到缓冲区。【可以 nyy 复制 n 行】
「p」:将缓冲区内的字符贴到光标所在位置【注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能】【可以「np」粘贴 n 次】
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
「ctrl + r」:撤销的恢复【对 ctrl + r 后悔,还按 u】
「x」:每按一次,删除光标所在位置的一个字符【可以 nx 删除后面 n 个字母】
「X」:大写的X,每按一次,删除光标所在位置的 “前面” 一个字符【可以 nx 删除前面 n 个字母】
「dd」:删除光标所在行【和 p 配合,实现剪切】【可以 ndd 剪切 n 行】
「r」:替换光标所在处的字符【支持 nr 用一个字符替换多个字符】
「R」:进入替换模式,替换光标所到之处的字符,直到按下「ESC」键为止
「shift + ~ 」:自动切换字母大小写
「shift + # 」:自动查询选出和光标所在单词相同的所有单词,按 n 倒着查看下一个
- : set nu (显示行号)
- : set nonu (去掉行号)
- : !gcc test.c(加了!,不退出 vim 直接编译)
- : !./a.out(加了!,不退出 vim 直接运行)
- : /XXX(搜索关键字)【按 n 查下一个】