vim 使用、设置笔记
一、设置.vimrc( windows下通常为_vimrc)
1、设置vim中tab的缩进
set ts=4 (注:ts是tabstop的缩写,设TAB宽4个空格)
set expandtab (注:用4个空格代替一个TAB, 不设置的话就是一个宽为4的TAB)
二、插件
1、Vundle 插件安装器,http://github.com/VundleVim/Vundle.Vim
2、NERDTree 树形目录,https://github.com/scrooloose/nerdtree
3、NERDCommenter 注释插件,https://github.com/scrooloose/nerdcommenter
4、delimitMate 引号、括号等补全,https://github.com/Raimondi/delimitMate
5、cppcomplete c/c++代码补全,http://www.vim.org/scripts/script.php?script_id=527
6、taglist 符号列表插件,需同ctags生成的tags一起工作,https://github.com/vim-scripts/taglist.vim
7、AutoComplPop 补全时自动弹出窗口,https://github.com/vim-scripts/AutoComplPop
8、CtrlP 文件查找,https://github.com/kien/ctrlp.vim
9、EasyGrep 全局搜索,https://github.com/dkprice/vim-easygrep
三、使用
1、缩进
< 或 > 注:一个向左缩进,一个向右缩进
= 注:自动缩进(默认使用c-indenting或lisp函数来格式化)
例子:gg=G (gg:回到文本首部,=:缩进, G:文本尾部, 整体意思,全文缩进)
具体的使用看vim的手册, :help < 或 :help > 或 :help =
2、快速注释/反注释
注释: ctrl + v 进入块可视化模式, 选择要注释行的第一个字符, I 进入向前插入模式,插入注释符号,如//, 此时再按一下Esc,即完成选中行的注释
反注释: ctrl + v 进入块可视化模式,选择要删除的注释符,再 x,即可删除所有
注:使用辅助插件,如:NERD_commenter
参考文章:http://blog.csdn.net/xiajun07061225/article/details/8488210
3、设置窗口大小
set lines=35 columns=118
set lines=999 columns=999 "表示全屏
vim中窗口宽用columns, 高用lines
参考文章:http://lemoncyb.iteye.com/blog/1615983
4、gvim中设置配置方案
colorscheme industry
参考文章:http://lemoncyb.iteye.com/blog/1615983
5、gf 命令
goto file
Edit the file whose name is under or after the cursor.
可以跳转到光标下的文件中,前提是这个文件在搜索路径path中
详细请参考:help gf, help path
6、宏录制
q{0-9a-zA-Z} 开始宏录制, help q 查看
q 结束录制
@{0-9a-zA-Z} 播放宏
例子:
比如要在以下3行字符串的后面分别加一个分号
hello, one
hello, two
hello, three
正常模式下输入 qa, (q表示开始录制, 存放的寄存器名为a)
正常模式下输入 A (A表示在行尾追加)
输入;
正常模式下输入 j (j表示光标移到下一行)
q (结束录制)
播放宏:光标移到第一行, 在正常模式下输入3@a
7、多窗口大小的调整
resize +2 "高度增加2,使用头号就减少2
vertical resize +2 “宽度增加2,使用减号就减少2
使用按键映射则可在配置文件中加入以下配置:
" 调整窗口大小
"nnoremap <C-7> <C-w>+
"nnoremap <C-8> <C-w>-
nnoremap <C-7> :resize +2<CR>
nnoremap <C-8> :resize -2<CR>
nnoremap <C-9> :vertical resize +2<CR>
nnoremap <C-0> :vertical resize -2<CR>
此时Ctrl+7: 表示高度加2,其它的类同
8、Session\View保存加载
mksession 保存当前会话
vim -S Session.vim 加载会话
mkview 1 保存视图1
:loadview 1 加载视图1
具体的请看:help mksession 及help mkview
9、vim 设置编码
set fileencodings=ucs-bom,utf-8,cp936
set fileencoding=utf-8
具体参见:http://www.cnblogs.com/jaiho/archive/2011/08/24/2056375.html
或help fileencodings 查看相关说明
vim 使用、设置笔记的更多相关文章
- Vim 配色设置与配色脚本语法
几个给tag加颜色的插件 https://github.com/octol/vim-cpp-enhanced-highlight:基于tag的c family语法高亮 https://github.c ...
- iconv内容,convmv文件名,unix2dos,dos2unix文件格式转换,od/cut/wc/dd/diff/uniq/nice/du等命令,linux文件名乱码,文件名,文件内容,vim编码设置
1.enconv文件名编码转换,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下 enconv -L zh_CN -x UTF-8 filename enconv -L GB2312 -x ...
- Sublime Text 3设置笔记
Sublime Text 3设置笔记 Sublime Text 3设置指南 1. 安装package control 下载package control源码安装包,并解压: http://yun.ba ...
- vim高亮设置
vim高亮设置 前提: 查看vim是否完整安装 rpm -qa | grep vim 若完整安装,则会出现如下相关信息 vim-filesystem-7.4.629-5.el6.x86_64 vim- ...
- 学习 Vim —— Vimtutor 总结笔记
Lesson 2 2.1-2.3 删除 [dw] 删除从光标开始处至下一词开始前的部分,光标停在下一词的词首. [de] 删除从光标开始处至词尾的部分. [d$] 删除从光标开始处至行末的部分. 2. ...
- vim折叠设置(转载)
vim折叠设置(转载) set foldmethod=indent "set default foldmethod"zi 打开关闭折叠"zv 查看此行zm 关闭折叠zM ...
- vim tab设置为4个空格
为了vim更好的支持python写代码,修改tab默认4个空格有两种设置方法: 1. vim /etc/vimrc 1 set ts=4 2 set sw=4 2. vim /etc/vimrc 1 ...
- Linux:vim环境设置
vim环境设置 vim的环境设置在/etc/vimrc的这个文件中,不过不建议直接修改该配置文件.但是可以修改~/.vimrc文件,默认是不存在的,要手动创建并写入设置值. set hlsearch ...
- vim编码设置
转载于:http://www.cnblogs.com/freewater/archive/2011/08/26/2154602.html vim 编码方式的设置和所有的流行文本编辑器一样,Vim 可以 ...
- vim搜索设置高亮
vim搜索设置高亮 linux vim打开文档搜索字符串时,设置被搜索到字符串高亮显示. 有两种方法: 1.暂时设置:vim打开文档-->命令行形式输入set hlsearch. 缺点:关闭文档 ...
随机推荐
- OpenGL超级宝典笔记——深度纹理和阴影 【转】
目录[-] 光源视角 新型的纹理 深度纹理的大小 首先绘制阴影 然后是光照 投影阴影贴图 阴影比较 之前我们介绍过简单的把物体压平到投影平面来制造阴影.但这种阴影方式有其局限性(如投影平面须是平面). ...
- 编译php ./configure命令enable和with有什么区别
原文: https://segmentfault.com/q/1010000009174725 ---------------------------------------------------- ...
- MySQL 查询某个列中同样值的数量统计
数据如今是这种,我想确定出type列中的news和image....甚至以后有其它值,他们分别有多少个. SELECT type, count(1) AS counts FROM material G ...
- 指针初始化为NULL的作用
关于空指针NULL.野指针.通用指针,首先说一下什么是指针,只要明白了指针的含义,你就明白null的含义了. 假设 有语句 int a=10;那么编译器就在内存中开辟1个整型单元存放变量a,我们假设这 ...
- 深入struts2.0(七)--ActionInvocation接口以及3DefaultActionInvocation类
1.1.1 ActionInvocation类 ActionInvocation定义为一个接口.主要作用是表现action的运行状态.它拥有拦截器和action的实例.通过重复的运行inv ...
- javacript中apply和call的区别
apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性. 接受的参数是一个字符串. call:和apply的意思一样,只不过是参数列表不一样. 接收的参数是一个数组. 例如: <s ...
- Allegro基本操作——PCB布线
转:http://blog.sina.com.cn/s/blog_1538bc9470102vyyq.html http://www.elecfans.com/article/80/110/2010/ ...
- idea自动注入和自动编译
---恢复内容开始--- 自动编译也就是时时编译,当我们写错代码的时候,idea能够马上报错,这个是不错的功能. 安装操作看下图: 下面这个功能的作用就是,如果你不修改的话,你的项目可以正常运行,但是 ...
- App性能优化浅谈
前言 前段时间给公司的小伙伴们进行了关于app性能优化的技术分享.这里我稍微整理一下也给大家分享一下.关于性能优化这个话题非常大,涉及面能够非常广,也能够非常深入.本人能力有限,不会给大家讲特别难懂, ...
- ActionChains报错问题总结
在使用Python2.7+Selenium3.0.2+Firefox50.1时,鼠标事件ActionChains运行总是报错,报错信息如下: C:\Python36\python3.exe C:/Us ...