vim实用操作

来源:互联网 发布:淘宝双11素材图片大全 编辑:程序博客网 时间:2024/05/29 04:25

多行注释与删除注释

参考:vim常用命令之多行注释和多行删除

多行删除

命令输入:32,65d,删除32-65行
ndd,删除光标所在的向下n行。
:set nu 显示行号

Vundle插件管理

vundle是一款插件管理工具。安装方式:
1. 清空.vim/ 下的所有原生目录,再通过如下命令安装 vundle:git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
2. 在 .vimrc 增加相关配置信息。
3. 安装插件,在 .vimrc 中执行 :PluginInstall;卸载::PluginClean;更新: :PluginUpdate。
参考:https://github.com/yangyangwithgnu/use_vim_as_ide#2

文件跳转:ctrlp.vim

当你想打开某个文件时,只要按下 Ctrl + p 快捷键,输入文件名。 所有和这个文件名匹配的文件都会被按照优先级列出来,按下 enter 或者 Ctrl + t 就可以在当前 buffer 或者新 tab 页打开你要的文件了。
.vimrc中的配置:

let g:ctrlp_map = '<c-p>' let g:ctrlp_cmd = 'CtrlP'" 设置过滤不进行查找的后缀名 let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn|pyc)$' 

参考:http://www.zlovezl.cn/articles/vim-plugins-cannot-live-without/

自动补全:YouCompleteMe(YCM)

自动代码补全工具。
配置:

" 设置跳转到方法/函数定义的快捷键 nnoremap <leader>j :YcmCompleter GoToDefinitionElseDeclaration<CR> " 触发补全快捷键 let g:ycm_key_list_select_completion = ['<TAB>', '<c-n>', '<Down>'] let g:ycm_key_list_previous_completion = ['<S-TAB>', '<c-p>', '<Up>'] let g:ycm_auto_trigger = 1 " 最小自动触发补全的字符大小设置为 3 let g:ycm_min_num_of_chars_for_completion = 3 " YCM的previw窗口比较恼人,还是关闭比较好 set completeopt-=preview 

参考:http://www.zlovezl.cn/articles/vim-plugins-cannot-live-without/

内容搜索:ag.vim

安装vim的ag插件必须先安装ag命令行工具。
配置:nnoremap <leader>ag :Ag! ""<left>
参考:http://www.zlovezl.cn/articles/vim-plugins-cannot-live-without/

我的.vimrc

" 定义快捷键的前缀,即<Leader>let mapleader=";"" 开启文件类型侦测filetype on" 根据侦测到的不同类型加载对应的插件filetype plugin on" 设置一个tab占用4个空格,并将tab替换为空格set tabstop=4set expandtab" 基于缩进或语法进行代码折叠"set foldmethod=indentset foldmethod=syntax" 启动 vim 时关闭折叠代码set nofoldenable"za,打开或关闭当前折叠;zM,关闭所有折叠;zR,打开所有折叠nnoremap <leader>j gtnnoremap <leader>k gT" 设置快捷键将选中文本块复制至系统剪贴板vnoremap <leader>y "+y" 设置快捷键将系统剪贴板内容粘贴至 vimnmap <Leader>p "+p" 定义快捷键关闭当前分割窗口nmap <Leader>q :q<CR>" 定义快捷键保存当前窗口内容nmap <Leader>w :w<CR>" 定义快捷键保存所有窗口内容并退出 vimnmap <Leader>WQ :wa<CR>:q<CR>" 依次遍历子窗口nnoremap <leader>n <C-W><C-W>" 让配置变更立即生效autocmd BufWritePost $MYVIMRC source $MYVIMRC" vundle 环境设置filetype offset rtp+=~/.vim/bundle/Vundle.vim" vundle 管理的插件列表必须位于 vundle#begin() 和 vundle#end() 之间call vundle#begin()Plugin 'VundleVim/Vundle.vim'Plugin 'kien/ctrlp.vim'Plugin 'Valloric/YouCompleteMe'Plugin 'rking/ag.vim'" Plugin 'vim-signature'" 插件列表结束call vundle#end()filetype plugin indent on" CtrlPlet g:ctrlp_map = '<c-p>'let g:ctrlp_cmd = 'CtrlP'" filter some suffixeslet g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn|pyc)$'" YouCompleteMe" 设置跳转到方法/函数定义的快捷键 nnoremap <leader>d :YcmCompleter GoToDefinitionElseDeclaration<CR> " " 触发补全快捷键 let g:ycm_key_list_select_completion = ['<TAB>', '<c-n>', '<Down>'] let g:ycm_key_list_previous_completion = ['<S-TAB>', '<c-p>', '<Up>'] let g:ycm_auto_trigger = 1 " " 最小自动触发补全的字符大小设置为 3 let g:ycm_min_num_of_chars_for_completion = 3 " " YCM的previw窗口比较恼人,还是关闭比较好 set completeopt-=preview " agnnoremap <leader>ag :Ag! ""<left>
原创粉丝点击