From f1122d196aa903b4312956346756724fe89c0992 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E6=AD=A3=E6=B3=A2?= <1938448998@qq.com> Date: Wed, 5 Jun 2024 19:40:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...70\347\224\250\345\221\275\344\273\244.md" | 215 ++++++++++++++++++ 1 file changed, 215 insertions(+) create mode 100644 "14 \346\233\271\346\255\243\346\263\242/20240605Vim\345\270\270\347\224\250\345\221\275\344\273\244.md" diff --git "a/14 \346\233\271\346\255\243\346\263\242/20240605Vim\345\270\270\347\224\250\345\221\275\344\273\244.md" "b/14 \346\233\271\346\255\243\346\263\242/20240605Vim\345\270\270\347\224\250\345\221\275\344\273\244.md" new file mode 100644 index 0000000..e320ecc --- /dev/null +++ "b/14 \346\233\271\346\255\243\346\263\242/20240605Vim\345\270\270\347\224\250\345\221\275\344\273\244.md" @@ -0,0 +1,215 @@ +# VIM常用命令 + +移动基础 + +``` +上下左右 hjkl +行内移动:w向后移动一个单词、b向前移动一个单词、o到行首、^到行首第一个不是空白字符的位置、$到行尾 +行数移动:gg文件顶部、G文件底部、数字gg指定函数 +屏幕移动:Ctrl+b向上翻页、Ctrl+f向下翻页、H屏幕顶部、M屏幕中部、L屏幕底部 +``` + +移动(程序员常用) + +``` +段落移动:{上一段、}下一段 +括号切换:%括号匹配及切换 +标记:mx添加记号x定位到标记的位置 +``` + +选中文本 + +``` +v可视模式 +V可视行模式 +Ctrl+v可视块模式 +``` + +撤销和恢复 + +``` +u撤销上次命令 +ctrl+r恢复撤销命令 +``` + +删除文本 + +``` +x删除光标所在字符 +d(移动命令),如yw +yy复制一行。注myy复制多行 +p粘贴 +``` + +替换 + +``` +r替换当前字符 +R替换光标后的字符,esc结束 +``` + +缩排和重复执行 + +``` +>>添加缩行 +<<减少缩行 +,重复上次命令 +``` + +查找 + +``` +常规查找 /str n查找下一个、N查找下一个 +单词快速匹配 *向前查找光标所在单词、#向后查找光标所在单词 +``` + +查找并替换 + +``` +全局替换 %s/old/new/g +可视区域替换 选中s/old/new/g +确认替换 %s/old/new/gc +``` + +插入 + +``` +i当前字符前插入 +l当前行头插入 +a当前字符后插入 +A当前行尾插入 +o当前行后添加新行 +O当前行前添加新行 +``` + +# 作业 + +1. vi 编辑器有几种模式? + + 1. 命令模式和插入模式 + +2. 如何进入 vi 编辑器的插入模式 + + 1. 在命令模式下按下小写字母 "i" 键 + +3. 如何进入 vi 编辑器的可视化模式 + + 1. 在命令模式下按下小写字母 "v" 键 + +4. 在 vi 编辑器中如何复制一行 + + 1. 在命令模式下将光标移动到想要复制的行,然后按下 "yy" + +5. 在 vi 编辑器中如何进行粘贴 + + 1. 在命令模式下将光标移动到要粘贴的位置,然后按下 "p" + +6. 如何删除从 3 行到 15 行的所有数据 + + 1. 在命令模式下输入 "3,15d" + +7. vim练习: + + - 光标移动练习,命令模式下: + + - 单位级 h j k l + - 单词级 w e b + - 块级 gg G 0 ^ $ H M L ngg nj nk + + 把下列句子按照第一句的正确顺序修改好并把多余的空行删除 + + ~~~ + g/^$/d + ~~~ + + ``` + this is a simple easy vim tutorial + + tutorial simple a easy this vim is + is this tutorial vim simple a easy + + + tutorial vim this is a easy simple + tutorial easy vim simple a this is + simple a vim easy tutorial is this + + tutorial is easy vim a simple this + + + vim simple this tutorial a easy is + a vim tutorial simple easy is this + + + easy a simple vim is tutorial this + vim tutorial is a easy simple this + a this vim tutorial is easy simple + this tutorial simple easy a is vim + + + easy tutorial this simple a is vim + a tutorial easy is this simple vim + + a tutorial vim is easy this simple + simple this easy is vim tutorial a + + this tutorial is a easy simple vim + vim is tutorial simple this easy a + + vim is simple this tutorial easy a + easy a simple is vim this tutorial + vim is tutorial simple a easy this + this vim is tutorial simple easy a + ``` + + 先敲出以下代码,然后修正以下代码中的错误单词、重复单词、错误格式、多余行,修改函数名为 typing 并为定时器添加 300 毫秒延迟 + + ``` + const bbb = () => { + // this is is a description + // + // another descriptttion + const timer = setTimeout(( ) => { + console.log(that) alert('cool!') + // awosome man ! + }) + } + ``` + + 尝试在下面的文本中进行复制粘贴练习 + + ``` + 删除这一行 + dd + 粘贴到这一行下面 + p + 剪切 ABC 并把它粘贴到 XYZ 前面,使这部分内容看起来像 + 剪切 并把它粘贴到 ABC XYZ 前面。 + daw + p + ``` + + 尝试修改下列文本的大小写 + + ``` + Change this line to UPPERCASE, THEN TO lowercase. + 转换词为大写:将光标移动到要修改的单词上,按下 gU 键将单词变为大写。 + 转换词为小写:将光标移动到要修改的单词上,按下 gu 键将单词变为小写。 + ``` + + 按下面的说明进行操作 + + ``` + 按 dd 删除本行 + 按 . 重复删除操作 + 2. 再删除两行 + 这行也没了 + p 把刚才删掉的粘回来 + 3. 又多出 6 行 + ``` + + 左缩进、右缩进练习 + + ``` + 在这一行上依次按 3>>,<< 和