ubuntu vim终端编辑命令
2020-07-07 本文已影响0人
Peter杰
一. VIM高亮
进入vim后,在普通模式下输入如下命令,开启php代码高亮显示
:syntax enable
:source $VIMRUNTIME/syntax/php.vim
二. VI常用命令
一般模式 | 光标移动 |
---|---|
h 或 向左方向键 | 光标向左移动一个字符 |
j 或 向下方向键 | 光标向下移动一个字符 |
k 或 向上方向键 | 光标向上移动一个字符 |
l 或 向右方向键 | 光标向右移动一个字符 |
Ctrl + f | 屏幕向前翻动一页(常用) |
Ctrl + b | 屏幕向后翻动一页(常用) |
Ctrl + d | 屏幕向前翻动半页 |
Ctrl + u | 屏幕向后翻动半页 |
+ | 光标移动到非空格符的下一列 |
- | 光标移动到非空格符的上一列 |
n<space> | 接下数字后再按空格键,光标会向右移动这一行的. n个字符,例如20<space>,则光标会向右移动20个字符 |
0 | (这是数字0) 移动到这一行的第一个字符处(常用) |
$ | 移动到这一行的最后一个字符处(常用) |
H | 光标移动到这个屏幕最上方的那一行 |
M | 光标移动到这个屏幕中央的那一行 |
L | 光标移动到这个屏幕最下方的那一行 |
G | 移动到这个文件的最后一行(常用) |
nG | 移动到这个文件的第n行.例如20G,则会移动到这个文件的 第20行(可配合:set nu) |
n<Enter> | 光标向下移动n行(常用) |
一般模式 | 查找替换 |
---|---|
/word | 在光标之前查找一个名为word的字符串 |
?word | 在光标之前查找一个名为的word字符串 |
:n1,n2s/word1/word2/g | 在第n1与n2行之间查找word1这个字符串,并将该字符串替换 为word2(常用) |
:1,$s/word1/word2/g | 从第一行到最后一行查找word1字符串,并将该字符串替换 为word2(常用) |
:1,$s/word1/word2/ge | 从第一行到最后一行查找word1字符串,并将该字符串替换 为word2,且在替换前显示提示符让用户确认(confirm)(常用) |
一般模式 | 删除 复制与粘贴 |
---|---|
x,X | x为向后删除一个字符,X为向前删除一个字符(常用) |
nx | 向后删除n个字符 |
dd | 删除光标所在的那一整行(常用) |
ndd | 删除光标所在行的向下n行,例如,20dd则是删除20行(常用) |
d1G | 删除光标所在行到第一行的所有数据 |
dG | 删除光标所在行到最后一行的所有数据 |
yy | 复制光标所在行(常用) |
nyy | 复制光标所在行的向下n行,例如,20yy则是复制20行(常用) |
y1G | 复制光标所在行到第一行的所有数据 |
yG | 复制光标所在行到最后一行的所有数据 |
p,P | p为复制的数据粘贴在光标下一行,P则为粘贴在光标上一行(常用) |
J | 将光标所在行与下一行的数据结合成一行 |
u | 恢复前一个动作(常用) |
编辑模式
i,I | 插入:在当前光标所在处插入输入的文字,已存在的字符会向后 退(常用) |
---|---|
a,A | 添加:由当前光标所在处的下一个字符开始输入,已存在的字符 会向后退(常用) |
o,O | 插入新的一行:从光标所在处的下一行行首开始输入字符(常用) |
r,R | 替换:r会替换光标所指的那一个字符:R会一直替换光标所指的 文字,直到按下Esc为止(常用) |
Esc | 退出编辑模式,回到一般模式(常用) |
命令行模式
:w | 将编辑的数据写入硬盘文件中(常用) |
---|---|
:w! | 若文件属性为只读,强制写入该文件 |
:q | 退出vi(常用) |
:q! | 若曾修改过文件,又不想保存,使用!为强制退出不保存文件 |
:wq | 保存后退出,若为:wq!,则为强制保存后退出(常用) |
:w [filename] | 将编辑数据保存为另一个文件(类似另存新文档) |
:r [filename] | 在编辑的数据中,读入另一个论据的数据,亦即将filename这个文件内容加到光标所在行的后面 |
:set nu | 显示行号,设定之后,会在每一行的前面显示该行的行号 |
:set nonu | 与set nu相反,为取消行号 |
n1,n2 w [filename] | 将n1到n2的内容保存为filename 这个文件 |