本文参考文章: Vim 101: A Beginner’s Guide to Vim 如果你属于以下人群,学习VIM是有益的:
- 系统管理者
- 编程人员
- 使用HTML,LaTeX或者其他置标语言
- 纯文本重度使用者
基本上vi/vim共分为三种模式,分别是命令模式(Command mode)、输入模式(Insert mode)和退出模式(Last line mode)在命令行直接键入:
vi apple.txt
打开的状态如下:
这种状态敲击会变识别为命令和而非输入的字符。简单说一下这三种模式:
- 插入模式:命令模式下键入"i"
- 命令模式:开启后默认模式或按ESC
- 退出模式:命令模式下键入":"
当你处于命令模式,你需要记住下面的按键以及其含义:
逐字符移动- h 往左移一个字符
- j 往下移动一个字符
- k 往下移动一个字符
- l 往右移一个字符.
- 0 将光标移动到该行开始.(zero not o)
- $ 将光标移动到该行结束.
- w 以单词作为单位向前推进
- b 以单词作为单位向后撤退.
- G 到文件的结尾.
- gg 到文件的开头.
- ` 移动到最近编辑的地方.
x:删除单个字符 dw:删除整个单词 d0:一直删到此行开头 d$:一直删到此行结尾 dgg:删除到文件开头 dG:删除至文件结尾 u: undo 撤销修改
VIM中的查找与替换下一个等于前一个,上一个表示后一个。 在命令模式中键入/或者?
/表示 编辑位置向前寻找
?表示 编辑位置向后寻找
N表示 选中向后寻找
n表示 选中向前寻找
:%s/a/b/g 表示全局范围内,用字符串b代替字符串a
:%s/a/b/gc 表示替代前确认(confirm)
替换空格等特殊字符参考:https://blog.csdn.net/zj420964597/article/details/80901708
VIM中复制和粘贴- v highlight one character at a time.
- V highlight one line at a time.
- Ctrl-v highlight by columns.
- p paste text after the current line.
- P paste text on the current line.
- y yank text into the copy buffer.
yank 有点像是压入的意思。
VIM中保存和退出在Insert模式中,按Escape进入命令模式,然后键入冒号输入退出指令。
:q q without saving anything
:q! quit no saving anything without nagging
:wq write and save
当然也可直接输入大写的ZZ(不要输入:了)和wq一样
清空所有内容:%d