Vim笔记

写在前面的话:

1. 快捷键有大小写区分,一般来说大写字母的作用与小写字母相反,比如[n]与[N](shift+n),[n]是向下查找结果,[N]是向上查找,,或类似,比如[a]是在光标后插入,[A](shift+a)是在行尾插入

2. 某些快捷键可以有数字^$组合模式,
[number][command],例如方向键 [2][j] 代表向下移动2行
[command][^$],例如删除命令 [d][^]从当前删除到行首,[d][$]从当前删除到行末

3. 有些有数字,命令1,命令2组合方式,
[number][command1][command2],例如删除命令 [2][w][d] 代表删除两个词

4. 某些快捷键可以和自身重复,
[command][command],例如删除 [d][d] 代表删除当前行 [c][c]代表修正当前行 [y][y]代表复制当前行

5. 用[.]可以重复上个命令
[d2d]删除两行
[.]重复上个命令,删除两行

快捷键

索引


一图胜千言

vimshotcut

方向键


[h] [j] [k] [l] 分别代表 左 下 上 右

可以用 [count][key] 移动[count]次,例如

[5][k] 光标向上移动5行

[g][g](按两下g)光标移动到文章顶部

)向后跳一句
(向前跳一句
}向后跳一段
{向前跳一段
ctrl+o上次光标处
ctrl+i下次光标处

可以用[lineNumber][g][g] 跳到[lineNumber]行,例如
[42][g][g]跳到第42行

[G]光标移动到文章底部

[w]移动光标到后一个单词的词首(这里的单词包括中文,英文和标点,以空格为界,两个空格之间为一个词,标点算一个词)
可以用[count][w]快速移动多个词,
例如[5][w]光标向后移动5个单词。

[e]移动光标到词尾,再按一次移动到下个单词的词尾
[b]移动到光标词首,再按一次移动到上个单词的词首

替换命令


[r][被替换字符]替换当前光标字符为[被替换字符]
[r][count][被替换字符]替换当前字符及之后[count]个字符为[被替换字符]
例如

123123123213213

[r][2][c]之后变成

cc3123123213213

[s]全文替换

range 行数范围 1,7 指从第一行至第七行,1,$ 指从第一行至最后一行,也就是整篇文章,也可以 % 代表。% 是目前编辑的文章,# 是前一次编辑的文章。
pattern 就是要被替换的字串,可以用 正则表达式表示。
string 替换的字符串 pattern 由 string 所取代。
c confirm询问模式,替换每个匹配之前进行询问
e 不显示error
g 整行替换
i ignore不区分大小写

编辑命令


[J]合并行(保留行前空格),比如

第一行
第二行

此时在光标在第一行时按[J],会变成如下结果

第一行 第二行

[x]删除当前光标的字符
[d]删除命令:
[d][d]删除整行,并将删除内容移动到缓冲区
[d][count][d]删除[count]行
[d][count][w]删除[count]个词

排序

选择/粘贴

[v]命令进入可视选择模式然后可以通过上面的移动命令进行可视选择


选择全文,借助于[v]命令实现

[>]增加缩进
[<]减少缩进
[p]粘贴命令
[y]复制命令
vim支持多个剪贴板,可以通过
[number][y]或者[number][p]的形式粘贴或复制到[number]号剪切板里,例如

查看各剪切板内容:

复制所有行到系统剪切板

从系统剪切版粘贴
ctrl+v

窗口分割与文件切换

在文件之间跳转也是必不可少的,因此我们可以用下面的命令来打开新文件:

然后用以下快捷键或b来切换文件

移动分割窗口

设置分割窗口高度

设置分割窗口宽度

快速保存退出当前文件

折叠


[v]选中需要折叠的部分,然后输入:fold进行折叠

Vim Everywhere


这里是搜集一些其他工具的vim插件
vistual studio vim插件: vs vim
chrome插件: Vimium

参考链接


vim替换命令
vim粘贴模式快捷方式
Go to file
Folding



无觅相关文章插件,快速提升流量