windows下gvim终于搞得跟ubuntu下差不多了
2011-10-22 14:31
246 查看
由于工作原因,我很多事情不得不在windows下完成。我在ubuntu下用vim用上瘾了之后,在windows下也装了个
gVim,这样我的很多习惯都能统一了。但是gVim有几个问题挺恶心的,我现在记下来以后或许用得着。
1、就是装了之后菜单栏的中文乱码。有一种方法是到安装目录里把中文的相关文件夹删了,只用英文菜单。后来
我发现直接安装7.3.46这个版本,没有乱码的问题,用的挺好的。
2、一些小配置的问题,直接贴配置也不需要解释了。
3、如何默认以tab的形式打开新文件而不是新窗口,并且可以用alt+n切换不同tab。这个搞定了就完全是ubuntu下的感觉了。
这个比较麻烦,容我细说:
要只以tab方式打开文件,其实就一个命令的问题:
这个在linux下很简单,在.bashrc下加上如下就不用每次敲了:
但是在windows下就恶心很多了,你得去改注册表:
这样之后,就可以以tab方式打开新文件了。接下来需要实现alt+n切换标签。很简单,在.vimrc上加上以下函数:
这样就OK了。
(以上解决方案和代码都来自网络)
gVim,这样我的很多习惯都能统一了。但是gVim有几个问题挺恶心的,我现在记下来以后或许用得着。
1、就是装了之后菜单栏的中文乱码。有一种方法是到安装目录里把中文的相关文件夹删了,只用英文菜单。后来
我发现直接安装7.3.46这个版本,没有乱码的问题,用的挺好的。
2、一些小配置的问题,直接贴配置也不需要解释了。
set nu set fileencodings=utf-8,GB2312 colorscheme desert set shiftwidth=4 set tabstop=4
3、如何默认以tab的形式打开新文件而不是新窗口,并且可以用alt+n切换不同tab。这个搞定了就完全是ubuntu下的感觉了。
这个比较麻烦,容我细说:
要只以tab方式打开文件,其实就一个命令的问题:
gvim --remote-tab-silent filename
这个在linux下很简单,在.bashrc下加上如下就不用每次敲了:
alias vim='gvim --remote-tab-silent' alias gvim='gvim --remote-tab-silent'
但是在windows下就恶心很多了,你得去改注册表:
windows 下要分2步: 1) 双击时打开标签页 修改注册表:/HKEY_CLASSES_ROOT/Applications/gvim.exe/shell/edit/command的值 C:\Program Files\Vim\vim70\gvim.exe -p --remote-tab-silent "%1" 2)鼠标右键时打开标签页 打开注册表,添加以下项: [HKEY_CLASSES_ROOT\*\]下添加Shell项 [HKEY_CLASSES_ROOT\*\Shell] 下添加Edit with &Vim项 [HKEY_CLASSES_ROOT\*\Shell\Edit with &Vim] 添加command项 [HKEY_CLASSES_ROOT\*\Shell\Edit with &Vim\command]修改默认值为"D:\Program Files\Vim\vim73\gvim.exe" -p --remote-tab-silent "%1"
这样之后,就可以以tab方式打开新文件了。接下来需要实现alt+n切换标签。很简单,在.vimrc上加上以下函数:
" 关于标签页的标题修改 " " 使用了自定义函数 GuiTabLabel() set showtabline=2 " always show tabs in gvim, but not vim set guitablabel=%{GuiTabLabel()}" " " 修改标签页的标题 " set up tab labels with tab number, buffer name, number of windows " function! GuiTabLabel()" let label = '' let bufnrlist = tabpagebuflist(v:lnum) " Add '+' if one of the buffers in the tab page is modified for bufnr in bufnrlist if getbufvar(bufnr, "&modified") let label = '+' break endif endfor " Append the tab number let label .= v:lnum.': ' " Append the buffer name let name = bufname(bufnrlist[tabpagewinnr(v:lnum) - 1]) if name == '' " give a name to no-name documents if &buftype=='quickfix' let name = '[Quickfix List]' else let name = '[No Name]' endif else " get only the file name let name = fnamemodify(name,":t") endif let label .= name " Append the number of windows in the tab page let wincount = tabpagewinnr(v:lnum, '$') return label . ' [' . wincount . ']' endfunction" " 让 gvim 支持 Alt+n 来切换标签页 function! BufPos_Initialize() for a in range(1,9) exe 'map <A-' . a . '> ' . a . 'gt' endfor endfunction autocmd VimEnter * call BufPos_Initialize() " " alt+左右键来移动标签 " nn <silent> <M-left> :if tabpagenr() == 1\|exe "tabm ".tabpagenr("$")\|el\|exe "tabm ".(tabpagenr()-2)\|en<CR> nn <silent> <M-right> :if tabpagenr() == tabpagenr("$")\|tabm 0\|el\|exe "tabm ".tabpagenr()\|en<CR>
这样就OK了。
(以上解决方案和代码都来自网络)
相关文章推荐
- windows下gvim终于搞得跟ubuntu下差不多了
- 终于用上了Ubuntu了-分享下-windows下如何安装Ubuntu
- GVIM 从 Windows(XP) 移到 Linux(Ubuntu)
- Gvim C++ IDE for windows XP (Ubuntu)
- ubuntu实现linux与windows的互相复制与粘贴
- [双系统]ubuntu下挂载Windows中wubi安装的ubuntu
- Ubuntu访问Windows共享文件夹
- Ubuntu下配置 Sftp实现windows 与 linux 文件交互
- windows装ubuntu双系统
- windows下gvim使用及常见命令
- ubuntu gedit 打开 windows 分区中txt 文件乱码
- Windows和Ubuntu双系统Ubuntu闪屏解决办法
- 在windows上安装ubuntu双系统教程
- windows下gvim使用vundle插件
- Ubuntu使用Windows下的conio.h
- Windows下面小工具pslist(终于部分原创了,呵呵)
- Ubuntu 14.04 使用VirtualBox 4.3.10 虚拟 Windows 7
- Windows 7硬盘安装Ubuntu系统
- Windows 7远程登录到VirtualBox安装的Ubuntu 12.04
- 终于摆脱windows能在纯净的linux开发了