• Stars
    star
    792
  • Rank 57,492 (Top 2 %)
  • Language
    Vim Script
  • License
    Apache License 2.0
  • Created about 7 years ago
  • Updated 7 months 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,382
star
2

flv.js

HTML5 FLV Player
JavaScript
22,882
star
3

DanmakuFlameMaster

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

ailab

Python
5,588
star
5

MagicaSakura

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

boxing

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

overlord

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

gengine

Go
1,947
star
9

discovery

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

WebAV

WebAV is an SDK built on WebCodecs, designed for creating and editing video files on the web platform. WebAV 是基于 WebCodecs 构建的 SDK,用于在 Web 平台上创建/编辑视频文件。
TypeScript
895
star
11

Index-1.9B

A SOTA lightweight multilingual LLM
Python
877
star
12

drawee-text-view

Simple drawee spannable text view based on Fresco
Java
762
star
13

join-us

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

LastOrder-Dota2

Dota2 AI bot
Python
398
star
15

NativeBitmapFactory

DFM jni
C++
321
star
16

jni4android

JNI Generater for Android
C
309
star
17

BRouter

Kotlin
302
star
18

biliobs

C++
241
star
19

UnityBVA

C#
198
star
20

quiche

C++
198
star
21

bas

Bilibili Animation Script
HTML
187
star
22

kratos-demo

a project that use kratos
Go
187
star
23

libyuv

mirror of https://chromium.googlesource.com/external/libyuv/
C++
151
star
24

apk-channelization

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

BurstLinker

🚀 A simple GIF encoder for Android.
C++
140
star
26

xpref

A SharedPreferences' wrapper that truly supported sharing data across multi-process
Kotlin
84
star
27

soundtouch

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

mahimahi

C++
74
star
29

muzei-bilibili

Muzei 插件,bilibili 壁纸源
Java
72
star
30

vlc-android-macbuild

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

redis_sdk_cxx

C++
65
star
32

LastOrder

StarCraft AI bot
C++
62
star
33

vlc-ports-android

fork of git://git.videolan.org/vlc-ports/android.git
C++
57
star
34

bbip

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

oresty

Lua
52
star
36

SMGo

Shang-Mi cipher library. Constant-time implementation of SM2 and SM4.
Go
42
star
37

http-service

TypeScript
40
star
38

bilibili.github.io

35
star
39

adaptation

too painful to work with PagerAdapter
Java
32
star
40

vlc

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

openssl

mirror of https://www.openssl.org
C
30
star
42

twirp

twirp rpc
Go
27
star
43

ci-ijk-ffmpeg-ios

Prebuilt FFmpeg for ijkplayer on iOS
Shell
17
star
44

abtest

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

gas-preprocessor

personal fork of git://git.libav.org/gas-preprocessor.git
Perl
13
star
46

flvbind

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

uptool

JavaScript
12
star
48

nginx_quic_module

C
12
star
49

nginx_quic_stack

C++
11
star
50

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
11
star
51

ci-ijk-ffmpeg-android

Continuous integration for ijkplayer on Android
8
star
52

vim

B站Vim会所
5
star
53

arrange-play

Java
5
star
54

bilibili_wtm

Python
1
star