最近搞redis配置文件,无奈vim技术太差,甚恼。
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。
以下是常用的几个命令:
i 切换到输入模式,以输入字符。 x 删除当前光标所在处的字符。 : 切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
在命令模式下按下:(英文冒号)就进入了底线命令模式。按ESC键可随时退出底线命令模式
在底线命令模式中,基本的命令有:
q 退出程序 w 保存文件
vi filename //打开filename文件:w //保存文件:w vpser.net //保存至vpser.net文件:q //退出编辑器,如果文件已修改请使用下面的命令:!q //退出编辑器,且不保存:wq //退出编辑器,且保存文件
a //在当前光标位置的右边添加文本i //在当前光标位置的左边添加文本A //在当前行的末尾位置添加文本I //在当前行的开始处添加文本(非空字符的行首)O //在当前行的上面新建一行o //在当前行的下面新建一行R //替换(覆盖)当前光标位置及后面的若干文本J //合并光标所在行及下一行为一行(依然在命令模式)
x //删除当前字符nx //删除从光标开始的n个字符dd //删除当前行ndd //向下删除当前行在内的n行u //撤销上一步操作U //撤销对当前行的所有操作
/vpser //向光标下搜索vpser字符串?vpser //向光标上搜索vpser字符串n //向下搜索前一个搜素动作N //向上搜索前一个搜索动作
n+ //向下跳n行n- //向上跳n行nG //跳到行号为n的行G //跳至文件的底部
:set nu //显示行号:set nonu //取消显示行号
yy //将当前行复制到缓存区,也可以用 "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。nyy //将当前行向下n行复制到缓冲区,也可以用 "anyy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。yw //复制从光标开始到词尾的字符。nyw //复制从光标开始的n个单词。y^ //复制从光标到行首的内容。 VPS侦探y$ //复制从光标到行尾的内容。p //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用"ap 进行粘贴。P //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用"aP 进行粘贴。
:s/old/new //用new替换行中首次出现的old:s/old/new/g //用new替换行中所有的old:n,m s/old/new/g //用new替换从n到m行里所有的old:%s/old/new/g //用new替换当前文件里所有的old
Ctrl+v,移动光标选择对象,大写的 I,,如#或//,esc两次,生效
自动缩进:Ctrl+v,移动光标选择行,= 左右缩进:Ctrl+v,移动光标选择行,</> 多行注释:Ctrl+v,选择多行,大写的 I,输入#,esc两次 多行取消注释:Ctrl+v,选择多行需要删除的部分,d
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
字符按键以及Shift组合,输入字符 ENTER,回车键,换行 BACK SPACE,退格键,删除光标前一个字符 DEL,删除键,删除光标后一个字符 方向键,在文本中移动光标 HOME/END,移动光标到行首/行尾 Page Up/Page Down,上/下翻页 Insert,切换光标为输入/替换模式,光标将变成竖线/下划线 ESC,退出输入模式,切换到命令模式