vim

复制: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 返回


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  - / 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 文件差异


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值