# vim **Repository Path**: wyl350/vim ## Basic Information - **Project Name**: vim - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-14 - **Last Updated**: 2025-02-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # todos 第一部分之前的练习基本做完了 第一部分的最后部分的脚本非常强大,没有尝试。 # 首部 ## 第1章 Vim解决问题的方式 ### 技巧1 认识 . 命令 ### 技巧2 不要自我重复 ### 技巧3 以退为进 ### 技巧4 执行、重复、回退 @: 可以用来重复任意Ex命令 & 可以用来重复上一次的 substitute 命令 ### 技巧5 查找并手动替换 ### 技巧6 认识.范式 # 第一部分 模式 'https://blog.csdn.net/weixin_43575658/article/details/113352564' ## 第2章 普通模式 ### 技巧7 停顿时请移开画笔 ### 技巧8 把撤销单元切成块 ### 技巧9 构造可重复的修改 ### 技巧10 用次数做简单的算术运算 ### 技巧11 能够重复,就别用次数 ### 技巧12 双剑合璧,天下无敌 ## 第3章 插入模式 26 ### 技巧13 在插入模式中可即时更正错误 26 ### 技巧14 返回普通模式 27 插入模式下,输入 插入普通模式 ### 技巧15 不离开插入模式,粘贴寄存器中的文本 28 {register} 智能模式插入 ### 技巧16 随时随地做运算 30 ### 技巧17 用字符编码插入非常用字符 31 ### 技巧18 用二合字母插入非常用字符 32 ### 技巧19 用替换模式替换已有文本 32 ## 第4章 可视模式 34 ### 技巧20 深入理解可视模式 34 ### 技巧21 选择高亮选区 36 ### 技巧22 重复执行面向行的可视命令 38 ### 技巧23 只要可能,**好用操作符命令,而不是可视命令 39 ### 技巧24 用面向列块的可视模式编辑表格数据 42 ### 技巧25 修改列文本 43 ### 技巧26 在长短不一的高亮块后添加文本 45 ## 第5章 命令行模式 47 ### 技巧27 认识Vim的命令行模式 47 来插入键盘上找不到的字符。(这个没有尝试到) p命令: 打印 ### 技巧28 在一行或多个连续行上执行命令 50 . 当前行 $ 最后一行 ://+1,/<\/html>-1p 打印html标签内的内容。 以搜索的内容作为范围的起点和终点。 :/ 和 / 是一样的,都是搜索的意思。 0 是虚拟行,第零行 'a 包含位置标记a的行 ### 技巧29 使用‘:t’和‘:m’命令复制和移动行 54 ### 技巧30 在指定范围上执行普通模式命令 57 ### 技巧31 重复上次的 Ex 命令 59 ### 技巧32 自动补全 Ex 命令 60 显示 tab键 shift + tab键 ### 技巧33 把当前单词插入命令行 62 ### 技巧34 回溯历史命令 63 q: ### 技巧35 运行Shell命令 65 :.w !bash 执行当前行的脚本内容 :w !bash 执行脚本中的所有内容 ### 技巧36 批处理运行Ex命令 69 # 第二部分 文件 https://blog.csdn.net/weixin_43575658/article/details/113353490 tee命令的使用: 'https://answer.baidu.com/answer/land?params=1YolaUsCoGWJzBGqBPq55hMfbAAEvwGQugQ1pw4qO56Fipcn3GZncgQRuRv1m1gzA9Dz0qHdr5vmuGZNlKBqWGEH%2BcQL%2By5hOQ%2F5LQkULt6y61wVKevo7%2FrYFhz2DyhwDVRprOSdMLWGGH2wcPncCFjQLXbmjQMrLrYr43E3idbsBzRB%2FJvnTUoaVxFLMSb4WLn%2FEwjEasMFeB9HSskYKA%3D%3D&from=dqa&lid=e21ca1d90223e095&word=linux tee命令' ## 第6章 管理多个文件 74 ### 技巧37 用缓冲区列表管理打开的文件 74 ### 技巧38 用参数列表将缓冲区分组 77 ### 技巧39 管理隐藏缓冲区 80 ### 技巧40 将工作区切分成窗口 82 ### 技巧41 用标签页将窗口分组 85 ### 第7章 打开及保存文件 88 ### 技巧42 用:edit命令打开文件 88 ### 技巧43 使用:find打开文件 91 ### 技巧44 使用netrw 管理文件系统 93 ### 技巧45 把文件保存到不存在的目录中 96 ### 技巧46 以超级用户权限保存文件 97 # 第三部分 更快地移动及跳转 'https://blog.csdn.net/weixin_43575658/article/details/114499229' ## 第8章 用动作命令在文档中移动 102 ### 技巧47 让手指保持在本位行上 102 ### 技巧48 区分实际行与屏幕行 105 ### 技巧49 基于单词移动 107 ### 技巧50 对字符进行查找 109 ### 技巧51 通过查找进行移动 113 ### 技巧52 用精确的文本对象 选择选区 115 ### 技巧53 删除周边,修改内部 119 ### 技巧54 设置位置标记,以便 快速跳回 120 ### 技巧55 在匹配括号间跳转 122 ### 第9章 在文件间跳转 125 ### 技巧56 遍历跳转列表 125 ### 技巧57 遍历改变列表 127 ### 技巧58 跳转到光标下的文件 128 ### 技巧59 用全局位置标记在文件间快速跳转 131 ### 第四部分 寄存器 'https://blog.csdn.net/weixin_43575658/article/details/114499556' ## 第 10章 复制与粘贴 134 ### 技巧60 用无名寄存器实现删除、复制与粘贴操作 134 ### 技巧61 深入理解Vim寄存器 137 ### 技巧62 用寄存器中的内容替换高亮选区的文本 142 ### 技巧63 把寄存器的内容粘贴出来 144 ### 技巧64 与系统剪贴板进行交互 147 ## 第 11章 宏 150 ### 技巧65 宏的读取与执行 150 ### 技巧66 规范光标位置、直达目标以及中止宏 153 ### 技巧67 加次数回放宏 155 ### 技巧68 在连续的文本行上重复修改 157 ### 技巧69 给宏追加命令 160 ### 技巧70 在一组文件中执行宏 162 ### 技巧71 用迭代求值的方式给列表编号 166 ### 技巧72 编辑宏的内容 168 # 第五部分 模式 'https://blog.csdn.net/weixin_43575658/article/details/114499877' ## 第 12章 按模式匹配及按原义匹配 174 ### 技巧73 调整查找模式的大小写敏感性 174 ### 技巧74 按正则表达式查找时,使用\v模式开关 175 ### 技巧75 按原义查找文本时,使用\V原义开关 178 ### 技巧76 使用圆括号捕获子匹配 179 ### 技巧77 界定单词的边界 181 ### 技巧78 界定匹配的边界 182 ### 技巧79 转义问题字符 184 ### 第 13章 查找 188 ### 技巧80 结识查找命令 188 ### 技巧81 高亮查找匹配 190 ### 技巧82 在执行查找前预览第 一处匹配 191 ### 技巧83 将光标偏移到查找匹配的结尾 193 ### 技巧84 对完整的查找匹配进行操作 194 ### 技巧85 利用查找历史,迭代完成复杂的模式 197 ### 技巧86 统计当前模式的匹配个数 200 ### 技巧87 查找当前高亮选区中的文本 202 ## 第 14章 替换 204 ### 技巧88 认识substitute命令 204 ### 技巧89 在文件范围内查找并替换每一处匹配 206 ### 技巧90 手动控制每一次替换操作 208 ### 技巧91 重用上次的查找模式 209 ### 技巧92 用寄存器的内容替换 211 ### 技巧93 重复上一次substitute命令 213 ### 技巧94 使用子匹配重排CSV文件的字段 216 ### 技巧95 在替换过程中执行算术运算 217 ### 技巧96 交换两个或更多的单词 219 ### 技巧97 在多个文件中执行查找与替换 221 ```bash /Pragmatic\ze Vim :vimgrep // **/*.txt :cfdo %s//Practical/gc :cfdo update ``` ## 第 15章 global命令 225 ### 技巧98 认识global命令 225 ### 技巧99 删除所有包含模式的文本行 226 ### 技巧100 将TODO项收集到寄存器 228 ### 技巧101 将CSS文件中所有规则的属性按照字母排序 230 # 第六部分 工具 ## 第 16章 通过ctags建立索引,并用其浏览源代码 236 ### 技巧102 认识ctags 236 ### 技巧103 配置Vim使用ctags 239 ### 技巧104 使用Vim的标签跳转命令,浏览关键字的定义 241 ## 第 17章 编译代码,并通过Quickfix列表浏览错误信息 245 ### 技巧105 不用离开Vim也能编译代码 245 ### 技巧106 浏览Quickfix列表 248 ### 技巧107 回溯以前的Quickfix列表 251 ### 技巧108 定制外部编译器 251 ### 第 18章 通过grep、vimgrep以及其他工具对整个工程进行查找 255 ### 技巧109 不必离开Vim也能调用grep 255 ### 技巧110 定制grep程序 257 ### 技巧111 使用Vim内置正则表达式引擎的Grep 260 这个网站非常重要: https://zhuanlan.zhihu.com/p/597098123 quickfix 列表 :copen 打开快速修复窗口 :cclose 关闭 quickfix 窗口 :cnext 转到下一个位置 :cprevious 转到上一个位置 上面的列表并不全面。 如果你有时间,我建议你了解一下 quickfix。 应该不会花很长时间。 这是 Vim 工具包中的一项有用技能。 要了解有关 quickfix 的更多信息,请查看 :h quickfix。 模糊搜索特定文件中的字符串 Vimgrep 还能够运行模糊搜索。 我们需要给它传递一个 f 标志。 要在 .sh 文件中模糊搜索字符串“echo”: :vim /echo/fg **sh 这将模糊搜索 **sh 模式内的所有行以查找类似于“echo”的字符串。 那么 vimgrep 模糊搜索与常规搜索有何不同? 除了匹配文字“echo”字符串外,它还会匹配类似以下内容:puts“Checking Homebrew...”,因为“Checking”中的“ec”和“Homebrew”中的“Ho”构造了一个“echo”。 正则表达式的一个学习网站: https://www.regular-expressions.info/tutorial.html%E3%80%82 ## 第 19章 自动补全 263 ### 技巧112 认识Vim的关键字自动补全 263 ### 技巧113 与自动补全的弹出式菜单进行交互 265 ### 技巧114 掌握关键字的来龙去脉 267 ### 技巧115 使用字典中的单词进行自动补全 269 ### 技巧116 自动补全整行文本 270 ### 技巧117 自动补全单词序列 271 ### 技巧118 自动补全文件名 273 ### 技巧119 根据上下文自动补全 274 ## 第 20章 利用Vim的拼写检查器,查找并更正拼写错误 276 ### 技巧120 对你的工作进行拼写检查 276 ### 技巧121 使用其他拼写字典 278 ### 技巧122 将单词添加到拼写文件中 279 ### 技巧123 在插入模式下更正拼写错误 280 ## 第 21章 接下来干什么 283 ### 21.1 继续练习 283 ### 21.2 定制你自己的Vim 283 ### 21.3 欲善其事,先利其器 284 # 附录A 根据个人喜好定制Vim 285 ## A.1 动态改变Vim的设置项 285 ## A.2 将配置信息存到vimrc 文件 287 ## A.3 为特定类型的文件应用个性化设置 288 # 相关网站 作者网站: http://vimcasts.org/ vim 在线文档: https://vimhelp.org/ # vim 游戏 https://zhuanlan.zhihu.com/p/165254171 游戏介绍: https://www.bilibili.com/video/BV16M4y1R7Hn/?vd_source=6bc0f94b625bcd622f7a3710878d6cc7 git游戏: https://www.bilibili.com/video/BV1gs4y187PZ/?p=5&spm_id_from=pageDriver 文本转语音网站: ttsmaker.com tts: https://github.com/lecepin/code-lab/tree/main/tts-tool