
vim

宇宙第一编辑器
Vim
普通模式
光标移动
- ==h j k l== 左 下 上 右
- ==ctrl-b== page up
- ==ctrl-f== page down
- ==:%== 跳到匹配的大括号
- ==w W== 跳到下一个单词首(W不包含符号)
- ==**e E **== 跳到下一个单词尾(E不包含符号)
- ==b B== 跳到上一个单词首(B不包含符号)
- ==0== 跳到行首
- ==^== 跳到该行第一个字符
- ==$== 跳到该行最后一个字符
- ==gg== 跳到第一行
- ==[N]G== 跳到第N行,不加N时跳到最后一行
- ==fx== 到下一个字符为x的位置
- ==tx== 到下一个字符为x的前一个位置
- ==Fx== 到前一个字符为x的位置
- ==× #== 显示当前游标下的所有字符串
- ==`.== 回到上一次编辑的位置
- ==H M L== 跳到当前页面的上,中,下处
- ==ma== 在光标处标记,命名为a
- ==`a== 跳到标记处
编辑
- ==**r **== 替换单个字符
- ==J== 把当前行下面一行加到改行后面
- ==cc== 改变一整行
- ==**cw **== 改变当前位置到单词末尾
- ==c$== 改变当前位置到行该末尾
- ==s== 删除当前字符并进入插入模式
- ==S== 删除一整行并进入插入模式
- ==xp== 剪切粘贴(交换两个字符)
- ==u== 撤销
- ==ctrl-r== 和撤销相反
- ==.== 重复上条命令
- ==~== 切换大小写
- ==g~iw== 对整个单词切换大小写
- ==gUiw== 对当前单词切换为大写
- ==guiw== 对当前单词切换为小写
- ==>>== 右移
- ==<<== 左移
- ====== 自动对齐(按标准格式化对齐)
剪切和粘贴
- ==dd== 删除(剪切)一整行
- ==dw== 删除当前光标下的单词
- ==x== 删除当前字符
- ==X== 删除前一个字符
- ==D== 删除到该行最后
- ==yy== 复制一整行
- ==[N]yy== 复制N行
- ==yw== 复制一个单词
- ==y$== 复制到该行末尾
- ==p== 粘贴在光标之后
- ==P== 粘贴在光标之前
- ==]p== 自动粘贴到合适的位置
插入模式
基本编辑操作
==i== 在游标位置进入插入模式
==I== 在当前行首进入插入模式
==a== 在游标之后位置进入插入模式
==A== 在当前行尾进入插入模式
==o== 在当前行下面插入一行并进入插入模式
==O== 在当前行上面插入一行并进入插入模式
==Esc== 推出插入模式并进入普通模式
可视模式
基本操作
- ==v== 字符可视模式
- ==V== 行可视模式
- ==ctrl-v== 块可视模式
- ==o== 移动光标到标记文本的对角
- ==U== 把标记区域切换为大写
- ==O== 移动光标到标记文本的另一侧
- ==aw== 标记一个单词
- ==ab== 标记包括小括号在内的文本
- ==aB== 标记包括大括号在内的文本
- ==ib== 标记小括号内的文本
- ==**iB **== 标记大括号内的文本
命令行
- ==< >== 左移,右移
- ==y== 复制
- ==d== 删除
- ==~== 大小写切换
命令模式
查找替换
- ==/pattern== 向后查找pattern
- ==?pattern== 向前查找pattern
- ==n== 重复同向搜索
- ==N== 重复反向搜索
- ==:s/old/new/g== 替换整个文件里面的old文本为new文本
- ==:s/old/new/gc== 与上面的不同之处在于需要挨个确认
退出
- ==:w== 保存
- ==:wq== 保存并退出
- ==:x== 保存并退出
- ==:q== 退出(未保存的话退出失败)
- ==:q!== 强制退出
多文件操作
- ==:e filename== 在一个新的流中编辑文件
- ==:bn== 去到下一个流中
- ==:bd== 关闭一个文件
- ==:sp fn== 在一个新的流中打开文件并分窗
- ==ctrl-w s== 分窗(水平)
- ==ctrl-w w== 切换窗口
- ==ctrl-w q== 退出一个窗口
- ==ctrl-w v== 分窗(垂直)
- ==:tabe fn== 在新tab里编辑文件
- ==gt== 切换到下一个tab
- ==gT== 切换到前一个tab
- ==:tabr== 切换到第一个tab
- ==:tabl== 切换到最后一个tab
- ==:tabm [N]== 切换到tab N之后