vim进阶1.0 常用插件安装taglist+vundle+strlp+ctrlp-funky与使用

2023-12-22 14:48

本文主要是介绍vim进阶1.0 常用插件安装taglist+vundle+strlp+ctrlp-funky与使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 安装vundle

https://github.com/kaigeli/Vundle.vim/blob/master/README_ZH_CN.md

$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

安装ctag:

sudo  apt  install exuberant-ctags

  • 配置vundle :

请将以下加在 .vimrc 方可使用Vundle.

我自己使用的完整的vim配置请在这里下载:https://download.csdn.net/download/sinat_29891353/12435480

下载后替换为自己的.vimrc即可。或者复制下面vim配置到自己的.vimrc皆可。

set nocompatible              " 去除VI一致性,必须
filetype off                  " 必须" 设置包括vundle和初始化相关的runtime path
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" 另一种选择, 指定一个vundle安装插件的路径
"call vundle#begin('~/some/path/here')" 让vundle管理插件版本,必须
Plugin 'VundleVim/Vundle.vim'" 你的所有插件需要在下面这行之前
call vundle#end()            " 必须
filetype plugin indent on    " 必须 加载vim自带和插件相应的语法和文件类型相关脚本
" 忽视插件改变缩进,可以使用以下替代:
"filetype plugin on
"
" 简要帮助文档
" :PluginList       - 列出所有已配置的插件
" :PluginInstall    - 安装插件,追加 `!` 用以更新或使用 :PluginUpdate
" :PluginSearch foo - 搜索 foo ; 追加 `!` 清除本地缓存
" :PluginClean      - 清除未使用插件,需要确认; 追加 `!` 自动批准移除未使用插件
"
" 查阅 :h vundle 获取更多细节和wiki以及FAQ
" 将你自己对非插件片段放在这行之后

  • vundle安装插件方法:

运行 vim 再运行 :PluginInstall

通过命令行直接安装 vim +PluginInstall +qall

2. 安装插件

在.vimrc文件中添加如下几行,注意要放在call vundle#end()这一行之前

Bundle 'taglist.vim'
Bundle 'ctrlpvim/ctrlp.vim'
let g:ctrlp_map = '<leader>p'
let g:ctrlp_cmd = 'CtrlP'     
map <S-f> :CtrlPMRU<CR>    "缓存优先查找   
map <S-p> :CtrlP<CR>       "当前目录含子目录查找
let g:ctrlp_custom_ignore = { \ 'dir':  '\v[\/]\.(git|hg|svn|rvm)$',\ 'file': '\v\.(exe|so|dll|zip|tar|tar.gz|pyc)$',\ }
let g:ctrlp_working_path_mode=0
let g:ctrlp_match_window_bottom=1
let g:ctrlp_max_height=15
let g:ctrlp_match_window_reversed=0
let g:ctrlp_mruf_max=500
let g:ctrlp_follow_symlinks=1
Bundle 'tacahiroy/ctrlp-funky'
nnoremap <S-U> :CtrlPFunky<Cr>
"narrow the list down with a word under cursor
nnoremap <C-h> :execute 'CtrlPFunky ' . expand('<cword>')<Cr>
let g:ctrlp_funky_syntax_highlight = 1let g:ctrlp_extensions = ['funky'] let Tlist_Ctags_Cmd='ctags'
let Tlist_Show_One_File=1               "不同时显示多个文件的tag,只显示当前文件的
let Tlist_WinWidt =30                   "设置taglist的宽度             
let Tlist_Exit_OnlyWindow=1             "如果taglist窗口是最后一个窗口,则退出vim
"let Tlist_Use_Right_Window=1           "在右侧窗口中显示taglist窗口
let Tlist_Use_Left_Windo =1             "在左侧窗口中显示taglist窗口   
let Tlist_Auto_Open=1
let Tlist_Process_File_Always=1         "taglist始终解析文件中的tag,不管taglist窗口有没有打开
map <silent> <F8> :TlistToggle<cr>

然后按shift+:输入PluginInstall,稍等一会儿即可完成安装。

完成安装后如下会显示如下:

ctrlp更多配置见文档

3. 使用插件:

  • taglist:

常用命令:

 ctags -R ./       ./指当前目录,可以换目录,或者换为对应文件

常用快捷键:

Ctrl+]:跳转到函数,或者变量的定义处

Ctrl+o:返回到上个位置

F8: 打开taglist,再按一下关闭taglist  //再.vimrc配置文件中有设置

Ctrl+w+w:窗口切换,如可以切到taglist窗口

另外参考:vi/vim使用进阶: vimrc初步 - 易水博客

<CR>          跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样
o             在一个新打开的窗口中显示光标下tag
<Space>       显示光标下tag的原型定义
u             更新taglist窗口中的tag
s             更改排序方式,在按名字排序和按出现顺序排序间切换
x             taglist窗口放大和缩小,方便查看较长的tag
+             打开一个折叠,同zo
-             将tag折叠起来,同zc
*             打开所有的折叠,同zR
=             将所有tag折叠起来,同zM
[[            跳到前一个文件
]]            跳到后一个文件
q             关闭taglist窗口
<F1>          显示帮助 

ctrlp

参考:https://github.com/ctrlpvim/ctrlp.vim#basic-usage

在.vimrc中我这边设置了两个快捷键:

shift+f:缓存优先查找文件

进入vim,normal模式下,快捷键效果如下:

shift+p:当前目录下,递归子目录查找,按快捷键即可快速查找对应文件

快捷键可以修改,在.vimrc文件中修改即可。

注意..vimrc文件中map映射时快捷键设置时:

<C-p> 指Ctrl+p

<S-p> 指shift+p

<leader>p 指\+p       

另外几个常用快捷键:参考:https://github.com/ctrlpvim/ctrlp.vim#basic-usage

Esc  退出查找ctrl + j/k 进行上下选择ctrl + x 在当前窗口水平分屏打开文件ctrl + v 同上, 垂直分屏ctrl + t 在tab中打开

ctrlp-funky

ctrlp-funky 可以模糊搜索文件内容的方法名

目前主要设置了两个快捷键:

shift+u:进入当前文件的函数列表搜索

ctrl+h:搜索当前光标下单词对应的函数。

注意:快捷键皆可在.vimrc文件中设置。

这篇关于vim进阶1.0 常用插件安装taglist+vundle+strlp+ctrlp-funky与使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/524361

相关文章

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

python常用的正则表达式及作用

《python常用的正则表达式及作用》正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持,本文给大家介绍python常用的正则表达式及作用详解,感兴趣的朋友跟随小编一起看看吧... 目录python常用正则表达式及作用基本匹配模式常用正则表达式示例常用量词边界匹配分组和捕获常用re

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

使用Python绘制3D堆叠条形图全解析

《使用Python绘制3D堆叠条形图全解析》在数据可视化的工具箱里,3D图表总能带来眼前一亮的效果,本文就来和大家聊聊如何使用Python实现绘制3D堆叠条形图,感兴趣的小伙伴可以了解下... 目录为什么选择 3D 堆叠条形图代码实现:从数据到 3D 世界的搭建核心代码逐行解析细节优化应用场景:3D 堆叠图