vim 学习纪要 -- 自己动手搭建IDE
常用配置文件内容
set nocompatible ??? ??? "关闭 vi 兼容模式
set nu??? ??? ??? ??? ??? "显示行号
colorscheme desert ??? ??? "设定配色方案
syntax enable
syntax on??? ???
set nobackup??????????????? "覆盖文件时不备份
set autochdir?????????????? "自动切换当前目录为当前文件所在的目录
set magic?????????????????? "显示括号配对情况
set laststatus=2??????????? "显示状态栏 (默认值为 1, 无法显示状态栏)
set tabstop=4??? ??? ??? ??? "设置tab制表符为4个空格
set autoindent??? ??? ??? ??? "自动对齐
set showtabline=2?????????? "显示tab标签名称(1 为不显示)
set ignorecase ??? ??? ??? "忽略大小写(ic)
set noignorecase ??? ??? "不忽略大小写(noic)
set smartindent "开启新行时使用智能自动缩进
set smartindent shiftwidth=4 "C语言自动缩进,缩进值为4个字符宽度
set ruler? "显示光标行列信息
set list "显示制表符
filetype on "检测文件的类型
set history=1000 "记录历史的行数
set showmatch??? "设置匹配模式,输入左括号会出现右括号
"修改文件自动备份
if has("vms")
??? set nobackup
else
??? set backup
endif
多文件操作
vim -o file ... 同时打开多个文件, ^w + j|down 向下;^w + k|up 向上
:split file ... 在编辑器中打开多个文件,如果不带参数则对当前文件分割
进阶操作
1. 标记
:marks列出所有标记,m 做标记,' 移动到标记的行首,` 移动到标记的光标位置
m{a-z}:在当前光标的位置标记一个书签,名字为 a-z 的单个字母,名字只能是小写字母
`a 到书签a处,'a 移动到书签a处的行首
`. 上上次编辑文件的地方
2. 移动光标
0 行首,$ 行末,^ 行首第一个字母;
gg 文章头(仅vim),G 文章尾;#l 移到行第#列,b 上个字开头
e 向前移至单词尾,E 同e 但忽略标点;w 向前移至单词首,W 同w 但忽略标点
ctrl + b 屏幕向后移动一页,ctrl + f 屏幕向前移动一页
ctrl + u 屏幕向后移动半页,ctrl + d 屏幕向前移动半页
#G 移动光标至文章的第#行行首,ctrl + g 列出光标所在行的行号
#$ 移动光标至屏幕的第#行行末
H? 光标移动到当前屏幕的行首,#H 移到第#行首
dH 删除从光标当前所在行至所显示屏幕首行的全部内容
M? 光标移动到当前屏幕中间行的行首
dM 删除从光标当前所在行至屏幕中间行的全部内容
L? 光标移动到当前屏幕最底行的行首,#L 移到第#行首(从低向上数)
dL 删除从光标当前所在行至屏幕最底行的全部内容
( 移动光标到上一个句子,) 移动光标到下一个句子
* 读取光标处的字符串,并且移动光标到它再次出现的地方
% 在成对的括号等符号间移动,将光标放到任意符号上,按%
3. 切换大小写gu/gU
gg gu G 从头到尾切换成小写,gg gU G从头到尾切换成大写
H gu G 从屏幕头到文件尾切换成小写
H gu L 从屏幕头到屏幕尾切换成小写
只转化某个单词
gu[#]w ,gu[#]e,gU[#]w,gU[#]e
转换几行的大小写
#gu/#gU 从光标所在行往下再数#行都进行转换
gU0? 从光标所在位置到行首,都变为大写
gU$? 从光标所在位置到行尾,都变为大写
gUG? 从光标所在位置到文章最后一个字符,都变为大写
gU1G 从光标所在位置到文章第一个字符,都变为大写
4. 关键词自动完成
只需要输入开始几个字母,按C-N或C-P
5.多重剪贴板(使用寄存器的命令为双引号")
:reg 列出当前定义的所有寄存器名和它们的内容
使用小写字母来定义寄存器
"kyy 拷贝当前行到寄存器 k
"kp? 粘贴寄存器 k 里面的内容
?
6. 打开页签
:tabnew file
:tabedit file
:tabfind
:tabdo
:tabclose
:tabfirst,tablast
:tabNext # 切换到第 # 个标签
:tabmove # 将当前页签拖到第#个位置
疑难问题:
1. Press ENTER or type command to continue 为何出现
:messages 查看问题详情
Messages maintainer: Bram Moolenaar <Bram@vim.org>
Error detected while processing D:\Program Files (x86)\_vimrc:
line??? 8:
E484: Can't open file D:\Program Files (x86)\vim73\syntax\syntax.vim
line??? 9:
E484: Can't open file D:\Program Files (x86)\vim73\syntax\syntax.vim
"getturbogears.py" [unix] 444L, 16284C
2. colorscheme desert ??? ??? "设定配色方案
可能找不到配色文件,使用:messages查看,从http://hans.fugal.net/vim/colors/desert.html下载此文件放到
vim安装目录下的\colors\desert.vim 中
" Maintainer: Hans Fugal <hans at fugal.net>?
" Maximize gvim window.