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. 缺点:关闭文档 ...
随机推荐
- 【面试 IO】【第十一篇】 java IO
1.什么是比特(Bit),什么是字节(Byte),什么是字符(Char),它们长度是多少,各有什么区别 1>Bit最小的二进制单位 ,是计算机的操作部分 取值0或者1 2>Byte是计算机 ...
- Android应用开发之所有动画使用详解
题外话:有段时间没有更新博客了,这篇文章也是之前写了一半一直放在草稿箱,今天抽空把剩余的补上的.消失的这段时间真的好忙,节奏一下子有些适应不过来,早晨七点四十就得醒来,晚上九点四十才准备下班,好像最近 ...
- vue2.0 自定义 折叠列表(Accordion)组件
1.自定义 折叠列表 Accordion.vue (1)sass 版本 <!-- 折叠列表 组件 --> <template> <nav :class="$ ...
- hdu 1081 & poj 1050 To The Max(最大和的子矩阵)
转载请注明出处:http://blog.csdn.net/u012860063 Description Given a two-dimensional array of positive and ne ...
- 转:scanf的用法
https://blog.csdn.net/u012421456/article/details/18501309 scanf()[通过键盘将数据输入到变量中] 它有两种用法: 用法一: scanf( ...
- hdu5318 The Goddess Of The Moon (矩阵高速幂优化dp)
题目:pid=5318">http://acm.hdu.edu.cn/showproblem.php?pid=5318 题意:给定n个数字串和整数m,规定若数字串s1的后缀和数字串s2 ...
- 用python编写的无线AP扫描器
代码如下: #coding=utf-8 import os import sys import subprocess from scapy.all import * RSN = 48 #管理帧信息元素 ...
- iOS菜鸟学习--怎样避免两个button同一时候响应
在測试应用时.有时会变态的将两个UIButton同一时候按住来測试.结果就是两个button会同一时候响应,会出现同一时候push两个viewcontroller等非正常情况.为了避免用户误操作造成这 ...
- 协议分析之qq协议---qq登录
QQ 协议分析:获取各类登录会话密钥 我们知道QQ的一些会话密钥是在登录过程中生成的,尤其是Session Key,有了它便可以解密出聊天文本内容.本文主要是了解一下QQ的加密机制,首先是用嗅探工具W ...
- 【转】IDA 调试 Android
最近都在学一些反编译安卓相关的东西,其实网上有很多教程关于用 IDA 调试 Android 的过程,主要记录一下我遇到的坑 首先 Android手机要是root过的 还要注意的一点是apk中的 And ...