• Stars
    star
    781
  • Rank 55,860 (Top 2 %)
  • Language
    Vim Script
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Lightest vimrc, while strong enough. 最轻的vim配置,却足够强!

screenshots

目录

点击展开目录菜单

交流群

QQ交流群

群号:1019096841 扫码进群: QQ Group QR Code

Install (安装)

如果您之前有定制自己的Vim配置,请先备份~/.vim目录,以下操作会覆盖~/.vim目录

wget http://upos-sz-staticcos.bilivideo.com/appstaticboss/vim-vide-20200812.tgz && tar xvf ./vim-vide-20200812.tgz -C ~

Uninstall (卸载)

如需恢复您原来的自定义配置,执行以下命令后,再将您原来的.vim目录还原至根目录即可

rm -rf ~/.vim
rm -rf ~/.vimtmp

Upgrade Plugins (升级插件)

vim +PlugClean[!] +PlugUpdate +qa

Features (特色功能)

vim-plug

Base on vim-plug, A minimalist Vim plugin manager. 新一代的Vim配置管理组件,体积最小,plugit用了并行下载,速度较顺序下载的vundle快很多!!!

https://github.com/junegunn/vim-plug

Statusline (状态栏)

Origin Vim config statusline, much faster than airline or powerline! (Vim原生配置实现的状态栏,信息很全,比airline或者powerline快数倍!!!)

(Vide)  README.md[+] /home/tjx/vide [unix:utf-8:MARKDOWN]       18,5      50%
+----+  +----------+ +------------+ +-------------------+       +--+      +-+
1       2         3                 4                           5         6
  1. Logo
  2. Relative path (相对路径)
  3. Absolute path of directory (绝对路径)
  4. Format : file-encoding : filetype (文件类型)
  5. Row-position, col position (行号,列号)
  6. Percent of rows (当前行在总行数中的百分比)

Backup (备份路径)

  • 撤销文件夹 ~/.vimtmp/undodir
  • 备份文件夹 ~/.vimtmp/backupdir
  • 交换文件夹 ~/.vimtmp/directory .swp files

Template (模板)

  • call system('bash ~/.vim/lua.template > /tmp/lua.template')
  • call system('bash ~/.vim/php.template > /tmp/php.template')

什么是Vim,为什么要使用Vim

历史

ed -> ex(sed) -> Vi -> Vim -> gVim / macvim

帮助文档

  • vimtutor

    命令行直接运行,非Vim编辑器内命令

  • :h

    Vim内部命令

Vim的五种模式

  1. 插入模式(和普通编辑器的模式差不多)

  2. 普通模式

  3. 可视模式

  4. 命令行模式(扩展Vim的功能,Vim的精髓所在)

  5. 选择模式(不常用)

Vim的哲学

执行次数 + 操作 + 范围
次数 1,2,3
操作 v d c
范围 a i w p $ " ' { ( [ t

 ni hao tang jun xin
 $('nihao')
 <a href="xx" >kjkjk </a>

Vim基本操作

打开/切换文件

命令 功能
:e file_name:o file_name 打开文件
:args file_name 如果使用vim file1 file2 [filen]命令打开多个文件,就可以使用:args file_name命令在打开的文件之间切换
:buffers:lsfiles 查看缓冲区中的文件列表
:bnext 切换到下一个缓冲区文件
:bpreviousbpre 切换到上一个缓冲区文件
:bfirst 切换到第一个缓冲区文件
:blast 切换到最后一个缓冲区文件
:bdelete file_name 删除缓冲区文件
:badd file_name 添加文件到缓冲区

退出/保存

命令 功能
:w 保存
:w! 强制保存,不退出Vim
:q 退出
:q! 强制退出不保存
:wqZZ 保存并退出
:wq! 强制保存,并退出
:w file 将修改另存到file中,不退出Vim
:e! 放弃所有修改,从上次保存文件开始再编辑命令历史

编辑

命令 功能
i/I 编辑
esc 退出编辑模式
u 撤销操作
<Ctrl> + r 重做(恢复被撤销的动作)
ccCS 清空当前行并进入编辑模式
s 删除当前字符并进入编辑模式
r 替换当前字符(替换后不进入编辑模式)
R 持续替换字符(不进入编辑模式),替换一个光标自动移到下一个
=- 格式化当前行代码
gg=G 格式化所有代码
<Shift> + v 可视化多选
:set mouse=a 设置鼠标可区域选择,跟普通的编辑器一样可以进行拖选

删除

命令 功能
dd 删除当前行
ndd 删除包含当前行的n行数据(从当前行往下删除)
dG 删除包含当前行及之后的全部行

移动

命令 功能
gg 跳转到首行
G 跳转到尾行
:nnG 跳转到第n行
o 在下一行插入
O 在上一行插入
wW 移动到下一个单词开头
bB 移动到上一个单词开头
eE 移动到下一个单词结尾
{ 下一段落
} 上一段落
M 跳转到文件内容的中部
H 跳转到文件内容的顶部
L 跳转到文件内容的底部

复制/粘贴

命令 功能
y 复制
p 粘贴到下部
P 粘贴到上部
xX 剪切

搜索

命令 功能
f / F 当前行搜索,til,正向 / 反向
t / T 当前行搜索,until,正向 / 反向
;, 重复当前行搜索
/? 当前文件搜索,向上搜索 / 向下搜索
:grep -r / :!grep -r 跨文件搜索
n 下一个匹配内容
N 上一个匹配内容
ctrl-L 清除搜索高亮

Vim进阶

代码补全

命令 代码
<Ctrl> + p 往前搜索补全
<Ctrl> + n 往后搜索补全
<Ctrl> + e 取消补全
<Ctrl> + y 确定补全

拖动功能

命令 功能
zz 将当前行定位到屏幕中间
zb 将当前行定位到屏幕底部
zt 将当前行定位到屏幕顶部

设置编码和格式

命令 功能
:set fileformat unix dos mas 让换行符自由切换
:set fileencodings 检测打开文档编码的顺序,一般设置为utf-8、cp936
:set fileencoding 保存文档的编码,一般为utf-8
:set encoding Vim本身界面的编码,一般和文档无关
\3 NERDTree-Find
\a :set filetype=awk
\c :set filetype=css
\h :set filetype=html
\j :set filetype=javascript
\l :set filetype=lua
\m :set filetype=markdown
\p :set filetype=php
\s :set filetype=sh
\v :set filetype=vim
\y :set filetype=python

代码折叠

命令 功能
zf 创建折叠
zo 打开折叠
zc 关闭折叠
:mkview / :loadview 保存,载入绘画

分割窗口

命令 功能
:split [file_name]:sp [file_name] 水平分割
:vsplit [file_name]:vs [file_name] 垂直分割
<Ctrl> + w + h 将焦点移动到左边窗口
<Ctrl> + w + j 将焦点移动到下方窗口
<Ctrl> + w + k 将焦点移动到上方窗口
<Ctrl> + w + l 将焦点移动到右边窗口

命令 功能
qa 录制到a
@a 播放a

Vim插件

必装插件

名称 功能
vim-phpmanual php文档,<s-k>查询
syntastic 语法检查
ctrlp.vim 文件跳转
nerdtree 浏览文件
vim-gitgutter 观察git状态
vim-commentary 强大的注释插件

NERDTree操作命令

命令 功能
o 打开/关闭文件或目录
t 在新标签页中打开
T 在后台标签页打开
! 执行此文件
p 到上层目录
P 到根目录
K 到第一个节点
J 到最后一个节点
u 打开上层目录
m 显示文件系统菜单(添加、删除、移动操作)
? 帮助,再按一下关闭
q 关闭
\3 NERDTree-Find

vim-commentary操作命令

快捷键 功能
gcc 注释当前行(普通模式下)
gc 注释当前选中内容(可视多选模式下)
gcap 注释当前所在段落
gcu 注释上一次注释的部分
gcgc 取消一组相邻的注释

资源

Vim资源

其他

More Repositories

1

ijkplayer

Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support.
C
32,047
star
2

flv.js

HTML5 FLV Player
JavaScript
22,695
star
3

DanmakuFlameMaster

Android开源弹幕引擎·烈焰弹幕使 ~
Java
9,490
star
4

ailab

Python
5,450
star
5

MagicaSakura

MagicaSakura 是 Android 多主题框架。~ is an Android multi theme library which supporting both daily colorful theme and night theme.
Java
3,544
star
6

boxing

Android multi-media selector based on MVP mode.
Java
3,193
star
7

overlord

Overlord是哔哩哔哩基于Go语言编写的memcache和redis&cluster的代理及集群管理功能,致力于提供自动化高可用的缓存服务解决方案。
Go
2,187
star
8

gengine

Go
1,867
star
9

discovery

A registry for resilient mid-tier load balancing and failover.
Go
1,764
star
10

drawee-text-view

Simple drawee spannable text view based on Fresco
Java
764
star
11

join-us

大B站需要更多的小伙伴~ ( ゜- ゜)つロ 乾杯~
702
star
12

LastOrder-Dota2

Dota2 AI bot
Python
399
star
13

NativeBitmapFactory

DFM jni
C++
320
star
14

jni4android

JNI Generater for Android
C
305
star
15

BRouter

Kotlin
301
star
16

biliobs

C++
240
star
17

quiche

C++
191
star
18

UnityBVA

C#
189
star
19

kratos-demo

a project that use kratos
Go
188
star
20

bas

Bilibili Animation Script
HTML
187
star
21

apk-channelization

[不支持v2签名]Android多渠道输出脚本
Python
147
star
22

libyuv

mirror of https://chromium.googlesource.com/external/libyuv/
C++
147
star
23

BurstLinker

🚀 A simple GIF encoder for Android.
C++
131
star
24

xpref

A SharedPreferences' wrapper that truly supported sharing data across multi-process
Kotlin
85
star
25

soundtouch

SoundTouch library compiled for ijkplayer/Android http://www.surina.net/soundtouch/sourcecode.html
C++
80
star
26

mahimahi

C++
76
star
27

muzei-bilibili

Muzei 插件,bilibili 壁纸源
Java
71
star
28

vlc-android-macbuild

Deprecated, official site is recommended http://git.videolan.org
Java
70
star
29

LastOrder

StarCraft AI bot
C++
61
star
30

vlc-ports-android

fork of git://git.videolan.org/vlc-ports/android.git
C++
56
star
31

bbip

Bilibili High Performance IP Resolve Library
C++
55
star
32

oresty

Lua
52
star
33

SMGo

Shang-Mi cipher library. Constant-time implementation of SM2 and SM4.
Go
40
star
34

bilibili.github.io

35
star
35

adaptation

too painful to work with PagerAdapter
Java
32
star
36

vlc

fork of git://git.videolan.org/vlc.git
C
30
star
37

openssl

mirror of https://www.openssl.org
C
29
star
38

twirp

twirp rpc
Go
26
star
39

ci-ijk-ffmpeg-ios

Prebuilt FFmpeg for ijkplayer on iOS
Shell
18
star
40

abtest

A layered experiment framework for C++/java/go
15
star
41

flvbind

A tools to combine multiple flv file to a single flv file.
C
13
star
42

uptool

JavaScript
12
star
43

gas-preprocessor

personal fork of git://git.libav.org/gas-preprocessor.git
Perl
12
star
44

nginx_quic_module

C
12
star
45

jmp_logpipe

A tool for jumper analyize log and send the command to remove UDP server for aduit. And this tool will denied for lszrz protocol to prevent a large log for storage.
C
10
star
46

nginx_quic_stack

C++
10
star
47

ci-ijk-ffmpeg-android

Continuous integration for ijkplayer on Android
8
star
48

vim

B站Vim会所
6
star
49

arrange-play

Java
5
star
50

bilibili_wtm

Python
1
star