在命令模式下移动光标
H(屏幕首行开头)
gg(文章首行开头)
0(行首) $(行末)
b(前一个单词开头) w(后一个单词开头)
e(后一个单词末尾)
G(文章末行开头)
从命令模式进入插入模式
o " 在当前光标所在行下面插入一行
O " 在当前光标所在行上面插入一行
分屏模式
- 适用于多文件处理
横向分屏
:sp otherfilename " split
垂直分屏
:vsp otherfilename " vertically split
切换Viewport
按键 | 作用 |
---|---|
Ctrl + w -> h | 移动光标到左边的viewport |
Ctrl + w -> j | 移动光标到下边的viewport |
Ctrl + w -> k | 移动光标到上边的viewport |
Ctrl + w -> l | 移动光标到右边的viewport |
Ctrl + w -> + | 扩大当前viewport |
Ctrl + w -> - | 缩小当前viewport |
Ctrl + w -> = | 重新均匀分配各个viewport的占比 |
Ctrl + w -> r | 调换各个viewport的位置。用R的话是反向调换 |
Ctrl + w -> q 或c | 关闭当前viewport |
Ctrl + o 或 :only | 只保留当前所在viewport |
字符搜索
/ " 顺序查找(n下一个、N上一个)
? " 逆向查找
% " 配对括号查找
字符替换
:s/old/new " 只改当前所在行的第一个
:s/old/new/g " 只改当前所在行的所有
:#,#s/old/new/g " #,#表示若干行中首位两行的行号
:%s/old/new/g " 替换整个文件中的每个匹配符
:%s/old/new/gc " 替换整个文件中的每个匹配符, 但会提示是否进行替换
文件合并
:r filename " 在光标后插入一个文件的内容
在vim中执行外部shell命令
:! shell_command
:w FILENAME " 可将当前编辑文件保存FILENAME文件中
v motion :w FILENAME " 可将当前编辑文件中可视模式下选中的内容保存到FILENAME文件中
:read FILENAME " 可提取磁盘文件FILENAME并将其插入到当前文件的光标位置后面
:read ! wc % " 可将文件包含的行数、单词数和字符数输出到当前文件的光标位置后面
:2read ! wc % " 插入到第二行,使用`$`在最后一行插入,`0`在第一行前面插入
保存当前所有打开的文件及其状态
:mksession ~/.vim/sessions/your_session_name.vim
还原上次会话
- 法一:
:source ~/.vim/sessions/your_session_name.vim
- 法二:
vim -S ~/.vim/sessions/your_session_name.vim
注:本文内容部分来自互联网整理,部分来自个人经验总结;本文将持续收集更新,欢迎留言补充!