linux vi刷新页面,vim的神级配置 - bubifengyun的个人页面 - OSCHINA - 中文开源技术交流社区...

有传言: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.com/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.com/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.net/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.com/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框架的代码。

附录

最终效果

编辑界面

55d73c4fea0328767693b5cf85c3d7f2.png

调试PHP,yii2框架的界面

585dea5d1bc9d2c7a1827b2cbb027d1d.png

更多vim插件的说明

为了更好的利用插件,可能需要对vim的安装重新配置,下面将介绍如何改进自动补全的clang-complete跟neocomplete做介绍。(待续20150724)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值