***********************************************
作者:Caesar
日期:2012-11-07
修改历史:2013-05-18:增加vim复制粘贴命令
作者:Caesar
日期:2012-11-07
修改历史:2013-05-18:增加vim复制粘贴命令
2013-10-25:增加vim命令介绍
2014-03-17:参考网友的配置
2017-07-10:增加一些常用命令
************************************************
************************************************
超强vim配置文件
运行截图
简易安装方法:
打开终端,执行下面的命令就自动安装好了:
wget https://raw.github.com/ma6174/vim/master/setup.sh -Oma6174_vim_setup.sh && bash ma6174_vim_setup.sh
或者自己手动安装:(以ubuntu为例)
- 安装vim
sudoapt-get install vim
- 安装ctags:
sudoapt-get install ctags
- 安装一些必备程序:
sudoapt-get install python-twisted xclip vim-gnome astylepython-setuptools
- python代码格式化工具:
sudoeasy_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 程序:
gitclone http://github.com/gmarik/vundle.git~/.vim/bundle/vundle
- 打开vim并执行bundle程序
:BundleInstall
- 重新打开vim即可看到效果
了解更多vim使用的小技巧:
查看更新日志:
另外:
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后,再点击鼠标左键也是可以的
Tlist 打开或者关闭当前文件的索引;
TlistSync立即在打开的索引窗口中定位当前的光标所在位置属于哪个函数或者结构定义中。
vim:这个是Linux下功能十分强大的编辑器,就不说了。
ctags:生成tag文件的命令,这个是其它工具的基础。
taglist:需要ctags的支撑,直接在左边列出函数列表,全局参数列表。
cppcomplete:需要ctags的支撑,可以补全类型或者函数名。
cscope:比较强大,可以对函数以及部分类型定义进行跳转,其实cscope是用来替代ctags功能的。
global:貌似和cscope,taglist功能一样,据说对于大型的工程表现不错。
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窗口
显示帮助
u
s
x
+
-
*
=
[[
]]
q