vi是非图形化的编辑器
vim是vi的加强版。
三种使用模式
一般模式用户可以进行光标的移动,删除字符以及复制
编辑模式下,用户可以插入或者删除字符
命令模式下,可以保存文件或者退出编辑器
移动操作
向下移动光标:下箭头,j,空格
向上移动光标:上箭头,k,空格
向左移动光标:左箭头,h
向右移动光标:右箭头,l
移动到下一行行首:回车键
移动到上一行行首:-
移动到文件最后一行行首:G
插入操作
右插入:a
左插入:i
行尾追加:A
行首插入:I
当前行上面插入一个新行:O
当前行下面插入一个新行:o
覆盖光标后面的若干文本:R
将当前光标所在的行与下行合并
以上除了J,都会使编辑器进入编辑模式。
Esc可以退回一般模式
复制和粘贴操作
复制行:yy(ayy,byy,cyy的语法可以定义多个缓冲区)
复制多行:nyy(将当前行以及下面的n行复制到缓冲区)
复制单词:yw(复制从光标当前位置到单词末尾的字符)
复制多个单词:nyw(复制从光标当前位置开始,复制后面的n个单词)
复制光标到行首:y^
复制光标到行尾:y$
粘贴到光标后:p
粘贴到光标前:P
删除操作
删除当前位置字符:x
删除多个字符:nx
删除当前行:dd
删除多个行:ndd
撤销上一个操作:u
撤销针对当前行的所有操作:U
如何进入命令模式
按下冒号之后vi底部出现命令提示符
命令操作
:e 打开另一个文件,文件名作为参数
:w 保存文件,如果另存为,那么新的文件名作为参数
:q 推出编辑器
:q! 不保存修改,直接推出编辑器
:wq 将文件保存后推出vi编辑器
vi 文件名 可以打开
:e 可以打开另一个,但是当前的会关闭。
:e! 丢弃当前修改,直接进入另一个
:n 跳到行号为n的行
:n+ 向下跳n行
:n- 向上跳n行
:set nu 显示行号
:set noun 隐藏行号
替换操作
:s/old/new 用字符串new替换首次出现的字符串old
:s/old/new/g 全部替换
:n,m s/old/new/g n到m行全部替换
:%s/old/new/g 整个文件里面替换
设置文件格式
:set fileformat=unix
:set fileformat=dos
文本搜索
一般模式下用反斜线 “/”
搜索到了之后n到下一个位置,N到上一个位置