vim vi 及其相关插件的使用

GIMP-》linux下16位图查看工具

实用手册:130+ 提高开发效率的 vim 常用命令

http://www.cnblogs.com/lhb25/p/130-essential-vim-commands.html

vim tab设置为4个空格

http://blog.csdn.net/jiang1013nan/article/details/6298727

在.vimrc中添加以下代码后,重启vim即可实现按TAB产生4个空格:
set ts=4  (注:ts是tabstop的缩写,设TAB宽4个空格)
set expandtab

对于已保存的文件,可以使用下面的方法进行空格和TAB的替换:
TAB替换为空格:
:set ts=4
:set expandtab
:%retab!

空格替换为TAB:
:set ts=4
:set noexpandtab
:%retab!

加!是用于处理非空白字符之后的TAB,即所有的TAB,若不加!,则只处理行首的TAB。

请教一个vim的问题,如何把某个函数的所有行拷贝到新地方?

移动光标到函数的第一行
在命令模式下按下大写的V
移动光标到函数开始的那个{
按下%
再按下小写的y
这就复制了
移动光标到你要粘贴的地方 按下P

http://www.cppblog.com/darkdestiny/archive/2011/12/05/vim_plugin.html

vim插件:快速生成函数定义

http://blog.csdn.net/tsuliuchao/article/details/8131537

vim与复制,删除,粘贴,块操作以及快速替换功能

vim函数跳转技巧:

http://blog.sina.com.cn/s/blog_5674da320100h25a.html

Vim 配置详解:http://www.cnblogs.com/witcxc/archive/2011/12/28/2304704.html

vim 中OmniCppComplete的安装和使用 :

http://blog.csdn.net/duguteng/article/details/7417181

vimdiff的常用命令

★ 跳转到下一个diff点:

请使用 ]c 命令


跳转到前一个diff点:
请使用 [c
命令

如果在命令前加上数字的话,可以跳过一个或数个差异点,从而实现跳的更远。比如如果在位于第一个差异点的行输入"2]c",将越过下一个差异点,跳转到第
三个差异点。

★ 文件比较的最终目的之一就是合并,以消除差异。如果希望把一个差异点中当前文件的内容复制到另一个文件里,可以使用命令:
dp
(diff "put")
★ zo (folding open)打开折叠代码。之所以用z这个字母,是因为它看上去比较像折叠着的纸:)

★ zc (folding
close)重新折叠起来。

跳转到函数、变量定义处:
[+ctrl+i 跳转到函数、变量和#define
[+ctrl+d 跳转到#define处
ctrl+i 向前跳到前几次光标位置
ctrl+o 向后跳到后几次光标位置

函数体跳转:
[[
]]
[]
][
{}

1. 使用vim的比较模式打开两个文件:
   vim -d file1 file2

   vimdiff file1 file2

2. 如果已经打开了文件file1,再打开另一个文件file2进行比较:
   :vert diffsplit file2
如果没有用vert命令,diffsplit则会分上下两个窗口。

3. 如果已经用split方式打开了两个文件file1,file2,又想比较两文件的不同。
   分别在两个窗口里面输入命令:
   :diffthis

4. 如果更改了某个窗口的内容,vim又没有自动更新diff检查,可以使用如下命令更新:
   :diffupdate

5. 定位到不同点:
   [c     跳到前一个不同点
   ]c     跳到后一个不同点

6. 在窗口间跳转:
   ctrl-w w    跳到下一个窗口
   ctrl-w h    跳到左侧窗口
   ctrl-w l    跳到右侧窗口
   ctrl-w j    跳到下方的窗口
   ctrl-w k    跳到上方的窗口

7. 合并文档:
   dp          将差异点的当前文档内容应用到另一文档(diff put)
   do          将差异点的另一文档的内容拷贝到当前文档(diff get)

8. 上下文的展开和查看
    比较和合并文件的时候经常需要结合上下文来确定最终要采取的操作。Vimdiff 缺省是会把不同之处上下各 6 行的文本都显示出来以供参考。其他的相同的文本行被自动折叠。如果希望修改缺省的上下文行数为3行,可以这样设置:
    :set diffopt=context:3

复制几个字符

另起一行,来进行插入

o Open a new line below and insert.

O Open a new line above and insert.

全选

:%y a

★ 如果希望把另一个文件的内容复制到当前行中,可以使用命令:
do (diff
"get",之所以不用dg,是因为dg已经被另一个命令占用了,所以用了diff "obtain")

★ 在修改一个或两个文件之后,vimdiff会试图自动来重新比较文件,以便实时地反映比较结果。但是有时候会处理失败,这个时候就需要手工来刷新。
:diffupdate

cscope的主要功能是通过同的子命令"find"来实现的
"cscope find"的用法:
cs find c|d|e|f|g|i|s|t name

0 或 s 查找本 C 符号(可以跳过注释)
1 或 g 查找本定义
2 或 d 查找本函数调用的函数
3 或 c 查找调用本函数的函数
4 或 t 查找本字符串
6 或 e 查找本 egrep 模式
7 或 f 查找本文件
8 或 i 查找包含本文件的文件

在下面的QuickFix窗口中我们可以找到每一个编译错误, 同样你可以用鼠标点击每一条记录, 代码会马上自动跳转到错误处, 你还可以用下面的命令来跳转:

:cn        // 切换到下一个结果
:cp        // 切换到上一个结果

如果你经常使用这两个命令, 你还可以给他们设定快捷键, 比如在~/.vimrc中增加:

nmap <F6> :cn<cr>
nmap <F7> :cp<cr>

多文档编辑:

1. vim 文档1名 文档2名 ...

2. vim ,进入vim后使用:e 文档名 打开文档

3.多文档编辑的命令如下

:n          编辑下一个文档。
:2n        编辑下两个文档。
:N          编辑上一个文档。注意,该方法只能用于同时打开多个文档。
:e 文档名        这是在进入vim后,不离开 vim 的情形下打开其他文档。
:e# 或 Ctrl+ˆ      编辑上一个文档,用于两个文档相互交换编辑时使用。?# 代表的是编辑前一次编辑的文档
:files 或 :buffers 或 :ls     可以列出目前 缓冲区 中的所有文档。加号 + 表示 缓冲区已经被修改过了。#代表上一次编辑的文档,%是目前正在编辑中的文档
:b 文档名或编号      移至该文档。
:f  或 Ctrl+g     显示当前正在编辑的文档名称。
:f 檔名         改变编辑中的文档名。(file)

yingc@yingc:~/.vim/plugin$ vim-addons install omnicppcomplete
The program 'vim-addons' is currently not installed.  You can install it by typing:
sudo apt-get install vim-addon-manager
yingc@yingc:~/.vim/plugin$ sudo apt-get install vim-addon-manager

linux zip命令

zip -r myfile.zip ./*
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.

2.unzip
unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解压到 /home/sunny/
-o:不提示的情况下覆盖文件;
-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;

3.其他
zip -d myfile.zip smart.txt
删除压缩文件中smart.txt文件
zip -m myfile.zip ./rpm_info.txt
向压缩文件中myfile.zip中添加rpm_info.txt文件
-------------------------------------------------------------------------------

要使用 zip 来压缩文件,在 shell 提示下键入下面的命令:

zip -r filename.zip filesdir

在这个例子里,filename.zip 代表你创建的文件,filesdir 代表你想放置新 zip 文件的目录。-r 选项指定你想递归地(recursively)包括所有包括在 filesdir 目录中的文件。

要抽取 zip 文件的内容,键入以下命令:

unzip filename.zip

你可以使用 zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:

zip -r filename.zip file1 file2 file3 /usr/work/school

上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中。

一步步将vim改造成C/C++开发环境(IDE):

http://blog.chinaunix.net/uid-23089249-id-2855999.html

vim常用快捷键
%  跳转到配对的括号去
[[  跳转到当前或者上一代码块(函数定义、类定义等)的开头去(但要求代码块中'{'必须单独占一行)
][  跳转到当前代码块(函数定义、类定义等)的结尾去(但要求代码块中'{'必须单独占一行)
]]  跳转到下一代码块(函数定义、类定义等)的开头去(但要求代码块中'{'必须单独占一行)
[/  跳到注释开头(只对/* */注释有效)
]/ 跳到注释结尾(只对/* */注释有效)
gD  跳转到当前文件内标识符首次出现的位置,可用于跳转到全部变量的定义处;查找局部变量时,要是多个函数中定义了该局部变量,使用gD进行查找,找到的变量定义可能不是你需要的
gd 跳转到当前函数内标识符首次出现的位置,可用于跳转到局部变量的定义处
''  跳转到光标上次停靠的地方, 是两个', 而不是一个"
mx  设置书签,x只能是a-z的26个字母
`x  跳转到书签处("`"是1左边的键)
>  增加缩进,"x>"表示增加以下x行的缩进
<  减少缩进,"x<"表示减少以下x行的缩进

上一篇:Swift语言指南(六)--可选值


下一篇:[手把手教你] 用Swoft 搭建微服务(TCP RPC)