+++ title = "vi" author = "taadis" head_img = "" created_at = 2019-05-28T14:52:43 updated_at = 2021-08-12T09:29:00 description = "记录了下 vi 的基本使用..." tags = ["linux","vi"] +++ # vi ## 基本模式 - 命令模式:按esc键进入 - 编辑模式:i键进入 - 底行模式: 方向键 ``` # h向左移动一格 # l向右移动一格 # j向下移动一格 # k向上移动一格 hjkl ``` > 为什么用hjkl作为方向键? 据说是 Bill Joy 创建 vi 文本编辑器的时候,他使用的是 ADM-3A终端机. 习惯使然变成历史遗留下来了. ## 设置行号 ``` # 设置行号 :set nu :set number # 关闭行号 :set nonu ``` ## 跳转到指定行 ``` # 跳转到指定行 :num # 跳转到最后一行 :$ # 或 Shift + g ``` 移动到首行 ``` # 命令模式下输入gg gg ``` 移动到当前行首 ``` # 命令模式下按0 0 ``` 撤销与恢复 ``` # 命令模式下输入u来撤销操作 u # 命令模式下control+r恢复刚刚撤销的操作 contrl+r ``` ## 参考 - [Vi](https://baike.baidu.com/item/Vi/8987313) - [Here is why vim uses hjkl keys as arrow keys](https://catonmat.net/why-vim-uses-hjkl-as-arrow-keys)