Vim笔记
手册分为两部分:
1、用户手册 面向任务的使用说明书,由简入繁,可以像书一样读
2、参考手册: 针对某一主题的相关介绍,描述vim的每一个命令的详细资料
参考书册包含以下几个主题:
一般主题 基本编辑 高级编辑 特殊问题 GUI 各种接口 版本差别 特定系统相关 标准插件 本地附加文档
30分钟参考教程:vimtutor
quickref 总揽最常用的命令
书籍推荐 VIM-VI Improved 作者:Steve Oualline 出版社:New Riders
Learning the Vi Editor 作者:Linda Lamb 出版社: O'Reilly & Associates Inc.
参考手册内容:
一般主题:
intro.txt 介绍
help.txt 总揽第一页的东西
index.txt 以字母顺序的命令索引
help-tags.txt 可跳转的所有标签索引
howto.txt 介绍一些小的主题,
基本编辑:
starting 启动vim
edit-files 编辑文件
tutor学习(一共八讲)
1 移动光标 退出、删除、插入
2、删除类命令
3、置入类命令、
4、定位和文件状态
5、执行外部命令、保存文件、选择性保存命令
6、打开类命令、光标后插入命令
7、在线帮助系统 :help 或者 F1
8、 创建一个启动脚本
相关笔记:
移动光标: h j k l
C-] 跳转到一个主题
C-T 调回,C-O 重复则继续向后 C—右击跳到原来的地方
:help args 跳转到任何的帮助主题
:help (无) 普通模式命令
:help v_ 可视模式命令
:help i_ 插入模式命令
:help : 命令行模式命令
:help c_ 命令行编辑
:help - 命令参数
:help word 接着键入 C—D查看匹配word的帮助主题
set showmode 显示当前模式
快速参考指南:
左右动作:
F1命令,进入总揽。。大纲
dw删除一个单词、字
d$ 删除重当前光标到句末
[number]d object / d [number] object
(w 单词、字,包括空格,e不包括空格,$从当前位置直到行末)
欲撤销一行中所做的改动,请输入:U
欲撤销以前的撤销命令,恢复以前的操作结果,请输入CTRL-R
p 将最后一次删除的内容之余光标之后
替换命令 r ,R 连续替换多个字符。
cw 替换单词,并且进入插入状态。
[number] c object / c [number] object 更改类指令
Ctrl-g 显示当前编辑文件中的光标所在行位置已经文件状态信息
行号Shift-G 直接跳转到文件中的某一指定行
/ 搜索类命令 n 重复搜索 N 方向搜索 ?逆向搜索
% 查找匹配的括号
替换命令:[range]s/src/dst/g[i]
range表示查找的范围,range 是命令执行范围的指定,可以使用百分号(%)表示所有行,使用点(.)表示当前行,使用美元符号($)表示最后一行。还可以使用行号来指定范围,如10,30,表示第10到30行之间。
src、dst是查找与替换的两个字符串,可以使用正则表达式代替。
g或i是修饰符,g表示对范围内所有的字符串进行替换;i表示查找时忽略大小写。
:#,#s/old/new/g 搜索替换,#代表行号
:s/old/new 一行内替换一个字符串
:s/old/new/g 一行内替换所有字符串
:#,#s/old/new/g 两行间替换所有字符串
:%s/old/new/g 全文替换所有字符串
:%s/old/new/gc 全文替换所有字符串,并需要确认
:#,# w FILENAME 选择性保存两个行号之间的文件
:r FILENAME 提取和合并文件
o 将在光标的下方打开新的一行,并进入插入模式 大写的话在光标上方打开新的一行
C-R 重做前面的动作
U 行撤销
a 将在光标之后插入文本, A 将在行末插入文本。
set ic 设置忽略大小写选项
set hls is (既设置hlsearch、incsearch 高亮、递增搜索)
:edit $VIM/_vimrc edit ~/.vimrc 编辑启动脚本
:read $VIMRUNTIME/vimrc_example.vim 导入范例文本
:write 保存文件
ZZ 保存文件并且退出
:q! 放弃修改并且退出
:e! 可以重新装载原来的文件
:help index 所有命令的帮助索引
:help E37 错误号的相关帮助
vim的六种模式:
普通模式、
可视模式、
选择模式、
插入模式、
命令行模式、
Ex模式
vim以十六进制查看文本:
:%!xxd ---->切换到十六进制显示
:%!xxd -r ---->切回文本方式显示
配置笔记:
1、插件
日历
在~/.vim/plugin目录中添加calendar.vim
正常模式下键入/caL显示日历,光标在该窗口时,用左右箭头显示前后月份,t回到今天,q关闭日历窗口。
/cal在左边显示,:Calendar和cal相似,但是后面可以跟一个参数表示月份,两个参数表示年份和月份。
2、语法高亮
syntax enable
syntax on
colorscheme desert "配色
"========================================================
" Highlight All Function
"========================================================
syn match cFunction "/<[a-zA-Z_][a-zA-Z_0-9]*/>[^()]*)("me=e-2
syn match cFunction "/<[a-zA-Z_][a-zA-Z_0-9]*/>/s*("me=e-1
hi cFunction gui=NONE guifg=#B5A1FF
"========================================================
" Highlight All Math Operator
"========================================================
" C math operators
syn match cMathOperator display "[-+/*/%=]"
" C pointer operators
syn match cPointerOperator display "->/|/."
" C logical operators - boolean results
syn match cLogicalOperator display "[!<>]=/="
syn match cLogicalOperator display "=="
" C bit operators
syn match cBinaryOperator display "/(&/||/|/^/|<</|>>/)=/="
syn match cBinaryOperator display "/~"
syn match cBinaryOperatorError display "/~="
" More C logical operators - highlight in preference to binary
syn match cLogicalOperator display "&&/|||"
syn match cLogicalOperatorError display "/(&&/|||/)="
" Math Operator
hi cMathOperator guifg=#3EFFE2
hi cPointerOperator guifg=#3EFFE2
hi cLogicalOperator guifg=#3EFFE2
hi cBinaryOperator guifg=#3EFFE2
hi cBinaryOperatorError guifg=#3EFFE2
hi cLogicalOperator guifg=#3EFFE2
hi cLogicalOperatorError guifg=#3EFFE2