精华内容
下载资源
问答
  • ctrlp-funky:ctrlp.vim的超级简单功能导航器
  • ctrlp-extensions.vim ctrlp.vim的扩展 cmdline:cmdline历史 扬克林:扬克历史 菜单:扩展选择器菜单 演示版 菜单 要求 用法 :CtrlPCmdline 在调用CtrlP :CtrlPMenu 在CtrlP扩展名(包括文件,缓冲区,mrus等)...
  • vim : ctrlp

    千次阅读 2018-04-13 20:12:50
    thanks to the author:...先看看spf13里对它的描述:Ctrlp replaces the Command-T plugin with a 100% viml plugin. It provides an intuitive and fast ...

    thanks to the author:

    https://blog.csdn.net/dark_tone/article/details/52914218

    Ctrlp到底是做什么的?

    先看看spf13里对它的描述:


    Ctrlp replaces the Command-T plugin with a 100% viml plugin. It provides an intuitive and fast mechanism to load files from the file system (with regex and fuzzy find), from open buffers, and from recently used files.

    QuickStart Launch using<c-p>.

     

    渣翻译:

    ctrlp 完全取代 command-t插件在vim中,它提供了一种直观和快速的机制装载文件,从文件系统,从打开的缓冲区以及最近使用过的文件里。

    快速启动 <ctrl+p>

     

    Full path fuzzy file, buffer, mru, tag,... finder for Vim.

    • Written in pure Vimscript for MacVim, gVim and Vim 7.0+.
    • Full support for Vim's regexp as search patterns.
    • Built-in Most Recently Used (MRU) files monitoring.
    • Built-in project's root finder.
    • Open multiple files at once.
    • Create new files and directories.

    渣翻译:

    完全模糊路径在vim寻找文件,缓冲区,最近用过的文件,标签等等。

    由纯vim脚本写成,适用于macvim,gvim和vim7.0+

    完全支持vim正则表达式作为搜索

    内置监测大多数最近用过的文件

    内置工程根目录寻找

    一次打开多个文件

    创建新文件和目录

     

    个人总结:

    ctrlp 和nerdtree都可以划分到文件系统管理。

    nerdtree尽管提供了书签和nerdtreefind功能,但如果文件比较多的情况下,使用起来依然不够便捷。

    我们需要一种机制,能在大量零散的文件里快速定位,查找并打开我们需要的哪部分文件,这就是ctrlp的功能。

    同时,ctrlp还能完成nerdtree中创建文件及目录的功能。

     

    Basic Usage

    • Run :CtrlP or:CtrlP [starting-directory] to invoke CtrlP in find file mode.
    • Run :CtrlPBuffer or:CtrlPMRU to invoke CtrlP in find buffer or find MRU file mode.
    • Run :CtrlPMixed to search in Files, Buffers and MRU files at the same time.

    Check :help ctrlp-commands and:help ctrlp-extensions for other commands.

    Once CtrlP is open:

    • Press <F5> to purge the cache for the current directory to get new files, remove deleted files and apply new ignore options.
    • Press <c-f> and<c-b> to cycle between modes.
    • Press <c-d> to switch to filename only search instead of full path.
    • Press <c-r> to switch to regexp mode.
    • Use <c-j>,<c-k> or the arrow keys to navigate the result list.
    • Use <c-t> or<c-v>, <c-x> to open the selected entry in a new tab or in a new split.
    • Use <c-n>,<c-p> to select the next/previous string in the prompt's history.
    • Use <c-y> to create a new file and its parent directories.
    • Use <c-z> to mark/unmark multiple files and<c-o> to open them.

    Run :help ctrlp-mappings or submit? in CtrlP for more mapping help.

    • Submit two or more dots.. to go up the directory tree by one or multiple levels.
    • End the input string with a colon: followed by a command to execute it on the opening file(s): Use :25 to jump to line 25. Use :diffthis when opening multiple files to run:diffthis on the first 4 files.

    渣翻译:

    基础用法

       执行  :CtrlP 或 :CtrlP [starting-directory] 来借助ctrlp查找文件
       执行:CtrlPBuffer 或 :CtrlPMRU 来借助ctrlp查找缓冲区或最近使用过的文件
       执行:CtrlPMixed 同时搜索文件夹,缓冲区,以及最近试用过的文件
       执行:help ctrlp-commands 和 :help ctrlp-extensions 了解其他命令


    一旦ctrlp打开了:
       按F5清除当前目录的缓冲以便获取新文件,移除被删掉的文件以及应用新的忽略选项。
        按<ctrl-f>和<ctrl-b>在两种模式间循环
        按<ctrl-d>切换到仅搜索文件名而不是完整路径
        按<ctrl-r>切换到正则表达式模式
        使用<ctrl-j>,<ctrl-k>或者方向键在结果列表移动
        使用<ctrl-t>或<ctrl-v>,<ctrl-x>以新表,新窗口分割方式打开选定项
        使用<ctrl-n>,<ctrl-p>在历史记录里选择上一项或下一项
        使用<ctrl-y>来创建新文件和它的父目录
        使用<ctrl-z>来标记(取消标记)多个文件,使用<ctrl-o>来打开它们
    在ctrlp中执行:help ctrlp-mappings或?获取更多快捷键映射帮助。

        使用两个或多个符号..来升起单层或多层目录树

        使用:25会跳转到打开文件的第25行,当打开多个文件的时候使用:diffthis,会在最开始的4个文件里执行。

     

    Basic Options

    • Change the default mapping and the default command to invoke CtrlP:

      let g:ctrlp_map = '<c-p>'
      let g:ctrlp_cmd = 'CtrlP'
    • When invoked without an explicit starting directory, CtrlP will set its local working directory according to this variable:

      let g:ctrlp_working_path_mode = 'ra'

      'c' - the directory of the current file.
      'a' - the directory of the current file, unless it is a subdirectory of the cwd
      'r' - the nearest ancestor of the current file that contains one of these directories or files:.git .hg .svn .bzr_darcs
      'w' - modifier to "r": start search from the cwd instead of the current file's directory
      0 or '' (empty string) - disable this feature.

      If none of the default markers (.git.hg .svn .bzr _darcs) are present in a project, you can define additional ones withg:ctrlp_root_markers:

      let g:ctrlp_root_markers = ['pom.xml', '.p4ignore']

      If more than one mode is specified, they will be tried in order until a directory is located.

    • If a file is already open, open it again in a new pane instead of switching to the existing pane

      let g:ctrlp_switch_buffer = 'et'

    • Exclude files and directories using Vim'swildignore and CtrlP's own g:ctrlp_custom_ignore. If a custom listing command is being used, exclusions are ignored:

      set wildignore+=*/tmp/*,*.so,*.swp,*.zip     " MacOSX/Linux
      set wildignore+=*\\tmp\\*,*.swp,*.zip,*.exe  " Windows
      
      let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn)$'
      let g:ctrlp_custom_ignore = {
        \ 'dir':  '\v[\/]\.(git|hg|svn)$',
        \ 'file': '\v\.(exe|so|dll)$',
        \ 'link': 'some_bad_symbolic_links',
        \ }
    • Use a custom file listing command:

      let g:ctrlp_user_command = 'find %s -type f'        " MacOSX/Linux
      let g:ctrlp_user_command = 'dir %s /-n /b /s /a-d'  " Windows
    • Ignore files in .gitignore

        let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files -co --exclude-standard']

    Check :help ctrlp-options for other options.

     

    渣翻译:

    基本设定

    改变CTLRP启动默认映射和默认的命令,vimrc中添加

    let g:ctrlp_map = '<c-p>'
    let g:ctrlp_cmd = 'CtrlP'
     

    当引用没有明确的开始目录时,CTLRP会按照以下值来设定工作目录

    let g:ctrlp_working_path_mode = 'ra'
    ‘c’--当前文件的目录
    ‘a’--当前文件的目录,除非它是cwd的子目录
    ‘r’--最近的当前文件,包含了这些.git .hg .svn .bzr_darcs文件或目录
    ‘w’--和r类似,以cwd开始搜索,而非以当前文件目录


    如果默认文件标记(.git .hg .svn .bzr _darcs)都不在项目里,你可以用g:ctrlp_root_markers添加进去

    1. let g:ctrlp_root_markers = ['pom.xml''.p4ignore']  


    如果超过一种模式被指定,它们会试图按次序执行直到一个目录被定位。
     
    如果一个文件已经打开,会在新框里再次打开它,而非切换到当前方框。
    1. let g:ctrlp_switch_buffer = 'et'  


     
    排除文件和文件件使用vim的wildignore以及ctrlp自己的g:ctrlp_custom_ignore,如果使用了自定义文件列表命令,排除会被忽略
    1. set wildignore+=*/tmp/*,*.so,*.swp,*.zip     " MacOSX/Linux  
    2. set wildignore+=*\\tmp\\*,*.swp,*.zip,*.exe  " Windows  
    3.   
    4.   
    5. let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn)$'  
    6. let g:ctrlp_custom_ignore = {  
    7.   \ 'dir':  '\v[\/]\.(git|hg|svn)$',  
    8.   \ 'file''\v\.(exe|so|dll)$',  
    9.   \ 'link''some_bad_symbolic_links',  
    10.   \ }  


     
    使用自定义文件列表命令
    1. let g:ctrlp_user_command = 'find %s -type f'        " MacOSX/Linux  
    2. let g:ctrlp_user_command = 'dir %s /-n /b /s /a-d'  " Windows  


     
    在.gitignore中忽略文件
    1. let g:ctrlp_user_command = ['.git''cd %s && git ls-files -co --exclude-standard']   



    插件使用个人总结:

    ctrlp插件主页文档写的真烂,很多地方含糊不清,要详细了解它的设定(options),必须观看doc部分。
    概括的说,ctrlp在搜索定位文件或目录时,大体可分成两种模式,第一是文件名模式,第二是正则表达式模式。
    每一种模式又适用于三种不同的工作范围,文件系统(磁盘上),缓冲区(内存里),使用过的文件(内部维护记录列表)。
    当然,也可以同时在三个范围里进行。
    插件提供的所有模式切换和命令都取决于此。
    对于初学者,没有必要每项都详细记忆,特别是options设置部分,大量需要在vimrc配置文件中添加。
    我们只需要了解基础用法,比如<F5>类似于重置,<ctrl+f>和<ctrl+b>在文件系统和缓冲区mode切换。

    <ctrl+d>是文件名模式,<ctrl+r>是正则表达式模式。

    <ctrl+y>创建新文件和目录,<ctrl+z>配合<ctrl+o>打开多个文件。

    符号..用来收起目录树,冒号:25可以迅速跳转到打开文件的第25行。


    个人实践: 

    spf13提供的快速启动键是<ctrl+p>,打开gvim,按下快捷键如图:

        

    我的工作路径是在桌面,ctrlp插件自动将桌面上的所有文件列举了出来。

    并且等待用户输入。

    想在结果列表中移动光标,使用方向键上下,按<ENTER>即可打开。

    如何关闭掉ctrlp窗口呢?此时再按<ctrl+p>无效,实测按<ESC>键。

    那么spf13提供的<ctrl+p>快捷键,启动的是ctrlp哪一种模式?

    和:CtrlP ,:CtrlPBuffer以及:CtrlPMRU区别在哪里?

    手工输入:CtrlPBuffer



    因为没有打开文件,buffer缓冲区里肯定没有结果。

    再次手工输入CtrlPMRU



    最近使用过的文件列表都显示出来了。
    由此可见,spf13默认提供的启动快捷键,是工作在文件系统(files)上的,每一种工作模式都被黄色高亮显示。

    展开全文
  • 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 :CtrlPFunky "narrow the ...

    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

     

    • 配置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 = 1
    
    let 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窗口

    另外参考:https://blog.easwy.com/archives/advanced-vim-skills-introduce-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插件: CTRLP[文件搜索]

    千次阅读 2018-10-12 12:41:01
    ctrlp使用 github: 原始kien/ctrlp, 使用的是国人改进版本 ctrlpvim/ctrlp.vim,使用的是k-vim集成 &lt;leader&gt;-f 模糊搜索最近打开的文件(MRU) &lt;leader&gt;-p 模糊搜索当前目录及其子...

    ctrlp使用

    github: 原始kien/ctrlp, 使用的是国人改进版本 ctrlpvim/ctrlp.vim,使用的是k-vim集成

    <leader>-f			模糊搜索最近打开的文件(MRU)
    
    <leader>-p			模糊搜索当前目录及其子目录下的所有文件
    

    搜索框出来后, 输入关键字, 然后

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

    ctrlp的插件ctrlp-funky

    作用: 模糊搜索当前文件中所有函数

    github: ctrlp-funky

    安装

    Bundle ‘tacahiroy/ctrlp-funky’

    使用

    绑定快捷键

    fu 进入当前文件的函数列表搜索

    fU 搜索当前光标下单词对应的函数

    展开全文
  • Ctrlp replaces the Command-T plugin with a 100% viml plugin. It provides an intuitive and fast mechanism to load files from the file system (with regex and fuzzy find), from open buffers, and from rec

    Ctrlp到底是做什么的?

    先看看spf13里对它的描述:


    Ctrlp replaces the Command-T plugin with a 100% viml plugin. It provides an intuitive and fast mechanism to load files from the file system (with regex and fuzzy find), from open buffers, and from recently used files.

    QuickStart Launch using <c-p>.

     

    渣翻译:

    ctrlp 完全取代 command-t插件在vim中,它提供了一种直观和快速的机制装载文件,从文件系统,从打开的缓冲区以及最近使用过的文件里。

    快速启动 <ctrl+p>

     

    Full path fuzzy file, buffer, mru, tag, ... finder for Vim.

    • Written in pure Vimscript for MacVim, gVim and Vim 7.0+.
    • Full support for Vim's regexp as search patterns.
    • Built-in Most Recently Used (MRU) files monitoring.
    • Built-in project's root finder.
    • Open multiple files at once.
    • Create new files and directories.

    渣翻译:

    完全模糊路径在vim寻找文件,缓冲区,最近用过的文件,标签等等。

    由纯vim脚本写成,适用于macvim,gvim和vim7.0+

    完全支持vim正则表达式作为搜索

    内置监测大多数最近用过的文件

    内置工程根目录寻找

    一次打开多个文件

    创建新文件和目录

     

    个人总结:

    ctrlp 和nerdtree都可以划分到文件系统管理。

    nerdtree尽管提供了书签和nerdtreefind功能,但如果文件比较多的情况下,使用起来依然不够便捷。

    我们需要一种机制,能在大量零散的文件里快速定位,查找并打开我们需要的哪部分文件,这就是ctrlp的功能。

    同时,ctrlp还能完成nerdtree中创建文件及目录的功能。

     

    Basic Usage

    • Run :CtrlP or :CtrlP [starting-directory] to invoke CtrlP in find file mode.
    • Run :CtrlPBuffer or :CtrlPMRU to invoke CtrlP in find buffer or find MRU file mode.
    • Run :CtrlPMixed to search in Files, Buffers and MRU files at the same time.

    Check :help ctrlp-commands and :help ctrlp-extensions for other commands.

    Once CtrlP is open:

    • Press <F5> to purge the cache for the current directory to get new files, remove deleted files and apply new ignore options.
    • Press <c-f> and <c-b> to cycle between modes.
    • Press <c-d> to switch to filename only search instead of full path.
    • Press <c-r> to switch to regexp mode.
    • Use <c-j>, <c-k> or the arrow keys to navigate the result list.
    • Use <c-t> or <c-v>, <c-x> to open the selected entry in a new tab or in a new split.
    • Use <c-n>, <c-p> to select the next/previous string in the prompt's history.
    • Use <c-y> to create a new file and its parent directories.
    • Use <c-z> to mark/unmark multiple files and <c-o> to open them.

    Run :help ctrlp-mappings or submit ? in CtrlP for more mapping help.

    • Submit two or more dots .. to go up the directory tree by one or multiple levels.
    • End the input string with a colon : followed by a command to execute it on the opening file(s): Use :25 to jump to line 25. Use :diffthis when opening multiple files to run :diffthis on the first 4 files.

    渣翻译:

    基础用法

       执行  :CtrlP 或 :CtrlP [starting-directory] 来借助ctrlp查找文件
       执行:CtrlPBuffer 或 :CtrlPMRU 来借助ctrlp查找缓冲区或最近使用过的文件
       执行:CtrlPMixed 同时搜索文件夹,缓冲区,以及最近试用过的文件
       执行:help ctrlp-commands 和 :help ctrlp-extensions 了解其他命令


    一旦ctrlp打开了:
       按F5清除当前目录的缓冲以便获取新文件,移除被删掉的文件以及应用新的忽略选项。
        按<ctrl-f>和<ctrl-b>在两种模式间循环
        按<ctrl-d>切换到仅搜索文件名而不是完整路径
        按<ctrl-r>切换到正则表达式模式
        使用<ctrl-j>,<ctrl-k>或者方向键在结果列表移动
        使用<ctrl-t>或<ctrl-v>,<ctrl-x>以新表,新窗口分割方式打开选定项
        使用<ctrl-n>,<ctrl-p>在历史记录里选择上一项或下一项
        使用<ctrl-y>来创建新文件和它的父目录
        使用<ctrl-z>来标记(取消标记)多个文件,使用<ctrl-o>来打开它们
    在ctrlp中执行:help ctrlp-mappings或?获取更多快捷键映射帮助。

        使用两个或多个符号..来升起单层或多层目录树

        使用:25会跳转到打开文件的第25行,当打开多个文件的时候使用:diffthis,会在最开始的4个文件里执行。

     

    Basic Options

    • Change the default mapping and the default command to invoke CtrlP:

      let g:ctrlp_map = '<c-p>'
      let g:ctrlp_cmd = 'CtrlP'
    • When invoked without an explicit starting directory, CtrlP will set its local working directory according to this variable:

      let g:ctrlp_working_path_mode = 'ra'

      'c' - the directory of the current file.
      'a' - the directory of the current file, unless it is a subdirectory of the cwd
      'r' - the nearest ancestor of the current file that contains one of these directories or files: .git .hg .svn .bzr_darcs
      'w' - modifier to "r": start search from the cwd instead of the current file's directory
      0 or '' (empty string) - disable this feature.

      If none of the default markers (.git .hg .svn .bzr _darcs) are present in a project, you can define additional ones with g:ctrlp_root_markers:

      let g:ctrlp_root_markers = ['pom.xml', '.p4ignore']

      If more than one mode is specified, they will be tried in order until a directory is located.

    • If a file is already open, open it again in a new pane instead of switching to the existing pane

      let g:ctrlp_switch_buffer = 'et'

    • Exclude files and directories using Vim's wildignore and CtrlP's own g:ctrlp_custom_ignore. If a custom listing command is being used, exclusions are ignored:

      set wildignore+=*/tmp/*,*.so,*.swp,*.zip     " MacOSX/Linux
      set wildignore+=*\\tmp\\*,*.swp,*.zip,*.exe  " Windows
      
      let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn)$'
      let g:ctrlp_custom_ignore = {
        \ 'dir':  '\v[\/]\.(git|hg|svn)$',
        \ 'file': '\v\.(exe|so|dll)$',
        \ 'link': 'some_bad_symbolic_links',
        \ }
    • Use a custom file listing command:

      let g:ctrlp_user_command = 'find %s -type f'        " MacOSX/Linux
      let g:ctrlp_user_command = 'dir %s /-n /b /s /a-d'  " Windows
    • Ignore files in .gitignore

        let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files -co --exclude-standard']

    Check :help ctrlp-options for other options.

     

    渣翻译:

    基本设定

    改变CTLRP启动默认映射和默认的命令,vimrc中添加

    let g:ctrlp_map = '<c-p>'
    let g:ctrlp_cmd = 'CtrlP'
     

    当引用没有明确的开始目录时,CTLRP会按照以下值来设定工作目录

    let g:ctrlp_working_path_mode = 'ra'
    ‘c’--当前文件的目录
    ‘a’--当前文件的目录,除非它是cwd的子目录
    ‘r’--最近的当前文件,包含了这些.git .hg .svn .bzr_darcs文件或目录
    ‘w’--和r类似,以cwd开始搜索,而非以当前文件目录


    如果默认文件标记(.git .hg .svn .bzr _darcs)都不在项目里,你可以用g:ctrlp_root_markers添加进去

    let g:ctrlp_root_markers = ['pom.xml', '.p4ignore']


    如果超过一种模式被指定,它们会试图按次序执行直到一个目录被定位。
     
    如果一个文件已经打开,会在新框里再次打开它,而非切换到当前方框。
    let g:ctrlp_switch_buffer = 'et'


     
    排除文件和文件件使用vim的wildignore以及ctrlp自己的g:ctrlp_custom_ignore,如果使用了自定义文件列表命令,排除会被忽略
    set wildignore+=*/tmp/*,*.so,*.swp,*.zip     " MacOSX/Linux
    set wildignore+=*\\tmp\\*,*.swp,*.zip,*.exe  " Windows
    
    
    let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn)$'
    let g:ctrlp_custom_ignore = {
      \ 'dir':  '\v[\/]\.(git|hg|svn)$',
      \ 'file': '\v\.(exe|so|dll)$',
      \ 'link': 'some_bad_symbolic_links',
      \ }


     
    使用自定义文件列表命令
    let g:ctrlp_user_command = 'find %s -type f'        " MacOSX/Linux
    let g:ctrlp_user_command = 'dir %s /-n /b /s /a-d'  " Windows


     
    在.gitignore中忽略文件
    let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files -co --exclude-standard'] 



    插件使用个人总结:

    ctrlp插件主页文档写的真烂,很多地方含糊不清,要详细了解它的设定(options),必须观看doc部分。
    概括的说,ctrlp在搜索定位文件或目录时,大体可分成两种模式,第一是文件名模式,第二是正则表达式模式。
    每一种模式又适用于三种不同的工作范围,文件系统(磁盘上),缓冲区(内存里),使用过的文件(内部维护记录列表)。
    当然,也可以同时在三个范围里进行。
    插件提供的所有模式切换和命令都取决于此。
    对于初学者,没有必要每项都详细记忆,特别是options设置部分,大量需要在vimrc配置文件中添加。
    我们只需要了解基础用法,比如<F5>类似于重置,<ctrl+f>和<ctrl+b>在文件系统和缓冲区mode切换。

    <ctrl+d>是文件名模式,<ctrl+r>是正则表达式模式。

    <ctrl+y>创建新文件和目录,<ctrl+z>配合<ctrl+o>打开多个文件。

    符号..用来收起目录树,冒号:25可以迅速跳转到打开文件的第25行。


    个人实践: 

    spf13提供的快速启动键是<ctrl+p>,打开gvim,按下快捷键如图:

        

    我的工作路径是在桌面,ctrlp插件自动将桌面上的所有文件列举了出来。

    并且等待用户输入。

    想在结果列表中移动光标,使用方向键上下,按<ENTER>即可打开。

    如何关闭掉ctrlp窗口呢?此时再按<ctrl+p>无效,实测按<ESC>键。

    那么spf13提供的<ctrl+p>快捷键,启动的是ctrlp哪一种模式?

    和:CtrlP ,:CtrlPBuffer以及:CtrlPMRU区别在哪里?

    手工输入:CtrlPBuffer



    因为没有打开文件,buffer缓冲区里肯定没有结果。

    再次手工输入CtrlPMRU



    最近使用过的文件列表都显示出来了。
    由此可见,spf13默认提供的启动快捷键,是工作在文件系统(files)上的,每一种工作模式都被黄色高亮显示。



    展开全文
  • Vim插件之ctrlp

    万次阅读 2017-04-04 00:34:20
    ctrlp,模糊搜索工具,同类软件还有 ack,ag,fzf,ctrlp在速度上有些逊色,不过依赖少配置简单"ctrlp let g:ctrlp_map = '<leader>p' let g:ctrlp_cmd = 'CtrlP' map <leader>f :CtrlPMRU<CR>...
  • CtrlP 在.vimrc中的配置

    千次阅读 2017-12-07 10:08:16
    let g:ctrlp_cmd = 'CtrlP' 当引用没有明确的开始目录时,CTLRP会按照以下值来设定工作目录 let g:ctrlp_working_path_mode = 'ra' ‘c’--当前文件的目录 ‘a’--当前文件的目录,除非它是cwd的子目录 ‘r’--最近...
  • 此博客持续更新,有需要的可以点个关注!(2019/12/17笔者注) 0. 目前我的Vim ... 下窗口:基于ctrlp的全局搜索窗口 状态栏:使用vim-airline美化 背 景: molokai配色主题 进入正文: 目录 1. V...
  • vim 插件 通过vundle安装ctrlp

    千次阅读 2015-12-18 10:35:15
    1.vim ./.vimrc 修改vim的运行命令配置文件 "Bundle start 表示插件管理器配置起始地址  set nocompatible  filetyp off  set rtp+=~/.vim/bundle/vundle/  call vundle#rc() ... "设置ctrlp的快捷方式
  • 之前的文章 Vim插件之ctrlp 中提到过ctrlp调用外部工具ag提高搜索速度的方法,同时也指出了这种方法存在的两个问题,一是不能搜索隐藏文件,二是不能自定义忽略的文件,在仔细查阅ag(the_silver_searcher ...
  • ctrlp快捷键

    千次阅读 2017-09-05 15:36:31
    ctrlp用于模糊搜索, 可以搜索文件/buffer/mru/tag等等。 在 vim 的 normal 模式之下按 Ctrl+P 组合键即可弹出搜索窗口。 * f5> 更新目录缓存。 * c-f> / c-b> 在模式之间切换 * c-d> 在”完整路径匹配“ 和 ”...
  • vim ctrlp操作

    千次阅读 2018-02-05 11:23:52
    c-p > , < c-n > 选择历史记录 * < c-y > 文件不存在时创建文件及目录 * < c-z > 标记/取消标记, 标记多个文件后可以使用 < c-o > 同时打开多个文件 from:...
  • IDEA设置按键提示 Ctrl+p

    千次阅读 2021-09-15 23:11:05
    Main menu > View > Parameter Info
  • 打开: 文件--&gt;首选项 --&gt; 设置: "workbench.editor.enablePreview": false,
  • 文件->首选项->设置 在输入框中 输入下面 Workbench>Editor:Enable Preview From Quick Open 把前面的对勾去掉即可
  • VS CODE (ctrl + p)全局搜索文件不了

    千次阅读 2020-08-06 19:23:41
    VS Code全局搜索不了的解决方法链接
  • 每日一vim(7)自动补齐CTRL+N/CTRL+P

    万次阅读 2015-12-28 09:03:40
    CTRL+n :当你输入第一个字母的时候,再CTRL+n,自动出现下拉菜单,单词默认选中第一个,继续CTRL+n,CTRL+p可以上下切换,或者用方向键(太慢) CTRL+p :同上,只是默认的选中的是列表中最后一个单词 行自动...
  • 怎么用js模拟键盘ctrl+p

    千次阅读 2017-07-11 10:04:12
    jquery.PrintArea.min ("打印报名表")?>" class="BigButton" title="("打印报名表")?>" style="float: right" onclick="print()"> ... function print() { ... //wsShell.SendKeys("^(p)"); }
  • 看到很多说是要安装这个,但是明明安装了什么都有的 此时其实只需要一步 输入框输入Package Control: Install Package回车 再搜索你想要的插件就出现了!
  • vim 中的 Ctrl p

    千次阅读 2009-09-11 11:34:00
    如果你没有用过vim 中的 ctrl p 功能的话,那么太可惜了.它的功能在于vim会记录你写过的用过的变量或是函数,当你用Ctrl p 的时候会为你自动补全.我知道的仅此而已.
  • Sublime Text这种软件的意义在于什么? 事实上,它比VS做得好的是:加载大型目录层次结构时,速度飞快 可能是因为它底层模块化+插件式按需加载的架构决定的 VS2010以上版本加载大型软件(比如说WebKit)时,由于...
  • 嵌入式应用中经常需要...查到ctrl+u的ASCII十进制为21,十六进制为15,数字的十六进制格式为数字前加0x 所以向串口发送组合键ctrl+u的指令为 ser.write(chr(0x15).encode()) #chr()指的就是ASCii表对应的字符
  • 浏览器ctrl快捷键大全

    千次阅读 2018-04-29 12:17:52
    本小技巧适用于360安全浏览器和chorm浏览器ctrl+w 关闭本窗口ctrl+e 恢复关闭窗口ctrl+r重载窗口ctrl+t 新开窗口ctrl+u查看当前网页的源代码ctrl+o打开电脑的文件ctrl+a全选ctrl+s保存当前网页ctrl+d收藏当前网页...
  • idea里面的 Ctrl + H

    千次阅读 2019-10-11 16:02:02
  • vue监听按下ctrl或shift

    千次阅读 2020-06-20 03:04:20
    '按下' : '抬起') this.onShfit = status break case 17: if (this.onCtrl === status) return console.log('ctrl', status ? '按下' : '抬起') this.onCtrl = status break } } document.onkeydown = (e) => { ...
  • js网页禁用Ctrl + A、C、V等热键

    千次阅读 2020-07-14 13:59:47
    1、在当前页面禁用常用快捷键 document.onkeydown = function(event)... window.event.keyCode==65){ //禁用ctrl + a 功能 return false; } if (event.ctrlKey && window.event.keyCode==67){ //禁用ctrl
  • 在vi的编辑模式下实现自动补全功能命令:Ctrl+n、Ctrl+p。 在编辑模式下, 在vi中输入单词后,文本单词将会被记忆。 在vi的编辑模式下通过Ctrl+n,ctrl+p,可以实现单词(给查单词的部分字符)的自动补全和输入...
  • docker 常用命令

    千次阅读 2016-03-03 19:30:32
    docker 各种命令及参数有很多,下面将比较常用的几个命令及参数作简要说明:1、docker images 查看现有镜像,第一列为镜像名,第二列为镜像版本。... 结束退出, 退出的容器还可以再次进入5、Ctrl-q + Ctrl-p

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 402,962
精华内容 161,184
关键字:

ctrlp