ubuntu 下vim安装、配置和插件的添加使用
2016-06-14 16:46
585 查看
超强vim配置文件
运行截图
简易安装方法:
打开终端,执行下面的命令就自动安装好了:wget https://raw.github.com/ma6174/vim/master/setup.sh -O ma6174_vim_setup.sh && bash ma6174_vim_setup.sh
或者自己手动安装:(以ubuntu为例)
安装vim sudo apt-get install vim
安装ctags:
sudo apt-get install ctags
安装一些必备程序:
sudo apt-get install python-twisted xclip vim-gnome astyle python-setuptools
python代码格式化工具:
sudo easy_install -ZU autopep8
sudo ln -s /usr/bin/ctags /usr/local/bin/ctags
clone配置文件:
cd ~/ && git clone git://github.com/ma6174/vim.git
mv ~/vim ~/.vim
mv ~/.vim/.vimrc ~/
clone bundle 程序:
git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
打开vim并执行bundle程序
:BundleInstall
重新打开vim即可看到效果
了解更多vim使用的小技巧:
tips.md
查看更新日志:
update_log.md
另外:vim常用命令
一、显示行号信息
即时命令
:set nu
永久命令
echo “set nu”>>~/.vimrc
]p 有缩进的粘贴,vim会自动调节代码的缩进
gg 跳至文件的第一行
G 跳至文件的末尾
nG,表示移动光标至文章的第n行行首。
set
mouse =v //////增加鼠标复制黏贴
:set mouse-=a //设置paste
复制(yank)
命令模式下
yy或 Y 复制光标所在整行
y^ 复制到光标所在行行首,不包括光标位置字符
y$ 复制到光标所在行行尾,包括光标位置字符
yw 复制一个单词,光标必须在单词首部
yG 复制到文件尾
y1G 复制到文件首
nyy 复制光标所在行开始的n行
粘贴
命令模式下
p (小写)粘贴到光标后
P (大写)粘贴到光标前
删除
命令模式下
x (小写)删除光标前一个字符
X (大写)删除光标后一个字符
dd (小写)删除光标所在整行
dw (小写)删除光标所在处一个单词
dG 删除光标所在整行到文件尾
dgg 删除光标所在整行到文件首
D (大写)删除到行尾,包含光标处的字符
d$ 与D效果相同
d0 删除到行首,不包含光标处的字符
d^ 与d0效果相同
:n1,n2d 编辑模式下,删除n1-n2行
撤销
命令模式下
u (小写)无限次保存前撤销(大概500多次)
ctrl+r redo
四、进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次进行编辑
:%s/vivian/sky/g
替换当前行所有 vivian 为 sky
:sp
///水平分屏split(sp)
:vs
/// 垂直分屏vsplit(vs)
vim配置主要有以下优点:
1.按F5可以直接编译并执行C、C++、java代码以及执行shell脚本,按“F8”可进行C、C++代码的调试
2.自动插入文件头 ,新建C、C++源文件时自动插入表头:包括文件名、作者、联系方式、建立时间等,读者可根据需求自行更改
3.映射“Ctrl + A”为全选并复制快捷键,方便复制代码
4.按“F2”可以直接消除代码中的空行
5.“F3”可列出当前目录文件,打开树状文件目录
6. 支持鼠标选择、方向键移动
7. 代码高亮,自动缩进,显示行号,显示状态行
8.按“Ctrl + P”可自动补全
9.[]、{}、()、""、' '等都自动补全
Vim的辅助工具使用:
Ctages& Taglist的使用
然后去你的源码目录, 如果你的源码是多层的目录, 就去最上层的目录, 在该目录下运行命令: ctags -R
(1)此时按下, ctrl+] 光标会自动跳到函数的定义处
按ctrl+o, 这样又跳回到函数被调用的地方了
按下ctrl+w后,再点击鼠标左键也是可以的
(2)
Tlist 打开或者关闭当前文件的索引;
TlistSync 立即在打开的索引窗口中定位当前的光标所在位置属于哪个函数或者结构定义中。
vim:这个是Linux下功能十分强大的编辑器,就不说了。
ctags:生成tag文件的命令,这个是其它工具的基础。
taglist:需要ctags的支撑,直接在左边列出函数列表,全局参数列表。
cppcomplete:需要ctags的支撑,可以补全类型或者函数名。
cscope:比较强大,可以对函数以及部分类型定义进行跳转,其实cscope是用来替代ctags功能的。
global:貌似和cscope,taglist功能一样,据说对于大型的工程表现不错。
(3)
Ctrl+R //切换寻根模式
o 在一个新打开的窗口中显示光标下tag
显示光标下tag的原型定义
u 更新taglist窗口中的tag
s 更改排序方式,在按名字排序和按出现顺序排序间切换
x taglist窗口放大和缩小,方便查看较长的tag
+ 打开一个折叠,同zo
- 将tag折叠起来,同zc
* 打开所有的折叠,同zR
= 将所有tag折叠起来,同zM
[[ 跳到前一个文件
]] 跳到后一个文件
q 关闭taglist窗口
显示帮助
相关文章推荐
- android自定义控件(一) 入门
- Android 无限循环ViewPager报错跳坑。
- Activiti工作流简单入门
- 7-115 家族性格遗传(纯虚函数)
- ASP.NET vs MVC vs WebForms
- CSS +DIV的简单表格代码
- iOS开发——CocoaPods安装与使用
- RecyclerView的使用
- 【杭电oj】2087 - 剪花布条
- opensips安装
- ACdream 1217 Cracking' RSA(高斯消元 + 大数)
- [Training Video - 1] [Selenium Basics] [What is Selenium IDE,RC,Webdriver, TestNG, Junit And Ant]
- secureCRT连不上虚拟机上的ubuntu
- delphi GBK 以UTF-8的格式URLENCODE编码
- C# 中静态调用C++dll 和C# 中动态调用C++dll
- FragmentTabHost类实现android中Fragment的动态加载
- SQL Server数据库大型应用解决方案总结
- Leetcode 69 Sqrt(x) 二分查找(二分答案)
- 自定义吐司
- 堆排序(C++实现)