vim编辑器
vim有三种模式,命令模式,插入模式,末行模式,在一开始的时候默认进入的是命令模式
命令模式
命令模式:默认的模式,该模式下有很多的快捷键
文件内移动
- n+Shift+g(或nG)快速定位到指定的行,先按你想要的跳转的行,然后按G,如:7G,跳转到第7行
- Shift+g(或者G)跳转到尾行
- 0 跳转到该行首个字符
- gg跳转到首行
- :n 跳到指定行 n为指定的行号
- Ctrl+G 报告光标位置
- Ctrl+f 屏幕向前移动一页
- Ctrl+b 屏幕向后移动一页
- Ctrl+d 屏幕向前移动半页
- Ctrl+u 屏幕向后移动半页
- $ 跳转到该行最后一个字符
- w 光标前移一字
- b 光标倒退一字
- +移动非空格的下一行
- -移动非空格的上一行
- H 移到当前屏幕最顶行
- M 移到当前屏幕中央一行
- L 移到当前屏幕最底行
- G 移到文本最末行
- n +回车(n表示数字)光标向下移动n行
- j 光标向下移动一格
- k 光标向上移动一格
行内移动
- ^ 移动到行首
- $ 移动到行尾
- w、b键,分别表示向后和向前移动一个单词
- h 光标向左移动一格
- l 光标向右移动一格
删除字母
- x 删除单个字母
- nx 删除多个字符
- dw 删除一个字符(剪切)
删除整行
- dd 删除整行
- D 删除光标所在行到末尾行的内容
- ndd 删除多行
- :n1,n2d删除指定行
- dG 从当前行删除到文件尾
- 想要删除该行末尾的回车,也就是两行合并为一行,使用Shift+j
剪切、复制、粘贴
- dd 既是删除也是剪切,按p是粘贴至光标后,P是粘贴至光标前
- yw 复制一个词
- yy 复制单行
- nyy 复制多行
- p 粘贴,从当前行后面粘贴被复制的行
- P 粘贴,从当前行前面粘贴被复制的行
撤销
- u 撤销修改
- Ctrl+r 反撤销
- :u! 恢复到文档初始状态
替换
- r 替换光标所在处的字母
- R 进入替换模式,从光标所在处开始替换字符,按esc结束
- 查找,按下/键,然后输入所要查找的字符,按回车,如果找到光标会跳转到第一个搜索结果的位置,然后按n,继续向下查找,如果按Shift+n,会反向向上查找
插入模式
插入模式(输入模式):可以向文件中输入字符的模式。
在命令模式下,
- 按a 在光标所在位置后插入(追加)
- 按i 在光标所在位置前插入(插入)
- 按A 在光标所在行尾插入
- 按I 在光标所在行首插入
- 按o 在光标上插入新行
- 按O 在光标上插入新行
按Esc退出输入模式,进入命令模式
末行模式
末行模式:该模式下,在vim界面最下边可以输入命令,来执行各种操作,编辑完文件之后,想要保存修改或者不保存修改都需要进入末行模式来进行操作,从命令模式切到底末模式,按:(冒号)进入末行模式
文件编辑
- :w 保存文件但不退出vi
- :w 文件名 将修改另外保存到新的文件中,不退出vi
- new 文件名 如果该文件存在则打开该文件,如果不存在,则新建(只有保存之后该文件才会创建成功)
- :w! 强制保存,不退出vi
- :wq 保存文件并退出vi
- :wq! 强制保存文件,并退出vi
- :q 不保存文件,退出vi
- :q! 不保存文件,强制退出vi
- :e! 放弃所有修改,从上次保存文件开始再编辑
参数设置
- :set nu 显示行号
- :set nonu 隐藏行号
- :set list 显示特殊符号(Tab用^I表示,换行符用$显示)
- :set nolist 不显示特殊符号
查找
- /查找内容 从光标处往下查找
- ?查找内容 从光标处往上查找
- n 下一个
- N 上一个
替换
-
:s/old/new 当前行的第一个old替换为new
-
:s/old/new/g 替换当前行的所有old为new
-
:1,10s/old/new 将1到10行的每一行的第一个old替换为new,如果使用1,$则是从第一行到最后一行
-
:1,10s/old/new/g 替换1到10行的所有old为new,如果使用1,$则是从第一行到最后一行
-
:%s/old/new/g 替换全文的所有old为new
#1到10行添加注释# (使用^是因为^在正则中表示行首)
:1,10s/^/#/g
#1到10行取消注释# (使用^是因为^在正则中表示行首)
:1,10s/^#//g
可以在vim中执行shell,而不退出vi
使用:!命令来实现
如
:!pwd 来显示当前目录路径名
本文由mdnice多平台发布