Vim

分类下相关文章

VIM 区分显示 TAB 和空格

使用 VIM 敲代码时,经常会遇到 TAB、空格混用导致的缩进排版问题。特别是 IDE 与 VIM 同时使用时,这种情况经常遇到。 例如: gradle 配置文件,默认用的是空格缩进,但是如果 VIIM 没有配置使用空格,就会插入 TAB 导致 IDE 中排版问题 微信小程序开发工具,也是如此 VIM 配置区分显示 TAB、空格 set list set listchars=tab:>- 这样,TAB 就会有特殊符号占位显示。如图所示: 参考 https://vi.stackexchange.com/questions/422/displaying-tabs-as-charac ...

阅读全文...

Vim UltiSnips Snippet 自动首字母大写

场景 定义一个变量,自动生成类的定义,而类的首字母自动大写。 UltiSnips 的示例配置 当前单词首字母大写 Demo: Uppercase one character ------------------- SNIP ------------------- snippet title "Title transformation" ${1:a text} ${1/\w+\s*/\u$0/} endsnippet ------------------- SNAP ------------------- title<tab>big small -> big ...

阅读全文...

vim 保存当前打开文件窗口,下次自动打开

这段时间在写微信小程序界面,大量的可复用布局代码可以整理成 vim snippet,所以,基本是写一会代码,整理一会 snippet,开发效率确实大大提高。 但是 vim snippet 没法自动加载,新增的 snippet 无法自动生效,每次都需要重新打开 vim 才能使用新增的 snippet,有点繁琐。特别是同时打开了 N 个代码文件。 如果重启 vim 后,能自动打开之前的文件就方便多了。 使用 vim session 保存当前打开的文件列表,及窗口布局 Google 了一下,发现可以使用 vim session 来实现这个效果。 针对当前打开文件,创建 session。例如,我想将 ...

阅读全文...

使用 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 文件,等待的时间会非常长。 ...

阅读全文...