从无到有学习vim开发环境搭建
vi (http://baike.baidu.com/view/908054.htm)
vim (http://baike.baidu.com/subview/113188/9338173.htm)
[esc|i|:] 模式切换
插入模式
i:在当前字符的左边插入
I:在当前行首插入
a:在当前字符的右边插入
A:在当前行尾插入
o:在当前行下面插入一个新行
O:在当前行上面插入一个新行
命令模式
[h]、[j]、[k]、[l] 左 下 右 上
v 进入行模式,V 进入列模式 , ~ 切换大小写,
. 重复上一次命令
撤销更改
u 撤销,ctrl + r 恢复撤销的更改
删除
D 从光标处删除至行尾,dd 删除一行,dw 删除一个单词,
x 删除光标后一个字符,#x 删除光标后第#个字符
X 删除光标前一个字符,#X 删除光标前第#个字符
dj 删除至下一行,dk 删除至上一行,d^ 删除到行首,d$删除到行尾
替换
r 替换光标所在处的字符,R替换光标所到之处的字符,直到按esc为止
更改
cw 更改光标所在处的字到字尾处,c#w表示更改#个字
剪切且进入插入模式 c
c$ 剪切到行末
复制与粘贴
yy 复制一行,yw 复制一个单词;p 在当前光标后粘贴,P 在当前光标前粘贴
#yw 复制#个字到缓冲区,#yy 拷贝从光标所在的该行“往下数”#行文字
底行模式
w filename , wq 存盘并退出 , q! 退出不存盘,x 保存并退出
# 跳转到第#行
搜索
/ {字符串} 回车 搜索,n 查找下一个,N 查找上一个
? {字符串} ,同/ 但是是反方向
s /from/to/g 查找并替换
搜索或者替换的时候偶尔忽略大小写,加 \c,如 /naa\c
配置文件
1. 配置文件未知 :version 得到echo $VIM , echo $HOME 从而定位到配置文件
2. $VIM\_vimrc 文件
3. vim -u file 指定配置文件;vim -u NORC不读取任何配置文件
4. 配置文件中使用 " 作为注释符号
常用配置文件内容
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=4 "显示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 里面的内容
浏览 1892 次
锁定老帖子 主题:vim 学习纪要 -- 自己动手搭建IDE
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2013-12-24
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |