背景
最近学习一些开源软件的配置,发现都是linux上的,安装了ubuntu server发现都是控制台,要想编辑配置文件只能使用vi,因此这里记录一下,方便查看
编辑保存
- ESC进入命令模式
- i进入编辑模式
- wq保存
- !q 强制退出不保存
移动光标
- 上, 下, 左, 右: k,j,h,l
- 右移一个词:w
- 右移一个以空格分隔的词:W
- 移动到行首:0
- 移动到行尾:$
- 移动到第n行:nG
- 移动到文章末尾:G
- 向前翻页:Ctrl+F
- 向后翻页:Ctrl+B
- 句子开头:(
- 句子末尾:)
- 段落开头:{
- 段落末尾:}
复制粘贴
- 复制光标所在行:yy
- 复制当前所在行起n行:nyy
- 粘贴到光标所在行的下一行或下一个字符:p
- 将第m行到第n行(包括n)复制到第r行:m,n copy r
- 复制从光标开始的一个词:yw
查找替换
- 查找str:/str,使用n到下一个,使用N到上一个
- 用str2替换光标所在行中首个str1::s/str1/str2
- 用str2替换行中所用出现的字符串str1::s/str1/str2/g
- 用str2替换文中所有str1::1,$ s/str1/str2/g
- 用str2替换从第m行到第n行的所有str1::m,n s/str1/str2/g
- 用str2替换从第m行到第n行的第一个str1::m,n s/str1/str2
- 替换光标所在字符:rb
删除
- 删除光标所在行:dd
- 删除从光标所在行开始的n行:ndd
- 删除从光标所在位置到行尾:d$ or d0
- 删除一个以空格分隔的词:dw
- 删除从光标开始到下一行:d)
- 删除从光标开始到下一段:d}
- 删除一个字符:x
- 删除n个字符:nx
进入到插入模式:
- 从光标所在位置编辑:i
- 从光标所在位置的下个位置编辑:a
- 在光标所在行前面插入一行:大O
- 在光标所在行后插入一行:小o
在不同文件之间切换
- step1:打开文件file1:vi file1
- step2:打开文件file2::e file2
- step3: 在两个文件之间切换:e#