vim速查
🌱 🦤 🌱
常用操作
ci(改变当前括号内的内容da'删除一个单引号字符串, 包括周围的单引号diw,ciw,yiw,viw改变连接在一起的词die,cie,yie改变页面所有dit改变便签
gd转到定义,gh显示注释,<C-o>返回上一个位置<C-0>转到文件树,<c-y>返回文件光标位置,o``l打开文件gt切换文件
<leader><leader> s <char>搜索字符d s <existing char>,ds "删除双引号,dst删除标签c s <existing char> <desired char>,cs " '把双引号改为单引号,cs " t div <enter>改为标签y s <motion> <desired chaar>,ysiw < div <enter>增加标签,ysiw "增加双引号
i",a"iw,awi(,a(历史移动:
g;上一个修改位置,g,下一个修改位置,ctrl + o上一个跳转位置,ctrl + i下一个跳转位置
重复
1 | . # 小数点,即重复(Dot)命令,重复执行上一次命令 |
光标移动
1 | # -------------------- 单位级移动 -------------------- |
插入模式
1 | i # 在光标处进入插入模式(i: insert) |
插入模式的命令
1 | <Up> # 光标向上移动 |
文本编辑
1 | r # 替换当前字符(r: replace) |
文本对象
- 只适用于可视模式或在操作符后,例如:操作包括 选择 v、删除 d、复制 y、修改 c 等
1 | aw # 操作整个单词,不包括分隔符(aw: a word) |
- 文本对象的配对括号、标点及配对标点内的内容的编辑修改对编程非常实用,可以简单总结为
1 | ci'、ci"、ci(、ci[、ci{、ci< # 分别修改这些配对标点符号中的文本内容 |
移动文本
1 | :[range]m[ove]{address} |
1 | :m+1 # 下移 1 行 |
文字排版
1 | [N]>> # 向右缩进 N 行,单位为 shiftwidth |
复制粘贴
1 | :[range]co[py]{address} |
1 | :3copy. # 复制文件的第 3 行到当前行(当前行用 . 表示) |
1 | :3copy. # 复制文件的第 3 行到当前行(当前行用 . 表示) |
1 | p # 粘贴到光标后(p: paste) |
撤销与恢复
1 | [N]u # 撤销命令,N 为任意整数,表示撤销 N 步操作,下同(u: undo) |
查找命令
1 | /pattern # 从光标处向文件尾搜索 pattern |
substitute 命令替换
1 | :[range]s[ubstitute]/{pattern}/{string}/[flags] |
1 | g& # 重复上一次 substitute 命令 |
global 命令替换
1 | :[range]g[lobal][!]/{pattern}/[cmd] |
1 | :g/pattern # 查找并显示文件中所有包含模式 pattern 的行,并移动到最后一个匹配处 |
可视模式
1 | v # 切换到面向字符的可视模式(v: visual) |
注释命令
1 | Ctrl+v # 多行注释 步骤1:进入命令行模式,按 Ctrl+v 进入可视模式,然后按 j 或者 k 字母键选中多行,把需要注释的行标记起来 |
1 | :N,M s/^/ 注释符 /g # 在指定行 N ~ M 的行首添加注释(注意冒号) |
保存退出
1 | :w # 写入文件并保存,会修改文件的时间戳 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 admin🌸!



