Skip to content
William Zhang edited this page Jan 15, 2019 · 12 revisions

.vimrc

http://stackoverflow.com/questions/23976517/vim-find-command-how-to-list-all-matched-files

Color scheme

在~/.vimrc中加入:colorscheme murphy,改变配色方案:http://blog.csdn.net/linuxzhouying/article/details/6971628

$ ll /usr/share/vim/vim72/colors | awk '{print $9}' | grep -v '^$'
blue.vim
darkblue.vim
default.vim
delek.vim
desert.vim
elflord.vim
evening.vim
koehler.vim
morning.vim
murphy.vim
pablo.vim
peachpuff.vim
README.txt
ron.vim
shine.vim
slate.vim
torte.vim
zellner.vim

vimdiff

http://vim.wikia.com/wiki/Ignore_white_space_in_vimdiff

$ vimdiff -c 'set diffopt+=iwhite' ...
$ cat .vimrc
if &diff
    " diff mode
    set diffopt+=iwhite
endif
zf   创建折叠(使用数字表示创建有当前行到下多少行的折叠,比如3j就创建包括4行的折叠)
zo   打开折叠(l也可以打开折叠)
zc   关闭当前折叠
zm   关闭所有折叠
zr   打开所有折叠
zE   删除所有折叠
zd   删除当前折叠
za   若当前打开则关闭,若当前关闭则打开
zj   到下一折叠的开始处
zk   到上一折叠的末尾

.h和.cpp切换

http://m.blog.csdn.net/blog/zhangsming/42652695, 下载插件a.vim到~/.vim/plugin/a.vim,重启vim即可。该网页的a.vim有增强。

:A 头文件/源文件切换。或者Ctrl+^也可以。
:AS 分割窗后并切换头/源文件(切割为上下两个窗口)
:AV 垂直切割窗口后切换头/源文件(切割为左右两个窗口)
:AT 新建Vim标签式窗口后切换
:AN 在多个匹配文件间循环切换
将光标所在处单词作为文件名打开
:IH 切换至光标所在文件
:IHS 分割窗口后切换至光标所在文件(指将光标所在处单词作为文件名打开)
:IHV 垂直分割窗口后切换
:IHT 新建标签式窗口后切换
:IHN 在多个匹配文件间循环切换

快捷键操作
<Leader>ih 切换至光标所在文件*
<Leader>is 切换至光标所在处(单词所指)文件的配对文件(如光标所在处为foo.h,则切换至foo.c/foo.cpp...)
<Leader>ihn 在多个匹配文件间循环切换
*<Leader>指Vim所定义的映射(map)前缀,在Vim配置文件中可过变量'mapleader'进行设置,缺省为'\'。

Vim8 and YCM etc

  1. Install Vim8

    Official Release

    For MacOS, replace default vim: brew install vim –with-override-system-vi –with-lua

    See also the crash bug of vim: https://github.com/Valloric/YouCompleteMe/issues/3271

  2. Install Vundle & YouCompleteMe

    Install YCM

  3. Configure YCM to use cmake

    CMake with YCM

    If using CMake, add -DCMAKE_EXPORT_COMPILE_COMMANDS=ON when configuring (or add set(CMAKE_EXPORT_COMPILE_COMMANDS ON) to CMakeLists.txt). And make sure the generated file ‘compile_commands.json` is at the top dir or link to top dir.

Clone this wiki locally