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

相关文章

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Python中pywin32 常用窗口操作的实现

《Python中pywin32常用窗口操作的实现》本文主要介绍了Python中pywin32常用窗口操作的实现,pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个... 目录获取窗口句柄获取最前端窗口句柄获取指定坐标处的窗口根据窗口的完整标题匹配获取句柄根据窗口的类别匹配获取句

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

Win安装MySQL8全过程

《Win安装MySQL8全过程》:本文主要介绍Win安装MySQL8全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Win安装mysql81、下载MySQL2、解压文件3、新建文件夹data,用于保存数据库数据文件4、在mysql根目录下新建文件my.ini

使用Python和Pyecharts创建交互式地图

《使用Python和Pyecharts创建交互式地图》在数据可视化领域,创建交互式地图是一种强大的方式,可以使受众能够以引人入胜且信息丰富的方式探索地理数据,下面我们看看如何使用Python和Pyec... 目录简介Pyecharts 简介创建上海地图代码说明运行结果总结简介在数据可视化领域,创建交互式地

Java Stream流使用案例深入详解

《JavaStream流使用案例深入详解》:本文主要介绍JavaStream流使用案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录前言1. Lambda1.1 语法1.2 没参数只有一条语句或者多条语句1.3 一个参数只有一条语句或者多

Java Spring 中 @PostConstruct 注解使用原理及常见场景

《JavaSpring中@PostConstruct注解使用原理及常见场景》在JavaSpring中,@PostConstruct注解是一个非常实用的功能,它允许开发者在Spring容器完全初... 目录一、@PostConstruct 注解概述二、@PostConstruct 注解的基本使用2.1 基本代

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删