Vi编辑器入门
vi : visual editor 可视化编辑器。读作vee-eye
命令模式:command mode 刚进入编辑器的时候,或者按下Esc
插入模式:insert mode 键入i,意为insert
打开文件
vi [file_name] : vi是调用编辑器,编辑新旧文件所用的命令
退出文件
:q 或 :wq 或 ZZ 或 :q!
- :q :退出文件,不做保存
- :q! : 强制退出文件,不做保存
- ZZ 或 :wq :退出并保存文件
- :w :保存,磁轭如文件,但不离开vi
- :w! [file_name] :覆盖现有文件
- :w [new_file_name] :存成其他文件
恢复上一次存储的文件内容,从头再来: :e! 【Enter】
简单的文本编辑
其它杂项命令
解释 | 命令 |
---|---|
显示vim安装目录 | :echo $VIMRUNTIME |
显示行号 | :set nu |
设置语法 | :set syntax= {program language name} |
设置颜色 | :colorscheme {color-name} |
撤销文件到打开的状态 | :e! |
设置背景颜色 | :set background=dark |
高亮显示 | :highlight comment |
编辑命令
文本对象 | 更改 | 删除 | 复制 |
---|---|---|---|
一个单词 | cw | dw | yw |
两个单词,不包括标点符号 | 2cW或c2W | 2dW或d2W | 2yW或y2W |
回退3个单词 | 3cb或c3b | 3db或d3b | 3yb或y3b |
一整行 | cc | dd | yy或Y |
到一行的结尾 | c$或C | d$或D | y$ |
到一行的开头 | c0 | d0 | y0 |
单个字符 | r | x或X | yl或yh |
五个字符 | 5s | 5x | 5yl |
复制之后,用p来粘贴,p意思是放置。
文本创建与操纵命令
编辑动作 | 命令 |
---|---|
在光标所在位置插入文本,光标前 | i |
在一行的开头插入文本,光标后 | I |
在光标所在位置附加文本 | a |
在一行的最后附加文本 | A |
在光标的下一行打开新行 | o |
在光标的上一行打开新行 | O |
删除一行并替换文本 | S |
用新文本覆盖现有文本 | R |
合并这一行与下一行 | J |
切换当前字符的大小写 | ~ |
重复上一个动作 | . |
撤销上一个动作 | u |
将一整行恢复到原来的状态 | U |
重做 | Ctrl + R |
模式切换命令
模式切换 | 命令 |
---|---|
进入命令模式 | Esc |
进入编辑模式 | i / a I/A |
进入视图模式 | v |
光标移动命令
命令前面加上数字可以加大移动光标的粒度,如前移2个单词,可以使用2w
移动 | 命令 |
---|---|
← ↓ ↑ → | h j k l |
到下一行的第一个字符 | + |
到上一行的第一个字符 | - |
到单词结尾 | e或E |
往前一个单词 | w或W(忽略标点符号) |
往后一个单词 | b或者B(忽略标点符号) |
到一行结尾 | $ |
到一行的开头 | 0(这是零,不是o) |
到最后一行 | G |
到第n行 | nG |
往前滚动一整屏 | ^F (^表示 Ctrl) |
往后滚动一整屏 | ^B |
往前移动半屏 | ^D |
往后移动半屏 | ^U |
往前滚动一行 | ^E |
往后滚动一行 | ^Y |
将光标移动到屏幕顶端并滚动屏幕(屏幕滚动,光标所在文本行不动) | z ENTER |
将光标移动到屏幕中心并滚动屏幕 | z. |
将光标移动到屏幕低端并滚动屏幕 | z- |
移动到下一行的第一个字符 | ENTER |
往前搜索模式 | /pattern |
往后搜索模式 | ?pattern |
往同一个方向重复搜索 | n |
往相反方向重复搜索 | N |
往前重复搜索 | / |
搜索(将光标移动到)本行中下一个出现x的地方,x代表任何字符。 | fx |
搜索(将光标移动到)本行中上一个出现x的地方 | Fx |
搜索(将光标移动到)本行中下一个出现x的地方的前一个字符 | tx |
搜索(将光标移动到)本行中上一个出现x的地方的前一个字符 | Tx |
重复上一个搜索命令,方向相同 | ; |
重复上一个搜索命令,方相反 | , |
替换明林
替换 | 命令 |
---|---|
普通全局替换 | :1,$s/old/new/g ; 1:第1行,$行末,将old字符替换成new g:全局 /用以分隔 |
带正则的全局替换 | :g/pattern/s/old/new/g |
参考来源
- 学习vi 和vim编辑器 pdf