VIM Script /VIML 脚本语言入门

2019-01-07
阅读 2 分钟
6k
参考:Learn Vimscript the Hard Way 变量 {代码...} 逻辑控制 参考:Comparisons - Learn Vimscript the Hard Way if-else: {代码...} VIM中的字符串和数字是可以直接比较的,如:echo '3' >= 3,返回1. Functions 函数 参考:Functions - Learn Vimscript the Hard Way 函数名必须大写开头。 {代码...} 但是如果重载...

VIM替代插件的原生功能合集(持续更新)

2019-01-07
阅读 2 分钟
2.9k
用了一天倒腾自动补全插件,实在是崩溃,但凡有点名气的都对vim本身的编译有很麻烦的要求。搜索过程中才发现Vim其实是自带补全功能的,称为OmniComplete。输代码的过程中,直接按Ctrl+X然后再按Ctrl+O,就会弹出vim猜测的一系列补全内容。可以在菜单里按“上下键”选择,注意是方向上下键,不是JK键。经过测试,原生支持很...

VIM的小插件合集(持续更新)

2019-01-07
阅读 2 分钟
2.2k
安装插件前,一般都会用到Vundle这个插件包管理器。它的名字其实是Vim bundle的组合。安装方法可以参考官网,说的很详细。简单说的话,安装方法如下:

VIM问题合集(持续更新)

2019-01-07
阅读 2 分钟
6.9k
Vim 在Insert模式下粘贴速度很慢的问题 一般当我们在Insert模式下粘贴一段超大量的文本,比如1000行。那么Vim会变得奇慢无比,大概半分钟? 所以,如果我们要粘贴文本,需要用另一种方法:在Normal模式下调用系统粘贴版进行粘贴,命令如下: {代码...} 这样速度就超快了,一瞬间完成。 Homebrew更新后Vim无法打开问题 很...

VIM小技巧合集(持续更新)

2019-01-07
阅读 4 分钟
3.4k
Vim的默认Leader前缀是\键。说白了,就是一个快捷命令的前缀。一般比如cc,dd之类都被占用,映射起来不方便。所以加上前缀后,就可以追加各种自己喜欢的快捷命令了。

VIM动态预览Markdown文章

2019-01-07
阅读 1 分钟
5.2k
推荐JamshedVesuna/vim-markdown-preview这个插件,依赖非常少,也不需要服务器等,最简单的实现动态预览功能。 依赖请参考: [链接]主要依赖的只是Markdown转HTML的渲染引擎。 二选一: daringfireball-Markdown ,或 (推荐) joeyespo/grip,需在vimrc中加入let vim_markdown_preview_github=1 pip install grip --user...

Vim-Auto-pairs总结

2019-01-07
阅读 2 分钟
8.8k
用过Sublime的都知道,写引号、括号之类配对的文字时,它都会智能的自动补全另一边括号。同样,VIM也有很多实现它的插件。 其中比较轻量好用的有autoclose和auto-pairs,而auto-pairs更智能、更全面。 参考官网:jiangmiao/auto-pairs 官方Repo的介绍很清楚的解释了每种用法,扫一眼就都明白了。 这里记录一些高级的问题...

VIM Lazy Load 懒加载/延迟加载技术

2019-01-07
阅读 1 分钟
5.3k
很多重量级插件在启动时是非常耗时的,动不动400ms以上,比如YCM,效果很明显。但是我们实际上没必要一开始就加载所有的插件,而是有些文件才用得上,或者Insert模式才用得上。所以,我们可以按需加载,这样就省了很多时间。

VIM加速

2019-01-07
阅读 2 分钟
3k
然后就能看到各个环节加载时间,以ms毫秒为单位,即小数点前面是毫秒数。其中第一列是时间点,第二列是时长,我们主要关注第二列。一般标准: ”200ms 以下感觉是很好的,超过 500ms 会觉的有点卡,如果超过 1s 就会觉得非常难受了“

VIM 为什么光标移动缓慢

2019-01-07
阅读 2 分钟
3.6k
通过开启:set verbose=9追踪发现,每次jk移动都会执行一个call s:Highlight_Matching_Pair这样的函数,很明显是高亮对应的括号这样的功能。

Vim模糊文件搜索fzf

2019-01-07
阅读 1 分钟
5.5k
不同于Command-T只能用于VIM,大名鼎鼎的fzf是命令行工具,而且只在VIM中使用的话也不需要手动去编译任何依赖,直接用插件管理器安装即可立马使用,通用于VIM和NeoVIM。

VIM自动补全插件:deoplete

2019-01-07
阅读 2 分钟
13.8k
Nvim用的是Shougo开发的NCM,但是在VIM 8+就要用同一个作者开发的Deoplete. 参考官网:Shougo/deoplete.nvim 注意:这里只讲怎么给vim8安装。 安装 第一步:安装所有依赖 {代码...} 第二步:在vimrc中添加配置 {代码...} 保存重启vim,并在vim中输入命令:PlugInstall安装插件。 第三步:在vim中输入测试命令 以下命令不...

Vim的新一代补全插件:coc.nvim

2019-01-06
阅读 1 分钟
18.1k
coc.nvim可以同时在nvim和vim8.1+上使用。 安装 参考官方:Install coc.nvim 推荐使用vim-plug插件管理器,在vimrc中添加: {代码...} 然后输入命令:PlugInstall 等待插件下载,再等待另一个东西(?)的下载,全部完成后,就会弹出这个网页:[链接]即教你安装语言插件的方法。 也就是说,coc.nvim只是一个平台,它能够...

编译VIM

2019-01-06
阅读 3 分钟
3.4k
注意:语言本身的位置好说,但是dev开发库就不一样了。比如,一般我们本机只安装python,而不会安装python-dev。这是两个完全不一样的概念。第一个我们直接使用的语言,第二个是本机编译、开发能够引用的开发lib库。所以,根据语言支持的需要,我们要安装这些开发库:

Vim安装command-t文件检索插件

2019-01-06
阅读 1 分钟
2.9k
启用command-t是命令:CommandT,或<leader>t。但是这时候肯定是还不能运行的,因为没有做ruby支持的检查。

NeoVim初识

2019-01-06
阅读 2 分钟
15.2k
假设(推荐)我们使用virtualenv虚拟环境中的python,地址为~/virtualenv/venv-neovim。用source ~/virtualenv/venv-neovim/bin/activate开启虚拟环境。然后,

Vim最强自动补全插件Yourcompleteme安装

2019-01-06
阅读 1 分钟
6.2k
YCM是一个很复杂的二进制程序,需要各种编译,很长时间才运行完,很复杂。看了官方说明后也知道,想要正常使用,需要很长历程。。。 参考Github :Valloric/YouCompleteMe 第一步:保证所有依赖齐全 目前已知的本机依赖如下(必要): Python3或Python2 Clang 第二步:从将repo克隆到本地 一般可以自己直接git cloneYCM...

Vim 的文件类型判断

2019-01-06
阅读 2 分钟
4.1k
Vim执行当前可执行文件 方法一: {代码...} 其中: 方法二: {代码...} 相当于在终端手敲了一遍:./script.sh这样的。 Vim根据不同类型文件设置不同快捷键 因为想做一个IDE中的build功能,即针对不同的语言类型,用不同的build/compile/run等方法。比如我想将这个build映射为Ctrl+i。 那么可以用到Vim的autocmd FileTy...

Vim根据文件类型设置不同的快捷键

2019-01-06
阅读 1 分钟
2.6k
在vim中, 查看当前的文件类型: {代码...} 一般会是:c, cpp, python等,记住这些名字。然后在~/.vimrc中设置: {代码...} 这样就能完成,针对不同的文件,用相同的快捷键Ctrl+i。 一般这样方便不同文件的编译和执行。

Vim Snipmate 自动补全插件

2019-01-06
阅读 1 分钟
4.4k
在~/.vimrc的Vundle插件管理函数中添加以下内容(插件本身和所依赖的插件): {代码...} 然后在Vim中输入命令安装插件: {代码...} 完成。 使用方法 输入状态下,直接按<Tab>,就会自动打出相关的snippets预设片段。 如何自定义snippets 直接在~/.vim/snippets/目录下添加*.snippets文件即可。 注意以下几点: ~/.vi...

Vim Buffer缓冲区:多文件编辑方案

2019-01-06
阅读 1 分钟
5.1k
Buffer是Vim自带的多文件编辑方式,有了它其实你不用单装Nerdtree插件来实现多标签编辑。这是看个人习惯吧。虽然我已经习惯了用Nerdtree做多文件多标签编辑,但是学习一下Vim自带的buffer方式也不错。

Vim配置状态栏 Status line

2019-01-06
阅读 2 分钟
12.7k
Vim里一个好看的状态栏是非常加分的。 vim-lightline 简单好安装的状态栏 安装方法:Vundle管理器的话,在~/.vimrc中的插件函数中加上: 然后在函数外写上: {代码...} vim-powerline 从入门到放弃 和其它插件一样用Vundle安装: {代码...} 但是安装完了会变成这个样子: 看了很多网上文章,没什么简单有效的方法。先放...

复制粘贴有那么麻烦吗?理解VIM的文本复制

2019-01-06
阅读 1 分钟
7.7k
Vim的文本复制,逻辑上要比我们日常的拷贝、粘贴要复杂些。 之前看了很多文章,真是太复杂了,复制个东西搞得好像系统性的工程建设一样。其实两句话就解释明白的。参考这篇文章:vim的剪切板 首先输入:reg命令,查看Vim记录的所有剪切板内容,大概是这样的: 常用命令: {代码...} 举例1(Vim内部复制粘贴): 在Normal...

Vim UltiSnips自动补全 (Python强依赖)

2019-01-06
阅读 1 分钟
3.6k
想要Vim像Sublime一样快速编程,就需要各种好的snippets快速生成一段预备好的代码。一般常用的插件是UltiSnips作为生成代码的引擎,Vim-snippets插件作为各种语言的常用语句包。

VIM配置颜色主题

2019-01-06
阅读 1 分钟
8k
既然都开启了vimrc技能,就忍不住好奇心去看看还有什么能配置的。这里就不一一说明了,这个坑太大,配置方案太多。先讲个代表性的配色问题。以下在mac下有效。

tmux的超绝便利

2018-06-02
阅读 4 分钟
8.3k
服务器的任务不间断运行,就是利用了tmux的特性。就是说,一般ssh是断开就会停止所有之前连接ssh期间运行的所有processes,而tmux的核心业务不在于把屏幕分成几块好看,而是它能保存session!而且还能多端实时直播session!

Vim的NerdTree插件

2018-06-02
阅读 6 分钟
39.2k
在vundle插件管理的方式,直接在~/.vimrc中的Plugin段落中加入`Plugin "scrooloose/nerdtree"然后重启Vim并输入PluginInstall`,即可完成安装