Vim

分类下相关文章

使用 VIM 作为 Golang 的开发环境

更新,目前我已经叛变了 vim-go,使用 ALE 替换 vim-go 插件。 安装 VIM go 插件 https://github.com/fatih/vim-go vimrc 添加 Plugin 'fatih/vim-go' PluginInstall 之后,执行 :GoInstallBinaries vimrc 中配置 golang 的缩进 autocmd FileType go setl shiftwidth=4 tabstop=4 colorcolumn=79 GoInstallBinaries 报错 vim-go: guru not found. Installing go ...

阅读全文...

使用 VIM 清理 ^M 符号

在 Ubuntu VIm 中打开了一个 Windows 上编辑过的代码文件,里面代码完全没有换行,只有大片的 ^M 符号。乱得完全无法阅读。 ^M 符号是什么 Unix uses 0xA for a newline character. Windows uses a combination of two characters: 0xD 0xA. 0xD is the carriage return character. ^M happens to be the way vim displays 0xD (0x0D = 13, M is the 13th letter in the Engli ...

阅读全文...

Fish Shell 导致 Vim Bundle PluginInstall 报错

环境 VIM 8 TMUX + Fish Shell 无法安装新的 Bundle 组件 由于要安装 Dart 的 VIM 组件,我在 .vimrc 中添加了配置之后,执行 PluginInstall。 所有组件在安装时都会报错 Error detected while processing function vundle#installer#new[24]..<SNR>66_process[11]..vundle#installer#run[8]..vundle#installer#install[12]..<SNR>66_sync[6]..<SNR>6 ...

阅读全文...

修改 Vim ColorColumn 颜色

默认的配色让我实在看不清 ColorColumn 那列的字母。 修改成蓝色就好多了。。。 highlight ColorColumn ctermbg=blue ...

阅读全文...

VIM 将光标移动到当前单词的后面,并编辑

例如:我有一段文本 QRT 全日通快递 我希望,能移动到 QRT 的尾部,插入一个双引号。 可以使用操作: e: 到当前单词的最后一个字母 a: 在当前光标的后面插入 示例: ...

阅读全文...

修改 VIMDIFF 颜色主题以解决背景色看不清的问题

我的 git difftool 默认使用的是 vimdiff 来对比修改。 但是,最近发现 vimdiff 的配色太奇葩了,根本看不清文字,无力吐槽。。。 修改 vimdiff 颜色主题的方法 在 ~/.vimrc 中加入 if &diff colorscheme evening endif 再次 git difftool 发现配色体验友好多了 ...

阅读全文...

VIM 默认主题下黑色背景,蓝色注释文字看不清

最近写的业务逻辑比较复杂,怕以后自己都看不懂,所以在部分函数前加上了大段的注释。 但是。。。VIM 的默认主题下,注释的颜色异常诡异,脸贴到屏幕上也看不清楚,我一度怀疑是自己的眼珠子出了问题。。。不知道跟我红绿色盲有没有关系。 查看了一下 VIM 的默认配置 :verbose hi Comment Comment xxx term=bold ctermfg=4 guifg=Blue Last set from /opt/local/share/vim/vim81/syntax/syncolor.vim ctermfg=4 不知道是什么颜色,也懒得研究,索性直接 ...

阅读全文...

禁用 VIM completor 插件令人烦躁的自动提示补全

新安装的 WSL VIM 在敲入两个字母之后,就开始自动提示补全,严重影响了我的写代码体验。 因为我还是习惯手动 Ctrl + N,不喜欢自动提示。 两个字母就开始提示,会有大量的候选列表,显得屏幕异常丑陋。 但是,我一开始并不知道是 completor.vim 引起的,我需要定位具体哪个设置导致了敲击了两个字母就开始提示。 排查 启动 VIM,输入 :let 会看到大量的配置项,一行一行排查,发现了 completor_min_chars=2 然后,根据 completor_min_chars,我 Google 到了这个配置项属于 Plugin 'maralla/completor. ...

阅读全文...

WSL 中的 VIM 复制内容到 Windows 系统剪切板

复制所有内容到 Windows 系统剪切板 :w !clip.exe 也可以选择制定行复制。 ...

阅读全文...

WSL Ubuntu 16.04 源码安装 VIM8

WSL Ubuntu 16.04 内置的 VIM 版本为 7.4 . 使用了 Completor 插件会报错 Completor requires vim compiled with python or python3 and has features job, timers and lambda 从 https://github.com/vim/vim/releases 下载最新版本的 VIM8,编译安装 sudo apt-get install gcc python-dev libncurses5-dev libncursesw5-dev ./configure --prefix=/o ...

阅读全文...

Install VIM 8.1 on Ubuntu 18.04 from source

After upgraded to Ubuntu 18.04, I found VIM isn't installed by default. And Vim 8.1 is released days ago, so let's install Vim 8.1. How to install VIM 8.1 on Ubuntu 18.04 with source code Download latest vim source code from https://github.com/vim/vim/releases Then unzip, cd into vim source director ...

阅读全文...

VIM 通过文件名关键字快速打开子目录中的文件

我经常要修改一些藏的很深的子目录中的文件,例如 resources/views/vendor/backpack/base/inc/sidebar.blade.php 每次 tabnew 或者 vs 打开这种文件,都是考验我记忆力的时刻。。。 今天发现一个好方法,可以快速定位到该文件 :tabnew resources/**/sideb 再按下 TAB 即可自动补全路径。 之所以没有直接 :tabnew **/sideb 是因为,如果目录下子目录太多,例如,包含大量的 vendor 文件,等待的时间会非常长。 ...

阅读全文...

vim8 自动弹出下拉框提示匹配的代码片段, Completor + Ultisnips

每天在几门编程语言之间切换时,最大的痛苦就是有时候连关键字都会忘掉。例如,PHP 的 for 和 foreach,我经常忘了 PHP 的 foreach 怎么写。。。 虽然有了 VIM 插件 Ultisnips 进行代码片段管理,但是 snip 的 keyword 需要精确匹配才能完成自动补全,而 keyword 我随时会忘掉,白白浪费了大量整理好的 snip。 所以,我需要找一个 VIM 插件,能够实现自动提醒目前已模糊匹配的 Ultisnips snip keyword,然后通过 vim popup menu 展示出备选项列表。 需求描述 输入 fo 时,能自动弹出下拉列表提示选择 fo ...

阅读全文...

Vim 打开当前文件所在的目录

写 Laravel Backpack 组件最痛苦的地方在于路径藏的太深,每次想查看同目录下另外一个文件时,需要重新输入一遍文件目录。 例如: resources/views/vendor/backpack/crud/fields/ 输入一次这样的路径真是太锻炼大脑的记忆能力了! 于是我查了一下是否有这样的 Vim 命令,能否打开当前文件所在的目录。果然有 :Explore 缩写为 :Ex 但是,我更喜欢使用 Split 的方式打开特定目录 :Vexplore 缩写为 :Ve ...

阅读全文...

VIM 中 tabstop 与 softtabstop, shiftwidth 的区别

VIM 中处理 TAB 异常的方便。 键盘上的 TAB 键,与文件中的 TAB 符号一定要区分开,这是两个概念。 显示当前文件中的 Tab /\t 实际上,就是查询 \t 符号。 shiftwidth 用于设置 换行时的自动缩进列数 行选择后,使用 < 或者 > 做缩进时,缩进的列数 疑问来了! shiftwidth 引入的缩进,是 Tab 还是 Space? 从测试来看 如果 expandtab 开启是 Space noexpandtab 且 softtabstop 与 tabstop 一致时,是 TAB 符号。 那就是说,如果在 PHP 代码文件中,不对 Tab 做 ...

阅读全文...