admin 管理员组文章数量: 887021
有传言:vim是编辑器之神,(xxx)是神之编辑器。意思就是说vim是编辑器中最好的,而一般的大神级别的人都是使用(xxx)这个编辑器。咱不是神人,就使用vim吧。该配置是从别处搞来的,并作了部分修改,在此向这么大一个群体表示感谢。
1. 下载
配置文件由于太大,只好在CSDN下载,下载链接在下方。最新版本压缩包下包含.vimrc文件和.vim文件夹。linux下,避免对原有配置造成,请先备份你~/下的.vimrc和.vim,把下载好的文件解压缩在~下即可,然后进入前期准备。
2. 前期准备
需要已经安装vim软件及ctags,cscope插件了。如果没有安装,
Debian系请
sudo apt-get install vim exuberant-ctags cscope
Redhat系请
sudo yum install vim ctags cscope ctags-etags
如果提示需要安装其他软件,请自行安装并在下面留言,谢谢。如果没有其他问题,现在就可以使用了。
参考这里,加入了对 python3 和 perl 的支持。
# cd /opt
# git clone https://github/vim/vim.git
# cd vim
# ./configure --with-features=huge \
--enable-multibyte \
--enable-rubyinterp=yes \
--enable-python3interp=yes \
--enable-perlinterp=yes
# make install
3. 部分操作示例
工作环境Deepin2014.3,vim7.4。设在目录~/sources下含有test1.c, test2.c, test3.c, test4.c等文件。
3.1 常用操作
常用操作最好的学习办法是找个vim的操作图作为桌面。
1. 跳转到sources文件夹。
cd ~/sources
2. 以标签栏的形式打开多个文件,弹出各个文件后,你可以像浏览器标签栏一样鼠标点击打开每个文件。 对于用 -p 打开的标签页,可以使用 gt,gT可以左切换右切换,也可以使用数字1,2,n,+gt.
例如你想切换到第5个标签页,就可以使用 5gt,意思是按下5,g,t键就可以了。
vim -p test1.c test2.c test3.c
如果你还想继续打开其他文件,是你已经在vim文件了,可以使用下面的命令。
:tabnew test4.c
3. 打开目录栏和变量栏。
vim命令模式下,按F8键会在左侧出现当前文件所在的目录栏。目录栏最上方提示了怎么操作,这里不在赘述。如果想回到文件栏,可以直接鼠标点击文件栏,也可以使用Ctrl+h,j,k,l等实现在栏里左右上下跳转。
vim命令模式下,先后按tb两个键会弹出变量栏。与目录栏类似。
4. 对于编辑,可以使用u,ctrl+r分别为撤销和反撤销。但是需要注意这个都是小写的。有次不小心按了大写键,导致U键删除了不少东西。取消大写键才实现的撤销。
5. 自动缩进排版。
通常根据语言特征使用自动缩进排版:在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是正整数)表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format。使用gg=G可对整篇代码进行排版。gg=G,该命令慎用。因为有些格式可能跟vim设置的不一致,所以最好只对部分行使用,避免不必要的格式不一致。
6. 折叠。
实现空格键折叠或打开相邻相同缩进的若干行代码,对于低层次的缩进会把高层次的缩进包含进去。类似目录那种形式。
7. 多行操作。
加入了https://github/terryma/vim-multiple-cursors的多行选择功能。下面说明多行选择的做法,翻译自该网址。比较关心的选择多个同样的单词,换成其他单词。以及在每行开头插入注释。更多说明,见上面的网址。
(7.1) 选择多个相同单词。插件默认的快捷键是Ctrl+n,在norml mode,选择要改变的一个单词,反复按Ctrl+n,就可以把他们都选择了。Ctrl+p向上取消选择,Ctrl+x放弃下一个。多选后,用c,s或者i,a等改变。ESC退出该模式。
(7.2) 多行加注释。原插件功能很强大,但是我只需要这个。鼠标选择多行,或者V进入视图模式选择。按Ctrl+n,加载多行插件,就可以相当于一行的模式了。
3.2 源码小项目的操作
由于配置加入了easytags插件,大项目中会严重降低vim的速度。如果该配置让你的vim变慢了,多半是easytags惹的祸,在~/.vim/bundle/文件夹下,移除vim-easytags和vim-misc两文件夹,并注释掉~/.vimrc文件里easytags的配置即可。
同上假设工作环境。
cd ~/sources
ctags ./
vim -p test*.c
本配置easytags会在本级目录和逐步查询上级目录中找tags,并在你保存的时候自动更新tags(异步更新,可能会延迟个几秒钟才可以使用跳转)。如果在项目根目录下保存了tags,相当于项目只有一个tags,很方便操作。如果需要其他样式,可以到easytags的网页上按需配置。现在就可以方便的按ctrl+],和ctrl+t来回跳转啦。如果多个tags被找到,可以自行选择。使用YII开发的时候,变量同名的太多,建议修改easytags的配置。这个没有更好的解决办法,如果哪位有,谢谢跟我联系 一下。
4. 常见的小问题
4.1 putty的问题
1. windows下的putty的目录栏有问题。双击图标一直打不开。解决方案是加入多字节支持。如下。
cd vim-7.3-src # 转移到源代码处,打算重新安装
./configure --enable-multibyte # 支持多字节,当然要支持中文。如果在中文环境下,这个应该不用设置了吧。
make && make install # 重新安装
如果需要加入对中文乱码的支持,可以修改.vimrc文件里的set fileencodings=gb2312,gb18030,utf-8。需要说明的是,gb18030是非常大的一个集合了,应该可以确保打开不乱码了。参考自:http://www.ltesting/html/71/n-128471.html
另外,putty 复制,在 windows 和 putty 相互复制。在设置里,window/Selection/Control use of Mouse/Action of mouse buttons,选择第一个Windows[...],这样就可以在windows 复制了,右击选择粘贴,就可以把代码复制过来。
2. putty 小键盘事件。输入小键盘的东西,常常乱搞一气。建议是putty->Terminal->Features->disable application keypad mode。就好了,这个是从别处扒来的,忘记网址了,谢谢先。
3. putty 死机事件。由于windows的习惯,保存用Ctrl+S,而Ctrl+S是linux下的锁屏快捷键,就悲剧了。还好按下Ctrl+Q就可以解锁了。参 考:http://www.leonzhang/2010/06/09/vim_hangu_by_ctrl_s/
4.2 vim跟外界的文本复制问题
1. windows向putty中vim复制文本。
从windows复制东西过来,输入putty,可能导致有些字符被当做操作符了,复制失败。可以试试在vim命令模式下输入:set paste,可粘贴就纯文本,不需要复制则:set nopaste。参考这里。
2. Deepin下终端vim跟外界互相复制文本。
这个需要vim中(+粘贴板)的支持,只有安装gtk或者gnome版的vim才可以。
sudo apt-get install vim-gnome
(2.1) vim->外界。按V进入视图模式,或者之间用鼠标选中要复制的内容,按"+y(就是依次按下双引号,加号和y),就可以复制到系统粘贴板里,在其他地方使用。
(2.2) 外界->vim。在命令行模式下找到需要粘贴的地方,按"+p(就是依次按下双引号,加号和p),就可以了。从其他地方到vim复制比较方便,也可以直接在插入模式,Ctrl+Shift+V。参考这里。
5. 关于配置更新
Bundle 'tpope/vim-fugitive'
Bundle 'Lokaltog/vim-easymotion'
其中 引号斜杠前面的是作者名称,后面是插件名称。
Vundle分为三类:
在Github vim-scripts 用户下的repos,只需要写出repos名称
在Github其他用户下的repos, 需要写出"用户名/repos名"
不在Github上的插件,需要写出git全路径
打开一个vim, 运行":BundleInstall"或者在命令行运行"vim +BundleInstall +qall",安装完成后插件就能用了。
其它常用命令:
更新插件":BundleUpdate"
清除不再使用的插件":BundleClean"
列出所有插件":BundleList"
查找插件":BundleSearch"
6. 对PHP调试的支持
这个需要根据这里配置其他软件。本文已经加入了DBGp,可以直接调试YII2等php框架的代码。
附录
最终效果
编辑界面
调试PHP,yii2框架的界面
更多vim插件的说明
为了更好的利用插件,可能需要对vim的安装重新配置,下面将介绍如何改进自动补全的clang-complete跟neocomplete做介绍。(待续20150724)
版权声明:本文标题:linux vi刷新页面,vim的神级配置 - bubifengyun的个人页面 - OSCHINA - 中文开源技术交流社区... 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1715706687h643418.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论