vim 按键和快捷键
本文章根据课程整理:https://www.imooc.com/learn/1129
Ctrl + h 删除上一个字符。 ctrl + w 删除上一个单词。 Ctrl + u删除当前行
(Ctrl +a 移动到行前 ctrl + e 快速移动到结尾 ctrl+f 后移 ctrl+b前移)
替代esc(快速回到normal模式) ctrl + c ctrl+[
快速进入插入模式(从normal) gi
快速移动 normal模式下
w/W 移动到下一个单词的开头
e/E移动到一个单词的结尾
B/b移动到上一个单词的开头
快速跳转单词 f + 单词(首字母就可以) ; 选择一样的下一个
快速删除一个字符:x 单词:dw 删除一行:dd 删除单词和旁边空格:daw
删除括号内容 :dt)
v 模式下 选择字符, 通过x删除。V行选模式, 通过d删除
修改: r(replace), c(change), s(substitute)
normal模式下:
使用r替换一个字符。 s删除一个字符并进入插入模式。
R不断替换后面的字符 。 S删除整行并且进入插入模式
caw删除一个单词并且进入插入模式 ca”删除到双引号
查询:
使用/或者?进行前向或者反向搜索
使用n或者N跳转下一个和上一个匹配
使用*或者#进行当前单词的前向后向匹配
替换:
:行号 s/被替换的文本/要替换的文本/flag。
比如 :1,10 s/self/this/g 解释: 在一到十行将self替换成this
1,10 可以变成% %代表整个文件的范围。
flag: g(global)表示全局范围内执行.
c(confirm) 表示确认,可以确认或者拒绝修改。
n(number) 报告匹配次数而不替换。
text object:
vi” 快速选中双引号中的内容。
ci” 快速修改双引号中的内容。
G 移动到结尾
Ci [ 直接修改方括号里面的内容
其实这些都是互通的。比如ci{
复制粘贴:
normal模式下:
复制粘贴: y(yank)和p(put), 剪贴d和p。
在v(visual)模式下, 选中需要复制的部分,y复制,然后p粘贴。
配合文本对象:yyw, 复制一个单词。 Yy复制一行
insert模式下:
设置了autoindent后,ctrl+v(command+v)复制代码会造成缩紧混乱。这个时候需要设置:set paste 和 :set no paste 解决。
补全: ctrl + n , ctrl + p 补全单词。
Ctrl + x ctrl + f 补全文件名
Ctrl +x , ctrl + o 补全代码, 需要开启文件类型检查,安装插件。
显示出来待选项的时候, 使用ctrl + n , ctrl+p 可以上下移动。
Ctrl + x + f 显示文件。 比如 with open(‘ + ctrl + x + f 就可以显示当前文件夹下所有的文件。
文件补全:
首先 filetype on
更换配色:
:colorscheme 显示当前配色
:colorscheme <ctrl + d> 显示所有配色 (中间有一个空格)
:colorcheme 配色名 改变配色