vim 基础命令<二>

来源:互联网 发布:淘宝开店身份证泄露 编辑:程序博客网 时间:2024/05/16 01:38
/*************************定制你的vim************************/
05.1 vimrc文件


1.vim在启动时会读取vimrc文件
如果已经有vimrc文件,对于不同的系统对应的配置文件也不同,通常是用edit命令来打开
unix 和 macintosh系统而言通常是在 ~/.vimrc
MS-DOS和MS-Windows来说可以从下面文件中选择一个:$HOME/_vimrc $VIM/_vimrc
2.如果没有vimrc文件,可以使用:version命令。
3.vimrc文件内容:vimrc文件里可以包含任何你可以在冒行命令行上使用的命令,但是注意不需要再带冒号。
set showcmd在vim窗口的右下角显示一个完整的命令已经完成的部分。
map Q gp:该命令定义了一个键映射。
:map命令会列出当前已定义的映射。
4.添加一个plugin
vim的功能可以通过向它添加plugin得以扩展。所谓plugin不过是一个vim会自动载入执行的脚本。把一个脚本放入你的plugin目录就可以了。
plugin基本上分为两类:
全局的:用于所有文件。
专用于某类型文件的:只用于特定类型的一类文件。
全局的plugin:当你启动vim时,它会载入一些全局的plugin,你不必额外地做任何事情,这些plugin定义了使用率很高的一些功能,但它们是以一个vim脚本的形式而不是通过内建于vim可执行文件内提供。
你可以通过添加一个全局plugin来获得额外的功能,1.得到这个plugin文件。2.把它放到指定的目录下。
(1).怎样得到一个全局的plugin文件
@有一些随vim一起发行;
@从网上下载:http://www.vim.org.
@有时候也张贴在vim的maillist中;
@可以自己写;
(2).使用一个全局的plugin
@根据不同的系统拷贝到相应的文件目录下。
(3).开启plugin应用:filetype plugin on
5.如果你想要查找一个选项可以使用:options。
6.vim通常会把超出当前显示窗口显示宽度的行折到下一行显示。这样你还是可以看到整行的内容,控制长行是否折到下一行显示的命令是:set nowrap
7.保证光标移动到某字符上时,会显示左右10个字符的上下文set sidescroll=10。
8.set cmdheight=n,用于在窗口底部留下几行来显示相关的信息。


/**********************使用语法高亮******************************/
终端上颜色代码0表示暗色,1表示亮色,而2位数字的颜色代码中十位数字4表示背景颜色,3表示前景色,个位数0表示黑色,1为红,2为绿,3黄,4蓝,5紫,6青,7白。以;分隔不同的项,m结束一个定义,
06.1-------打开色彩
:syntax enable
---看不到色彩可能的原因:
1.你的终端不支持彩色显示
2.确保$TERM变量设置正确。
set filetype:查看文件是用的什么语言。
set filetype=xxx:手工指定该文件的类型。
要知道一共有哪些文件类型,可以查看$VIMRUNTIME/syntax目录
---当着色的文本读起来很费劲时
set background=dark 使用暗色
set background=light 使用亮色背景
同时要确保这行在syntax enable前面,或者在设置了background之后使用syntax reset
---上下滚动时颜色有误
稍往回滚动几行
---不同的颜色
colorscheme evening:evening 是颜色方案的名字。
---让注释变为绿色
highlight Comment ctermfg=green guifg=green.
---有色或无色
syntax off
---手动控制颜色
syntax manual
set syntax=ON
06.5彩色打印
在MS-Windows版本的vim中你可以使用 hardcopy
把当前文件转到HTML格式使用
source $VIMRUNT/syntax/2html.vim


/*****************编辑多个文件窗口**********************************/
07.1编辑另外一个文件
edit filename
edit! filename
hide edit filename
该命令会关闭当前正在编辑的文件同时打开另外一个文件,如果当前文件修改完后没有保存,使用该命令的时候就会报错,对于vim的报错,每个报错的信息前面都有一个ID,用来标志的是什么错误,用户可以使用help ID 来查看错误的原因。
07.2文件列表
vim filename1 filename2 filename3 .. filenamen
默认打开打一个filename1,完成这个命令后可以使用next来选择下一个文件,但是当前文件必须要保存,否则就会报错,当然你可以使用下面的这些命令,next!,wnext.
args:用来查看当前打开了哪些文件。
要回到前面一个文件,使用previous,wprevious
要移到最后一个文件,使用last
要移到第一个文件,使用first不过没有wlast,和wfirst
自动存盘:set autowrite
编辑另外一个文件列表
args filename1 filename2 filename3 ...filenamen
CTRL ^:在两个文件之间切换。
07.4备份
set backup
备份文件时在原来的文件后面增加一个~,如果你不喜欢这种备份的后缀,你可以使用set backupext=.bak,将生成一个以指定后缀的备份文件。还有一个选择项可以选择你要备份的文件的目录backupdir.
保存原始版本
set patchmode=.orig
使用寄存器
如果你要从一个文件中复制出好几块独立的文本到另外一个文件中去,如果使用P命令,则需要多次切换要处理的两个文件。使用寄存器的话可以一次性将要处理的文件一次性处理。xy (x是寄存器的名称,可以使26个字母来标记)
文件中追加内容
write >> filename
要把多行文本收集到一起写入一个文件,这将会把当前的文件内容追加到filename中。
07.6查看文件
查看文件,下面是以只读的方式来打开vim
vim -R file
view file
如果想强制性地避免对文件进行修改
vim -M file
可以去掉这层保护,通过以下命令
set modifiable
set write
07.7更改文件名
edit filename1
saveas filename2
打开filename1进行编辑,编辑完成之后将名字修改为filename2然后进行保存。
file filename
如果你想改变当前正在编辑的文件名,但是不想保存该文件,你可以使用上面的命令。


/********************************分隔窗口**********************************/
同时显示两个不同的文件,或者同时查看同一个文件的两个不同位置,或者是同步显示两个文件的不同之处。所有这些都可以通过分隔窗口来实现。
8.1分隔一个窗口
split:该命令是将屏幕分隔成上下两个窗口,并将光标定位在上面那个窗口。
CTRL W w命令可以切换当前的活动窗口。
关闭窗口:close,close可以阻止你关闭最后一个vim
关闭当前窗口外的其它窗口:only
8.2为另外一个文件分隔出一个窗口
split filename
如果要打开一个新窗口并开始编辑一个空的缓冲区,使用命令
new在没有保存之前这里边的文件的颜色都是白色。只有当你使用了saveas时才可以做到。
8.3窗口的大小
split还可以接受一个参数,如果指定了这个参数的话,它将会作为新打开窗口的高度。这个高度的单位是行。使用的格式为
(number)split filename
对于已经打开的窗口改变其高度的方法有多种,如CTRL w + 和 CTRL w -
8.4垂直分隔
如果要让新窗口位于当前窗口的左边使用vsplit指令
对于vnew同样和前面的命令的使用相似。
8.5移动窗口
CTRL W H
CTRL W J
CTRL W L
CTRL W K
8.6针对所有窗口操作的命令
退出命令:qall
保存命令:wall
为每一个文件打开一个窗口
vim -o filename1 filename2 filename3上下格式显示
vim -O filename1 filename2 filename3左右格式显示
8.7使用vimdiff查看不同
vimdiff filename1 filename2
折叠的栏位
你可以使用鼠标在当前比较的文件的前面点击一下就可以将折叠的行打开来,再点击一下执行相反方向的操作。
如果没有鼠标你可以使用命令也可以解决这个问题如zo用来展开当前的折叠行,使用zc再把他们折叠起来
运行VIM后比较不同
edit filename1
vertical diffsplit filename1
同步滚动
set noscrollbind
跳转到不同之处
]c以及[c
消除差异
diffupdate
将高亮起来的文件从一个窗口移到另外一个窗口。dp
8.8其它
8.9页签
页签则是将当前的打开的多个文档以最大化放在桌面上,通过gt来切换他们,执行gt就好像翻页一样。

0 0