问题一: 快速在方法间跳转
在编写代码的时候需要定位到指定的方法,tagbar 或者 taglist 可以列出所有 tag,但是不希望这个 tagbar 窗口一直开着
方法:
在~/.vimrc 中添加
noremap <silent> <Leader>t :TagbarOpen fjc<cr> "打开tagbar窗口,跳转后自动关闭,q不跳转直接关闭
或者用 TagbarOpenAutoClose 也可以
在编辑文件的时候按,t(或者\t,我的 Leader 是,),跳出 tagbar 窗口,在这个窗口中可以查找,然后回车,跳转到指定的方法,tagbar 窗口关闭
意外收获:光标在文件中移动的时候,tagbar 的当前函数是不会自动变化的,现在,t 的时候打开的 tagbar 窗口定位到当前方法
vim,gvim 下也可用
问题二: 快速在 NERDTree 中定位当前文件
在编辑视图 new.html.erb 的时候,希望能修改 edit.html.erb,用 ctrlp 做这种切换不方便,如果能在 NERD tree 中定位到 new.html.erb 就好了
方法:
在~/.vimrc 中添加
let NERDTreeQuitOnOpen=1 "NERDTree中打开文件后自动关闭NERDTree窗口
noremap <silent> <Leader>f :NERDTreeFind<cr> "打开NERDTree,定位到当前文件
一般 NERD tree 窗口也不打开,当前目录保持在 rails 的根目录,按,f 打开 NERD tree 窗口,这时可以快速找到同目录的其他文件,或者按 m 对这个文件进行操作,新增同级文件,删除,移动,复制等操作,也可以按 mr 在 finder 中打开 (这个只在 macvim 中有),对于需要删除多个文件的时候很有用
vim,gvim 下也可用
** 问题三:**:输入法和 macvim
输入法在 macvim 下总是捣乱,在正常模式下,fit 输入法打开状态,按 o 的时候出现候选字,但是 o 已经被 macvim 捕获,插入新行,进入编辑模式;还有编辑模式下按 jj(ESC 的映射),会切换到正常模式,但是会报一个错误,macvim 在正常模式下又接收到 jj 按键。类似的情况很多,不是自动切换输入法的问题,是输入法没有完全截获按键 (查了很多资料,网上解决方案都是自动切换输入法,不能解决问题)
解决方法:在命令行输入以下命令,
defaults write org.vim.MacVim MMUseInlineIm 0
** 问题四: ** ctrlp 中无法输入中文 没有解决,请先行者帮忙把这个坑填了