转自:http://blog.csdn.net/szu_tanglanting/article/details/17439005
个性vim的配置:
利用 :set all 来查看vimrc可以设置的参数
Vim的文字背景有颜色可以这样::nohl
在 vim 中先使用『 :files 』查看编辑资料有哪些?:n是选择哪一个开始编辑!
『 :sp filename』实现多窗口编辑 『[ctrl]+w+↑』及『[ctrl]+w+↓』 在两个窗口之间移动
vim常用技能:
1.一般打开一个文档进行编辑,但是有时需要两个文档排列进行编辑,即多窗口编辑:
split file2 file3 (同时打开多个文件进行编辑:上下排版) vsplit则是左右排版 利用:ctrl+w进行窗口之间的切换 : res(ize) num 例如::res 5,显示行数调整为5行
2.一个窗口开多个编辑窗口的时候也觉得布局太乱的时候可以利用一个terminal开出多个tab,然后在每个tab窗口中进行上面1所描述的样进行利用,(生成tab(ctrl+shift+T) 切换不同tab窗口用(ctrl+pgup/pgon))
转载:
vim多窗口使用技巧
1、打开多个窗口
打开多个窗口的命令以下几个:
横向切割窗口
:new+窗口名(保存后就是文件名)
:split+窗口名,也可以简写为:sp+窗口名
纵向切割窗口名
:vsplit+窗口名,也可以简写为:vsp+窗口名
2、关闭多窗口
可以用:q!,也可以使用:close,最后一个窗口不能使用close关闭。使用close只是暂时关闭窗口,其内容还在缓存中,只有使用q!、w!或x才能真能退出。
:tabc 关闭当前窗口
:tabo 关闭所有窗口
3、窗口切换
:ctrl+w+j/k,通过j/k可以上下切换,或者:ctrl+w加上下左右键,还可以通过快速双击ctrl+w依次切换窗口。
4、窗口大小调整
纵向调整
:ctrl+w + 纵向扩大(行数增加)
:ctrl+w - 纵向缩小 (行数减少)
:res(ize) num 例如::res 5,显示行数调整为5行
:res(ize)+num 把当前窗口高度增加num行
:res(ize)-num 把当前窗口高度减少num行
横向调整
:vertical res(ize) num 指定当前窗口为num列
:vertical res(ize)+num 把当前窗口增加num列
:vertical res(ize)-num 把当前窗口减少num列
5、给窗口重命名
:f file
6、vi打开多文件
vi a b c
:n 跳至下一个文件,也可以直接指定要跳的文件,如:n c,可以直接跳到c文件
:e# 回到刚才编辑的文件
7、文件浏览
:Ex 开启目录浏览器,可以浏览当前目录下的所有文件,并可以选择
:Sex 水平分割当前窗口,并在一个窗口中开启目录浏览器
:ls 显示当前buffer情况
8、vi与shell切换
:shell 可以在不关闭vi的情况下切换到shell命令行
:exit 从shell回到vi
9. vim下利用:ls :pwd直接看到文件名和文件所在路径
安装ctags:
1.从官方下载ctags安装包进行解压
$ tar -xzvf ctags-5.8.tar.gz
$ cd ctags-5.8
$ ./configure$
make$ sudo
make instal
ctags -R * //对于文件建立tags文件
ctags -t tagname //对于文件建立tags
ctr+] //函数跳转的快捷键(让处于光标的函数转到函数定义的地方)
安装taglist插件:(要先安装ctag)
1.官方下载解压
2.把doc ,plugin分别放入用户的~/.vim目录中
3.配置~/.vimrc
set syntax=on
"配色方案
colorscheme torte
" 去掉输入错误的提示声音
set noeb
" 在处理未保存或只读文件的时候,弹出确认
set confirm
" 自动缩进
set autoindent
set cindent
" 自动换行
set wrap
" 整词换行
set linebreak
" Tab键的宽度
set tabstop=4
" 统一缩进为4
set softtabstop=4
set shiftwidth=4
" 不要用空格代替制表符
set noexpandtab
" 在行和段开始处使用制表符
set smarttab
" 显示行号
set number
" 历史记录数
set history=1000
"禁止生成临时文件
set nobackup
set noswapfile
"搜索忽略大小写
set ignorecase
"搜索逐字符高亮
set hlsearch
set incsearch
"行内替换
set gdefault
"编码设置
set enc=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
"语言设置
set helplang=cn
set encoding=utf8
set langmenu=zh_CN.UTF-8
set imcmdline
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
" 设置字体。
set guifont=Liberation\Mono\ 12
"set guifont=Fixedsys\Excelsior\3.01\ 14
""""""""""""""""""""""""""""""
" Tag list (ctags) // add Taglist function
""""""""""""""""""""""""""""""
let Tlist_Show_One_File=1 "不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow=1 "如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Use_Right_Window=1 "在右侧窗口中显示taglist窗口
let Tlist_Auto_open=1 "如果你想在启动VIM后,自动打开taglist窗口
let Tlist_Show_Menu = 1
let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle<cr> ''安装WinManage插件后,这个是为了看目录而增加的
//安装 目录查看功能插件有两种:1.添加winManage插件 2.添加NERDTree插件(这种比较好)
增加winManage插件
接下来安装WinManage插件显示目录到http://www.vim.org/scripts/script.php?script_id=95下载插件,然后解压,
然后;sudo cp winmanager.txt /usr/share/vim/vim73/doc/
sudo cp winfileexplorer.vim
sudo cp winmanager.vim
sudo cp wintagexplorer.vim
然后在.vimrc中输入:
let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle<cr
其实上面的可以用下面的来代替
可以增加书树状的,用NERDTree插件更加直接
1.官方下载NERDTree解压
2.把doc,plugin文件放入~/.vim中
3.进行操作:
在vim环境中
:NERDTree
用ctr+w+h回到目录窗口
用ctr+w+l切换到显示代码窗口
由于ctags功能有限那么我们就利用cscope插件来补充:它可以看成是ctags的加强版:与ctags配合使用 (如果只是为了知道它的定义那么利用
ctags的快捷键ctr+],如果要知道被谁应用了的详细情况:利用cscope的 cs find c)
sudo apt-get install cscope
安装后在:~/.vimrc中加上
"add cscope
64 set cscopequickfix=s-,c-,d-,i-,t-,e-
对于一个工程如~/C/chat:
先建立索引
1.cd chat
2.cscope -Rbqk 建立冗余文件 cscope.....
vim导入cscope链接:
如::cs add ~/C/chat/cscope.out ~/C/chat/
用命令看是否已经链接了: :cs s
reset : 重新初始化所有连接。
用法 : cs reset
然后就用命令进行函数定义和引用情况的查找:
g c用的比较多:
scope的主要功能是通过同的子命令"find"来实现的
"cscope find"的用法:
cs find c|d|e|f|g|i|s|t name
0 或 s | 查找本 C 符号(可以跳过注释) |
1 或 g | 查找本定义 |
2 或 d | 查找本函数调用的函数 |
3 或 c | 查找调用本函数的函数 |
4 或 t | 查找本字符串 |
6 或 e | 查找本 egrep 模式 |
7 或 f | 查找本文件 |
8 或 i | 查找包含本文件的文件 |
:cw
如果自动跳转的位置你不满意, 想看其他的结果, 可以用下面的命令打开QuickFix窗口:
QuickFix窗口可以用在调错显示上:
如:在make后出现很多错误的时候:利用:cw可以很好看到