在命令行下:vi xxx
→ 普通模式(主要操作:复制、粘贴、删除)。
普通模式下:i 或 o
→ 编辑模式(主要操作:编辑文本),ESC退出编辑模式,返回普通模式。
- i:当前光标前插入
- o:当前光标行的下一行插入
普通模式下:: 或 /
→ 命令模式,ESC退出命令模式,返回普通模式。
普通模式
移动光标
- ^:移动到行头,0 也可移动到行头
- $:移动到行尾
- w:向后移动到词头
- e:向后移动到词尾
- b:向前移动到词头
- gg:文档开头
- G(Shift + g):文档末尾,3G 移动到第三行
复制
- yy:复制当前行,3yy 复制3行
- y^:复制光标位置到行首
- y$:复制光标位置到行尾
- yw:复制一个词(光标位置到空格)
剪切
- dd:剪切当前行,3dd 剪切3行
- dw:剪切一个词(光标位置到空格)
- x:剪切光标位置,相当于del
- X(Shift + x):剪切光标前一个位置,相当于Backspace
粘贴
- p:粘贴
替换
- r:替换光标位置
- R(Shift + r):依次替换
撤销和重做:
- u - 撤销
- Ctrl + r - 重做
命令模式
文件操作
- :w 保存
- :q 退出
- :wq 保存并退出
- :q! 不保存强制退出
设置
- :noh 取消高亮显示
- :set nu 显示行号,:set nonu 关闭行号
查找
- /pattern:向前搜索指定模式
- n:跳转到下一个搜索结果
- N:跳转到上一个搜索结果
替换
- :s/old/new/g 替换当前行所有匹配的字符串
- :%s/old/new/g 全局替换 old 为 new