最强 vim 插件vimplus

最强 vim 插件vimplusAnautomaticconfigurationprogramforvim![main][2]安装MacOSX安装[HomeBrew][3]/usr/bin/ruby-e”$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)”安装vimplusgitclonehttps://github.com/chx

===============================================

最强 vim 插件vimplus 最强 vim 插件vimplus 最强 vim 插件vimplus 最强 vim 插件vimplus 最强 vim 插件vimplus 最强 vim 插件vimplus

![main][2]

安装

Mac OS X

安装[HomeBrew][3]

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装vimplus

git clone https://github.com/chxuan/vimplus.git ~/.vimplus
cd ~/.vimplus
./install.sh

设置Nerd Font

为防止vimplus显示乱码,需设置mac终端字体为Droid Sans Mono Nerd Font

更新vimplus

紧跟vimplus的步伐,尝鲜新特性

./update.sh

Linux 64-bit

支持以下发行版

最强 vim 插件vimplus

最强 vim 插件vimplus

最强 vim 插件vimplus

最强 vim 插件vimplus

最强 vim 插件vimplus

最强 vim 插件vimplus

最强 vim 插件vimplus

最强 vim 插件vimplus

最强 vim 插件vimplus

最强 vim 插件vimplus

最强 vim 插件vimplus

最强 vim 插件vimplus

最强 vim 插件vimplus

安装vimplus

git clone https://github.com/chxuan/vimplus.git ~/.vimpluscd ~/.vimplus./install.sh //不加sudo

设置Nerd Font

为防止vimplus显示乱码,需设置linux终端字体为Droid Sans Mono Nerd Font

多用户支持

将vimplus在某个用户下安装好后,若需要在其他用户也能够使用vimplus,则执行

sudo ./install_to_user.sh username1 username2 //替换为真实用户名

更新vimplus

紧跟vimplus的步伐,尝鲜新特性

./update.sh

Android 64-bit([Termux][87])

安装vimplus

git clone https://github.com/chxuan/vimplus.git ~/.vimplus
cd ~/.vimplus
./install.sh

更新vimplus

紧跟vimplus的步伐,尝鲜新特性

./update.sh

Docker

[ubuntu-vimplus][79]是vimplus基于ubuntu18.04的docker镜像,无需安装vimplus,即可快速体验vimplus带来的快乐

docker run -it chxuan/ubuntu-vimplus

自定义

  • [~/.vimrc][82]为vimplus的默认配置,一般不做修改
  • [~/.vimrc.custom.plugins][83]为用户自定义插件列表,用户增加、卸载插件请修改该文件
  • [/.vimrc.custom.config][84]为用户自定义配置文件,一般性配置请放入该文件,可覆盖[/.vimrc][82]里的配置

快捷键集合

插件相关

快捷键 说明
, Leader Key
<leader>n 打开/关闭代码资源管理器
<leader>t 打开/关闭函数列表
<leader>a .h .cpp 文件切换
<leader>u 转到函数声明
<leader>U 转到函数实现
<leader>u 转到变量声明
<leader>o 打开include文件
<leader>y 拷贝函数声明
<leader>p 生成函数实现
<leader>w 单词跳转
<leader>f 搜索~目录下的文件
<leader>F 搜索当前目录下的文本
<leader>g 显示git仓库提交记录
<leader>G 显示当前文件提交记录
<leader>gg 显示当前文件在某个commit下的完整内容
<leader>ff 语法错误自动修复(FixIt)
<c-p> 切换到上一个buffer
<c-n> 切换到下一个buffer
<leader>d 删除当前buffer
<leader>D 删除当前buffer外的所有buffer
vim 运行vim编辑器时,默认启动开始页面
<F5> 显示语法错误提示窗口
<F9> 显示上一主题
<F10> 显示下一主题
<leader>l 按竖线对齐
<leader>= 按等号对齐
Ya 复制行文本到字母a
Da 剪切行文本到字母a
Ca 改写行文本到字母a
rr 替换文本
<leader>r 全局替换,目前只支持单个文件
rev 翻转当前光标下的单词或使用V模式选择的文本
gcc 注释代码
gcap 注释段落
vif 选中函数内容
dif 删除函数内容
cif 改写函数内容
vaf 选中函数内容(包括函数名 花括号)
daf 删除函数内容(包括函数名 花括号)
caf 改写函数内容(包括函数名 花括号)
fa 查找字母a,然后再按f键查找下一个
<leader>e 快速编辑~/.vimrc文件
<leader>s 重新加载~/.vimrc文件
<leader>vp 快速编辑~/.vimrc.custom.plugins文件
<leader>vc 快速编辑~/.vimrc.custom.config文件
<leader>h 打开vimplus帮助文档
<leader>H 打开当前光标所在单词的vim帮助文档
<leader><leader>t 生成try-catch代码块
<leader><leader>y 复制当前选中到系统剪切板
<leader><leader>i 安装插件
<leader><leader>u 更新插件
<leader><leader>c 删除插件

插入模式

快捷键 说明
i 在光标处进入插入模式
I 在行首进入插入模式
a 在光标后进入插入模式
A 在行尾进入插入模式
o 在下一行插入新行并进入插入模式
O 在上一行插入新行并进入插入模式
gi 进入到上一次插入模式的位置
<esc> 退出插入模式

缓存操作

快捷键 说明
:e <filename> 新建buffer打开文件
:bp 切换到上一个buffer
:bn 切换到下一个buffer
:bd 删除当前buffer

窗口操作

快捷键 说明
:sp <filename> 横向切分窗口并打开文件
:vsp <filename> 竖向切分窗口并打开文件
<c-w>h 跳到左边的窗口
<c-w>j 跳到下边的窗口
<c-w>k 跳到上边的窗口
<c-w>l 跳到右边的窗口
<c-w>c 关闭当前窗口
<c-w>o 关闭其他窗口
:only 关闭其他窗口

光标移动

快捷键 说明
h 上下左右移动
j 上下左右移动
k 上下左右移动
l 上下左右移动
0 光标移动到行首
^ 跳到从行首开始第一个非空白字符
$ 光标移动到行尾
<c-o> 跳到上一个位置
<c-i> 跳到下一个位置
<c-b> 上一页
<c-f> 下一页
<c-u> 上移半屏
<c-d> 下移半屏
H 调到屏幕顶上
M 调到屏幕中间
L 调到屏幕下方
:n 跳到第n行
w 跳到下一个单词开头(标点或空格分隔的单词)
W 跳到下一个单词开头(空格分隔的单词)
e 跳到下一个单词尾部(标点或空格分隔的单词)
E 跳到下一个单词尾部(空格分隔的单词)
b 上一个单词头(标点或空格分隔的单词)
B 上一个单词头(空格分隔的单词)
ge 上一个单词尾
% 在配对符间移动, 可用于()、{}、[]
gg 到文件首
G 到文件尾
fx 跳转到下一个为x的字符
Fx 跳转到上一个为x的字符
tx 跳转到下一个为x的字符前
Tx 跳转到上一个为x的字符前
; 跳到下一个搜索的结果
[[ 跳转到函数开头
]] 跳转到函数结尾

文本编辑

快捷键 说明
r 替换当前字符
R 进入替换模式,直至 ESC 离开
s 替换字符(删除光标处字符,并进入插入模式,前可接数量)
S 替换行(删除当前行,并进入插入模式,前可接数量)
cc 改写当前行(删除当前行并进入插入模式),同 S
cw 改写光标开始处的当前单词
ciw 改写光标所处的单词
caw 改写光标所处的单词,并且包括前后空格(如果有的话)
ct, 改写到逗号
c0 改写到行首
c^ 改写到行首(第一个非零字符)
c$ 改写到行末
C 改写到行末(同 c$)
ci" 改写双引号中的内容
ci' 改写单引号中的内容
ci) 改写小括号中的内容
ci] 改写中括号中内容
ci} 改写大括号中内容
cit 改写 xml tag 中的内容
cis 改写当前句子
ciB 改写’{}’中的内容
c2w 改写下两个单词
ct( 改写到小括号前
x 删除当前字符,前面可以接数字,3x代表删除三个字符
X 向前删除字符
dd 删除当前行
d0 删除到行首
d^ 删除到行首(第一个非零字符)
d$ 删除到行末
D 删除到行末(同 d$)
dw 删除当前单词
dt, 删除到逗号
diw 删除光标所处的单词
daw 删除光标所处的单词,并包含前后空格(如果有的话)
di" 删除双引号中的内容
di' 删除单引号中的内容
di) 删除小括号中的内容
di] 删除中括号中内容
di} 删除大括号中内容
diB 删除’{}’中的内容
dit 删除 xml tag 中的内容
dis 删除当前句子
d2w 删除下两个单词
dt( 删除到小括号前
dgg 删除到文件头部
dG 删除到文件尾部
d} 删除下一段
d{
删除上一段
u 撤销
U 撤销整行操作
CTRL-R 撤销上一次 u 命令
J 连接若干行
gJ 连接若干行,删除空白字符
. 重复上一次操作
~ 交换大小写
g~iw 替换当前单词的大小写
gUiw 将单词转成大写
guiw 将当前单词转成小写
guu 全行转为小写
gUU 全行转为大写
gg=G 缩进整个文件
=a{
缩进光标所在代码块
=i{
缩进光标所在代码块,不缩进”{“
<< 减少缩进
>> 增加缩进
== 自动缩进
CTRL-A 增加数字
CTRL-X 减少数字
p 粘贴到光标后
P 粘贴到光标前
v 开始标记
y 复制标记内容
V 开始按行标记
CTRL-V 开始列标记
y$ 复制当前位置到本行结束的内容
yy 复制当前行
Y 复制当前行,同 yy
yt, 复制到逗号
yiw 复制当前单词
"+y 复制当前选中到系统剪切板
3yy 复制光标下三行内容
v0 选中当前位置到行首
v$ 选中当前位置到行末
vt, 选中到逗号
viw 选中当前单词
vi) 选中小括号内的东西
vi] 选中中括号内的东西
viB 选中’{}’中的内容
vis 选中句子中的东西
gv 重新选择上一次选中的文字
:set paste 允许粘贴模式(避免粘贴时自动缩进影响格式)
:set nopaste 禁止粘贴模式
"?yy 复制当前行到寄存器 ? ,问号代表 0-9 的寄存器名称
"?p 将寄存器 ? 的内容粘贴到光标后
"?P 将寄存器 ? 的内容粘贴到光标前
:registers 显示所有寄存器内容
:[range]y 复制范围,比如 :20,30y 是复制20到30行,:10y 是复制第十行
:[range]d 删除范围,比如 :20,30d 是删除20到30行,:10d 是删除第十行
ddp 交换两行内容:先删除当前行复制到寄存器,并粘贴

文件操作

快捷键 说明
:w 保存文件
:w <filename> 按名称保存文件
ZZ 保存文件(如果有改动的话),并关闭窗口
:e <filename> 打开文件并编辑
:saveas <filename> 另存为文件
:r <filename> 读取文件并将内容插入到光标后
:r !dir 将dir命令的输出捕获并插入到光标后
:close 关闭文件
:q 退出
:q! 强制退出
:wa 保存所有文件
:cd <path> 切换Vim当前路径
:new 打开一个新的窗口编辑新文件
:enew 在当前窗口创建新文件
:vnew 在左右切分的新窗口中编辑新文件
:tabnew 在新的标签页中编辑新文件

使用外部程序

快捷键 说明
! 告诉vim正在执行一个过滤操作
!5Gsort<Enter> 使用外部sort命令对1-5行文本排序
!! 对当前行执行过滤命令
!!date<Enter> 用”date”的输出代替当前行

宏录制

快捷键 说明
qa 开始录制名字为a的宏
q 结束录制宏
@a 播放名字为a的宏
100@a 播放名字为a的宏100次
:normal@a 播放名字为a的宏直到自动结束

实用命令

快捷键 说明
/pattern 从光标处向文件尾搜索 pattern
?pattern 从光标处向文件头搜索 pattern
n 向同一方向执行上一次搜索
N 向相反方向执行上一次搜索
* 向前搜索光标下的单词
# 向后搜索光标下的单词
:s/p1/p2/g 替换当前行的p1为p2
:%s/p1/p2/g 替换当前文件中的p1为p2
:%s/<p1>/p2/g 替换当前文件中的p1单词为p2
:%s/p1/p2/gc 替换当前文件中的p1为p2,并且每处询问你是否替换
:10,20s/p1/p2/g 将第10到20行中所有p1替换为p2
:%s/1\\2\/3/123/g 将“1\2/3” 替换为 “123”(特殊字符使用反斜杠标注)
:%s/\r//g 删除 DOS 换行符 ^M
:g/^\s*$/d 删除空行
:g/test/d 删除所有包含 test 的行
:v/test/d 删除所有不包含 test 的行
:%s/^/test/ 在行首加入特定字符(也可以用宏录制来添加)
:%s/$/test/ 在行尾加入特定字符(也可以用宏录制来添加)
:sort 排序
:g/^\(.\+\)$\n\1/d 去除重复行(先排序)
:%s/^.\{10\}// 删除每行前10个字符
:%s/.\{10\}$// 删除每行尾10个字符

帮助

快捷键 说明
h tutor 入门文档
h quickref 快速帮助
h index 查询Vim所有键盘命令定义
h summary 帮助你更好的使用内置帮助系统
h pattern.txt 正则表达式帮助
h eval 脚本编写帮助
h function-list 查看VimScript的函数列表
h windows.txt 窗口使用帮助
h tabpage.txt 标签页使用帮助
h tips 查看Vim内置的常用技巧文档
h quote 寄存器
h autocommand-events 所有可能事件
h write-plugin 编写插件

其他

快捷键 说明
vim -u NONE -N 开启vim时不加载vimrc文件
vimdiff file1 file2 显示文件差异
vim -R filename 以只读方式打开(阅读模式)

FAQ

  • vimplus怎么安装新插件?

    编辑[~/.vimrc.custom.plugins][83],添加自定义插件。

  • vimplus怎么添加自定义配置?

    编辑[~/.vimrc.custom.config][84],添加自定义配置。

  • vimplus安装脚本会在自己电脑上安装哪些软件?

    网络良好情况下,vimplus只需30分钟左右即可将vim cpp环境配置好,vimplus真正的做到了一键配置,不让用户操心。vimplus会安装一些必备软件,比如说python、cmake、gcc、fontconfig等,vimplus也考虑到了有些系统的vim不支持python,它会自动去下载vim源码将python支持编译进去,vimplus也会安装nerd-font不让vim显示出现乱码,最最重要的是vimplus实现了ycm自动编译安装,给折腾了几天ycm都没有安装好的用户带来了新的希望,而且vimplus也支持macos和linux众多发行版,让linux发烧友频繁切换发行版而不用操心vim环境配置。最后说了这么多,不如看[vimplus安装脚本][78]来的直接😄。

  • 启动vim报错:RequestsDependencyWarning: Old version of cryptography ([1, 2, 3]) may cause slowdown.

    可以尝试将cryptography删掉,具体见[issues #208][81]。

  • vimplus不支持目前用户正在使用的系统怎么办?

    可以给作者提[Issues][39],或者自己fork vimplus来修改,并提交pr,贡献自己的一份力量。

  • 安装vimplus后Airline等插件有乱码,怎么解决?

    linux和mac系统需设置终端字体为Droid Sans Mono Nerd Font

  • xshell连接远程主机不能使用vim-devicons或乱码。

    windows系统安装[Nerd Font][51]字体后并更改xshell字体即可。

  • ubuntu18.04安装了nerd font但通过终端属性并没有看到该字体。

    可以试试dconf-editor软件来设置,可以参考[这里][76]。

  • 使用第三方库时怎么让ycm补全第三方库API?

    vimplus安装完毕之后,~目录下将会生成两个隐藏文件分别是.vimrc和.ycm_extra_conf.py,其中.vimrc是vim的配置文件,.ycm_extra_conf.py是ycm插件的配置文件,当你需要创建一个project时,需要将.ycm_extra_conf.py拷贝到project的顶层目录,通过修改该配置文件里面的flags变量来添加你的第三方库路径。

  • 使用vi命令报错:E492: Not an editor command:

    vimplus安装完成后,linux下可能会同时存在vi和vim命令,执行vi时,vi加载~/.vimrc文件可能会报错,但不影响使用,如果要消除错误可以设置软链接ln -s /usr/bin/vim /usr/bin/vi

  • 怎么自定义文件头,比如说添加作者、创建时间?

    你可以修改[chxuan/prepare-code][67]插件来达到目的,可以参考[这里][77]。

  • 安装vimplus在“[ 95%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ycm_core.cpp.o”等进度时出现编译报错

    编译ycm需要消耗较大内存,建议内存大于1G,实在不行也可以开启linux swap分区。

  • 以上没有我遇到的问题怎么办?

    您可以通过上网找解决方法,或提[Issues][39],也可以通过加QQ787280310、发邮件方式787280310@qq.com一起讨论解决方法。

  • vimplus用起来真的太棒了,怎么办?

    那就麻烦您打赏一颗⭐️⭐️吧,给予我继续维护的动力。

今天的文章最强 vim 插件vimplus分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/6764.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注