diff --git a/source/_posts/linux/vim学习手记.md b/source/_posts/linux/vim学习手记.md index 54ce783..e4c4858 100644 --- a/source/_posts/linux/vim学习手记.md +++ b/source/_posts/linux/vim学习手记.md @@ -59,3 +59,45 @@ map i 这样在vim当中按下F3的时候, 就相当于输入后面的所有内容 > 宏按键只在一般模式下起作用, 所以后面的内容中先写一个i, 相当于进入到输入模式 +## 光标的移动 +这些操作只在一般模式下起作用 +![光标的移动](/images/linux/vi-vim-tutorial-1.gif) + +基本移动 ++ `h` ⬅️ 向左移动 ++ `l` ➡️ 向右移动 ++ `j` ⬇️ 向下移动 ++ `k` ⬆️ 向上移动 + +以单词为距离的移动, 以空白以及特殊字符(比如逗号)作为单词分隔 ++ `w/W` - 向后移动一个单词, 其中小写的是特殊字符也作为一个单词处理, 大写是将特殊字符归到附近的一个单词 ++ `b/B` - 向前移动一个单词, 大小写区别同上 ++ `e/E` - 向后移动一个单词(光标会置于单词末尾) ++ `ge` - 向前移动一个单词(光标会置于单词末尾) + +行操作 ++ `0` 或者 `^` - 移动至行首(如果行首有缩进, 0会将光标置于缩进之前, ^会将光标置于缩进之后) ++ `$` - 移动至行尾 +^和$与正则表达式中表示字符串的开头与末尾是一致的 + +## 跳转 ++ `Ctrl+f` - 下一页 ( forward ) ++ `Ctrl+b` - 上一页 ( back ) ++ `Ctrl+d` - 向下翻半页 ++ `Ctrl+u` - 向上翻半页 ++ `gg` - 跳转到文件首行 ++ `G` - 跳转到文件尾行 ++ `:行数` - 跳转到指定的行 + +## 剪切 复制 粘贴 +在vim当中剪切可以当做删除使用 + ++ `dd` - 剪切整行 ( delete ) ++ `yy` - 复制整行 ( yank ) ++ `p` - 粘贴 ( paste ) ++ `u` - 撤销 ( undo ) ++ `Ctrl+r` - 重做 ( redo ) + +> 在vim当中存在一个独立的寄存器空间, 它不同于操作系统中的剪贴板 +执行剪切或复制的内容都会置于寄存器当中 +使用命令`reg`可以查看寄存器当中存储的内容 diff --git a/source/images/linux/vi-vim-tutorial-1.gif b/source/images/linux/vi-vim-tutorial-1.gif new file mode 100644 index 0000000..1b320b2 Binary files /dev/null and b/source/images/linux/vi-vim-tutorial-1.gif differ