/vim-vide

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

Primary LanguageVim ScriptApache License 2.0Apache-2.0

screenshots

目录

点击展开目录菜单

Install (安装)

wget http://static.tjx.be/vim-vide.tgz && tar xvf ./vim-vide.tgz -C ~

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资源

其他