VIM 学习记录
vim.是一个比较神奇的东西,可能最初会因为退出都很困难的一个神奇的编译器.当时用ubuntu还是做ros(一个机器人的库吧算是),后来使用了vscode舒服很多.直到后来打算自己搭建服务器,搞了一个centOS.只能用vim,觉得这个东西还是很好用的.而且那种使用起来快速飞行的感觉真的很棒.所以现在决定系统学一下(主要是用一下一些语法和一些好用的快捷键)
基础概念
插入模式:可以把键盘上的输入符号输入到文件编辑区里面
普通模式:可以进行命令的输入
v模式:可以进行模块编辑
1. 基本指令
这里以表格形式列出,方便进行整理和比对
基础指令 | 快捷键 | 备注或者例子说明 |
---|---|---|
hjkl | 上下左右 | |
q | 退出 | |
wq | 保存之后退出 | |
i(c,o) | 进入输入模式(insert 插入模式 | |
esc | 进入普通模式 | |
v | 可视模式 | |
V | 行可视模式 | |
ctrl+v | 块可视模式 | |
u | 撤回 |
2.高级指令
列出一些进阶指令,可以在本文编辑中更加游刃有余
2.1 基于单词的移动
import tensorlfow as tf
假设我们的光标处于l的位置
指令 | 快捷键 | 备注或者例子说明 |
---|---|---|
w | 光标向后移动到下一个单词开头 | 移动到as 的a |
e | 向后移动到下一个单词的结尾 | 移动到tensorflow的w |
b | 向前移动到上一个单词的开头(或者到本单词的开头 | 移动到tensorflow的t |
ge | 向前移动到上一个单词的结尾 | import 的t |
2.2 对字符进行查找并且跳转
import tensorlfow as tf
假设我们的光标处于l的位置
指令 | 快捷键 | 备注或者例子说明 |
---|---|---|
只对当前行有影响 | ||
f | 找到上一个字母,跳过去 | f t:跳转到tf的t |
F | 查找到上一个字母,跳过去 | Ft:跳转到tensorflow的t |
; | 循环上一个查找命令 | |
, | 反方向查找上一个命令 | |
t | 通常用于找标点符号 |
2.3 文本对象
in- inside
a - around
这里的选中是基于visual 模式下的,所以指令前面需要加上 v
文本例子
<div class="word">
Welcome to the only autobiography of my life
</div>
指令 | 快捷键 | 备注或者例子说明 |
---|---|---|
指令前要加上v | ||
ab/B | 一对圆括号/方括号 | |
ib/B | 圆括号内部 | |
at | 一对xml标签 | |
iw | 当前单词 | |
aw | 单词加空格 | |
W,s,p | 字符串,句子,段落 |
2.4 操作符待决模式
{motion}分隔符文本对象和范围文本对象(上面的部分)
指令 | 快捷键 | 备注或者例子说明 |
---|---|---|
d{motion} | 删除模式 | dd删除一行文本 |
c{motion} | 修改模式 | cc修改一行 |
y{motion} | 复制模式 | yy复制一行文本 |