vim

来源:互联网 发布:加大码女装胖人服装淘宝网 编辑:程序博客网 时间:2024/05/17 08:00
复制:yy,  nyy
1、打开一个文件,在该文件下复制几行到另一个文件(如到test.txt),会覆盖test.txt中的内容
10,100w!test.txt, 注:复制第10行到100行的内容到test.txt中,并覆盖test.txt中的内容
2、在该文件下复制几行到另一个文件,但不会覆盖原内容,即追加
10,100w!>>test.txt, 注:复制10行到100行的内容追加到test.txt的结尾
输入从第几行到第几行 后输入要粘贴的位置如复制第10行到第100行的内容并粘贴到200行:10,100 copy 200, 或者 10,100 co 200
剪切:3dd, p   或者: 1, 3 m 20

有时候不想费劲看多少行或复制大量行时,可以使用标签来替代
光标移到起始行,输入ma
光标移到结束行,输入mb
光标移到粘贴行,输入mc
然后 :'a,'b co 'c 把 co 改成 m 就成剪切了
要删除多行的话,可以用 :5, 9 de
Ctrl-f 即 PageDown 翻页。
Crtl-b 即 PageUp 翻页。
zf 折叠, zo展开
 
vim 执行shell命令
1、:!cmd   或者2、 回到shell环境下 :sh  执行shell命令,   ctrl + d 返回


以下依赖于ctags支持, 安装配置google:
将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相) 
http://blog.csdn.net/bokee/article/details/6633193

使用时或者源码有改变时在源码顶层目录:ctags -R
gd转到当前局部变量的定义
ctrl + ]跳转到函数定义的地方
ctrl + t跳转到之前的地方
ctrl +o返回源文件
:o ..打开目录结构, 按enter进入

错误配置处理:    E138 can't write viminfo file
Fix your home directory owner and permissions
sudo chown -R zm.zm /home/zm
sudo chmod u+rw -R /home/zm
And finally check that no old temp files were left behind (e.g. ~/.viminf*) and that you can write in the directory of the .viminfo file.
if you has old temp, rm -rf  ~/.viminf*.tmp

vim ^M:
:/bin/bash^M: bad interpreter,从这个提示来看是/bin/bash后面多了一个^M,我也打开看过,没见到^M,后来仔细一想,原来问题可能出现在文件格式上,
vim test.sh    :set ff?    fileformat=dos
提示,显示这个文件的格式是dos的,问题原来就是出来这边,下面就简单了,只要:set fileformat=unix 
如果文件为unix格式: 可使用sed -e ‘s/^M/\n/g’main.cpp去掉文件^M
(注意:这里的“^M”输入要使用“CTRL-V CTRL-M”生成,而不是直接键入“^M)

如不成功, 可再试为:
使用vi的替换功能。启动vi,进入命令模式,输入以下命令:
:%s/^M$//g # 去掉行尾的^M。
:%s/^M//g # 去掉所有的^M。
:%s/^M/[ctrl-v]+[enter]/g # 将^M替换成回车。
:%s/^M/\r/g # 将^M替换成回车。

再不行, 可以使用linux命令:    dos2unix myfile.txt

 

查看vim 启动时加载的脚本, vim 打开文件, 命令模式下

:scriptnames


vim 加密文件

vim -x 文件 设置文件密码

以后打开这个文件都要输入密码


清除密码:

密码验证后 , 命令模式下 set key=   保存



taglist 函数列表切换:

CTRL+WW(2次W),可以切换到函数列表区,移动到函数名称行后按ENTER即可查看函数代码。


vim -d file1 file2 比较file1 与file2 文件差异