vim使用心得
2016-07-02 15:02
316 查看
最近心血来潮,开始研究vim是怎么玩的。期间也遇到了各种问题,但配置好了使用起来之后,真的是感觉还挺方便好用的,毕竟神器,功能强大自不必说,能装B才是重点。
开始的时候都是自己改配置自己装插件,后来发现spf13这个神器,果断入了该门。
下面是我的vim界面:
官网的介绍非常直观全面
http://vim.spf13.com/
curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh
用户配置可以直接在.vimrc.local中写,而spf13的配置仍在.vimrc中。
我只在.vimrc.local中写了简单的:
colorscheme molokai
set nospell
set noautochdir
另外在.vimrc中该了<leader>键映射: spf13默认的是','
let mapleader = '\'
插件安装的配置在.vimrc.bundles中。
这里我只安装了一个配色插件:
Bundle 'tomasr/molokai'
<leader> + cc :注释当前行
<leader> + c + 空格 :切换注释/非注释状态
<leader> + cs :以”性感”的方式注释
<leader> + cA :在当前行尾添加注释符,并进入Insert模式
<leader> + cu :取消注释
<ctrl> + ] :跳转到符号定义位置
<ctrl> + t :从定义位置返回
ysiw( :增加() helloworld ->( helloworld )w表示一个词,也可以换成$表示加整行。i表示光标在词上任何位置都识别整个词。不带i则从光标所在位置到词尾算一个词。
ysiw) :增加() helloworld -> (helloworld) 右括号加在词两侧是没空格的,左括号是有空格的。
ds) :删除() (helloworld) -> helloworld
cs)] :修改包围符号 (helloworld) -> [helloworld]
yss) :给一行加()
ci) :删除一对括号中间的内容,并进入插入模式。
yi) :复制一对括号中间的内容。
di) :删除一堆括号中间的内容。
如输入main<tab>,自动生成如下代码:再按<tab>键可以依次输入各变量值。
int main(int argc, char const* argv[])
{
return 0;
}
<leader><leader>w :开启该模式,然后输入字母到指定位置。
<ctrl> + p :打开搜索窗口。
<ctrl> + b :在收缩窗口输入,可以切换查找文件还是符号。
<leader> + fu :查找符号表。
<ctrl> + n :选中当前光标下的一个词,再次输入则选中下一个词。
<ctrl> + x :选中的词不想用,则跳过。
<ctrl> + p :向上选择,也就是回退之前的选择。
选择完成后,可以按I进入编译模式。也可以使用vim的移动命令继续移动光标。
开始的时候都是自己改配置自己装插件,后来发现spf13这个神器,果断入了该门。
下面是我的vim界面:
spf13的优点:
安装极其简单,功能非常全面,集成了绝大部分vim的实用插件,冲突少,用户自定义配置便捷。官网的介绍非常直观全面
http://vim.spf13.com/
spf13安装方法:
我用的是CentOS7,终端下面直接敲下面这段话,真的是简单到无以复加的安装方式!curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh
spf13配置方法:
一般情况,已经不需要再配置什么东西,但是可以根据实际情况定制一些自己的配置。用户配置可以直接在.vimrc.local中写,而spf13的配置仍在.vimrc中。
我只在.vimrc.local中写了简单的:
colorscheme molokai
set nospell
set noautochdir
另外在.vimrc中该了<leader>键映射: spf13默认的是','
let mapleader = '\'
插件安装的配置在.vimrc.bundles中。
这里我只安装了一个配色插件:
Bundle 'tomasr/molokai'
vim常用插件的使用方法:
NERDTree:
ctrl + e 打开关闭NERDTree。NERD Commenter :
<leader> + ca :切换注释方式,比如C/C++ 的块注释/* */和行注释//<leader> + cc :注释当前行
<leader> + c + 空格 :切换注释/非注释状态
<leader> + cs :以”性感”的方式注释
<leader> + cA :在当前行尾添加注释符,并进入Insert模式
<leader> + cu :取消注释
TagBar :
<leader> + tt :打开当前文件的tag目录<ctrl> + ] :跳转到符号定义位置
<ctrl> + t :从定义位置返回
Surround:
给字符串添加包围符号:如helloworldysiw( :增加() helloworld ->( helloworld )w表示一个词,也可以换成$表示加整行。i表示光标在词上任何位置都识别整个词。不带i则从光标所在位置到词尾算一个词。
ysiw) :增加() helloworld -> (helloworld) 右括号加在词两侧是没空格的,左括号是有空格的。
ds) :删除() (helloworld) -> helloworld
cs)] :修改包围符号 (helloworld) -> [helloworld]
yss) :给一行加()
ci) :删除一对括号中间的内容,并进入插入模式。
yi) :复制一对括号中间的内容。
di) :删除一堆括号中间的内容。
Neocomplete:
自动补全,tab键可以自动补全一些常用格式命令。常用的如printf,struct可以试试。更多补全规则的配置文件在.vim/bundle/neosnippet-snippets/neosnippets下面。如输入main<tab>,自动生成如下代码:再按<tab>键可以依次输入各变量值。
int main(int argc, char const* argv[])
{
return 0;
}
EasyMotion:
快速移动插件,可以精准快速移动光标到指定位置。<leader><leader>w :开启该模式,然后输入字母到指定位置。
CtrlP:
快速查找插件,可以快速查找文件表和符号表。<ctrl> + p :打开搜索窗口。
<ctrl> + b :在收缩窗口输入,可以切换查找文件还是符号。
<leader> + fu :查找符号表。
Multiple-curcors:
选中多行然后一起编辑。<ctrl> + n :选中当前光标下的一个词,再次输入则选中下一个词。
<ctrl> + x :选中的词不想用,则跳过。
<ctrl> + p :向上选择,也就是回退之前的选择。
选择完成后,可以按I进入编译模式。也可以使用vim的移动命令继续移动光标。
相关文章推荐
- VIM编译器显示TAB和TAB转换为空格
- 菜鸟说给菜鸟听之VIM--入门篇(1)
- cygwin下vim方向键不好用的解决方案
- 安装使用Ubuntu之vim必须知道的细节
- Ruby学习笔记二帮助生成Vim添加代码头的代码
- PHP工程师VIM配置分享
- ruby开发vim插件小结
- VIM中设置php自动缩进为4个空格的方法详解
- Vim命令高级用法
- linux Vim基本操作方法
- 手把手教你将Vim改装成一个IDE编程环境(图文) 吴垠
- 搭建Vim为自定义的PHP开发工具的一些技巧
- 使用python开发vim插件及心得分享
- 两个命令把 Vim 打造成 Python IDE的方法
- vim配置显示行号和语法高亮 即.vimrc文件的配置
- linux系统中使用Vim删除偶数行或者奇数行
- Python开发如何在ubuntu 15.10 上配置vim
- Mac 配置VIM插件 提示"E492:Not an editor command:^M"
- vim配置文件
- VIM中空格和TAB的替换