常用工具使用

VIM使用

2019-08-18  本文已影响0人  五城十九洲

VIM使用

一、三种模式简介

1.Normal模式

ESC | ctrl+[

2.Insert模式

小写 i (insert) 当前字母前面插入 | 大写 I 行首插入

小写 a (append) 当前字母后面插入 | 大写 A行末插入

小写 o (open a line below) 当前行下方插入空行并进入插入模式 | 大写 O当前行上方插入空行并进入插入模式

小写 s (substitute) 删除当前字符并进入插入模式 | 大写 S删除当前行并进入插入模式 (注意会有删除操作)

3.Visual模式 普通模式下使用v进行visual选择,例如

选择 普通模式 按v,左下角变成VISUAL,光标往右移动(会选中一段区域),eg:按d或x删除

选择行 大V整行选中,使用上下方向键,eg:按d或x删除

选择块 Ctrl + v 配合方向键可以选择一块区域,eg:按d或x删除

Command命令,普通模式下输入“:”之后执行命令,例如
:wq 保存退出
:vs 垂直分屏 vertical split
:sp 横向分屏 split
:%s /oldstr/newstr /g 全局替换
:syntax on 语法高亮
:set hls 高亮搜索
:set incsearch 增量搜索


二、移动

上下左右:h (←) j (↓) k (↑) l (→)

ADM-3A 终端机全貌.png 键盘.png
单词移动.png

单词移动

w/W 移到下一个word/WORD开头

e/E 移动到下一个word/WORD结尾 # 首次执行,若光标不在当前单词结尾,则会跳到本单词结尾

b/B 回到上一个word/WORD开头 # 首次执行,若光标不在当前单词开头,则会跳到本单词开头

其中 word -以非空白符分割的单词,WORD -以空白符分割的单词

行间搜索移动

f{char} 正向移动到下一个{char}字符上,F{char}表示反过来搜前面的字符

t{char} 正向移动到char的前一个字符,大写的T反过来向前,移动到char的后一个字符

; 重复上次的命令

, 反转方向执行上次的命令

Vim水平移动

0移动到行首第一个字符

$移动到行尾

Vim页面移动

gg/G 移动到文件的开头和结尾,可以使用Ctrl + o快速返回(可连续返回)

Ctrl + u/Ctrl + f 上下翻页(upword/forword)
Ctrl+u/Ctrl+d 上下翻半页(up/down)

标记跳转

m{mark} 标记

`{mark} 返回标记

三、文本对象

image.png

四、增删改查

Vim删除

Vim 快速修改

撤销操作

u (undo)表示撤销最后一次修改 #可以连续用

U 表示撤销对整行的修改 #只能用一次,再用旧是恢复撤销的内容,二者不断切换

Ctrl + r 恢复撤销的内容 #可以连续用

Vim查询

五、搜索替换

用途:代码中命名错误、重构代码

:[rang] s[ubstitute]/{pattern}/{string}/[flags]

Tips:

六、复制粘贴与寄存器

Normal模式复制粘贴

选中 v(visual) 复制 y(yank) 粘贴 p(put) 剪切 d(delete),剪贴dp

粘贴代码需要注意:默认设置autoindent(自动缩进),粘贴python代码缩进混乱

需要使用:set paste 和:set nopaste解决

Vim寄存器

Vim里操作的是寄存器而不是系统剪切板

默认我们使用d删除或者y复制的内容都放到了“无名寄存器”

Tips:

七、宏(macro)批量操作

例子:给多行url链接加上双引号

方法一:先使用q开始录制,给一行加上双引号,之后使用q退出;在剩下的所有行中回放录制的宏

录制 -->

qa #开始录制,保存在寄存器a(左下角出现recording @a)

I -> 加上前双引号 -> ESC #在行首插入双引号

A -> 加上后双引号 -> ESC #在行尾巴插入双引号

q #结束录制(左下角recording @a 消失)

回放 -->

1)一行行回放

j #到下一行

@a #回放寄存器a中的录制的操作

2)全篇回放

V #大V选中一行(左下角变成 --VISUAL LINE--)

G #选中行一直到结尾,即全选

: #进入命令行模式(左下角变为 :'<,'> )

normal @a #命令行模式下输入该命令,回车完成全部修改

八、Vim 补全

上一篇 下一篇

猜你喜欢

热点阅读