VIM 实用技术
来源:互联网 发布:算法沙特版课后答案 编辑:程序博客网 时间:2024/05/27 01:49
1.1. VIM模式
- 正常模式(normal):这个模式是vim 默认的模式;不能直接编辑录入信息
- 命令模式(command):用于执行较长、较复杂的命令;一般输入 : 、 ? 或者s/// 替换 :nG 命令
- 插入模式(insert):向文本中录入信息 i a
- 选择模式(select):ctrl +v 可以选择模块
1.2 安装VIM包
现在系统默认(缺省)情况下并不一定安装VIM包;这是需要我们自己安装vim 的rpm包:
- vim-common-7.0.109-7.el5 vim 公用部分
- vim-minimal-7.0.109-7.el5 vim 最小安装,一般不能体现vim的强大
- vim-enhanced-7.0.109-7.el5 除了支持图形化界面;其他的全部支持,需要按这三个包
1.3 vim 支持中文
vim 支持多种主要的语言,当然也支持中文,如果你用VIM编辑中文,但中文不能正常显示,那肯定是vim的配置有问题
VIM 的多语言支持:一个是文件的语言编码,二是环境的内部编码;在linux上面 常见的情况是环境的内部编码使用UTF-8;而UTF-8可以同任何一种语言做无损耗转换,这就保证了系统的多语言处理能力。VIM 秉承了Linux系统,在内部编码(环境的内部编码)为UTF-8时,可以同时处理不同语言编码的文件。
- 环境变量 LANG(LANG=C)
- 环境变量LC_CTYE(环境使用的内部编码)
- VIM 选项 encoding (VIM 的内部编码)
- VIM选项 fileencoding(VIM 当前编辑的文件存储时的编码)
- VIM 选项fileencodings(VIM 打开文件时尝试使用的编码)
1.4 VIM 支持鼠标
VIM 在文本界面下面也支持鼠标;只需要在 .vrmrc :set mouse=a --->但是实验不成功
1.5 空格、制表符和缩进
对于编码来说缩进是一个最常见的概念,可以用VIM的选项来设置:
- shiftwidth(缩进的空格数)
- tabstop(制表符的宽度)
- expandtab(是否在缩进和遇到Tab 时用空格代替,使用 noexpandtab 取消设置)
- autoindent (自动缩进,即每行的缩进值与上一行相等;使用 noautoindent 取消)
- cindent(采用 C语言的缩进方式,根据{ } 配对进行缩进)
- paste(粘帖模式,从剪贴板粘贴代码,保持原来的风格)
- shiftwidth=4 tabstop=4:很多 Windows 出身的程序员会习惯这样的设置,让缩进等于制表符宽度。
1.6 VIM 自动完成和路径设定
VIM 支持单词的自动完成,比如在前面使用了一个很长的变量名:aLongVariable 我们在下面用这个变量名时用ctrl +p 可以自动补全变量;如果有多个,就多按几次ctrl +p 进行切换
1.7 .vimrc .viminfo
- /etc/vimrc 是一个全局变量;在这个文件设置的vim 选项对所有的用户都起作用;
- ~username/.vimrc 是针对某个用户 username 设置的vim 选项,只对此用户有效
- ~username/.viminfo 是针对某个用户来记录此次vim的操作记录:
每次推出VI vim 时,就把一些信息写到.viminfo 中,这样下次打开vim 后直接把一些信息恢复,能节省一下操作。
http://blog.tektea.com/archives/570.html
1.8 VIM常用的小技巧
- % :跳转到与之前匹配的括号处 {}
- nG
- n+
- ctrl +v
1.9 模式下:set list 会显示所有的特殊字符
- Vim 实用技术
- vim实用技术
- Vim 实用技术
- VIM 实用技术
- Vim 实用技术
- Vim实用技术 第一部分:实用技巧
- Vim 实用技术,第 3 部分: 定制 Vim
- Vim 实用技术,第 3 部分: 定制 Vim
- Vim 实用技术,第 3 部分: 定制 Vim
- Vim 实用技术,第 3 部分: 定制 Vim
- Vim 实用技术,第 3 部分: 定制 Vim
- Vim 实用技术,第 3 部分: 定制 Vim
- Vim 实用技术,第 3 部分: 定制 Vim
- Vim 实用技术,第 3 部分: 定制 Vim
- Vim 实用技术,第 3 部分: 定制 Vim
- Vim 实用技术,第 3 部分: 定制 Vim
- Vim 实用技术,第 3 部分: 定制 Vim
- Vim 实用技术,第 3 部分: 定制 Vim
- 关于授予第四届四川省职工职业技能大赛优秀选手四川省五一劳动奖章的决定
- Linux 命令大全
- sscanf和sprintf的高级用法
- 仓库管理系统(附设计要求)
- COCOS2DX-1.0.1 配置手册
- VIM 实用技术
- PHP 中的 $_FILES
- Eclipse:显示堆内存状态
- JavaSE第八十九讲:JavaIO流深入详解
- LCD驱动移植 Linux 2.6.22.19移植到S3C2410(GEC2410)
- 类google json基站定位接口
- mac命令行彩色设置
- 关于https
- 转Android 安全攻防(一):SEAndroid的编译